Я написал сценарий установки NSIS для postgresql 9.1. Установщик работает правильно, но после перезагрузки служба не запускается (сразу после установки, база данных запускалась должным образом)Как заставить NSIS создать файл в% APPDATA% другого пользователя?
Я думаю, это связано с тем, что пользователь службы postgres не имеет файла pgpass.conf в своем% APPDATA %. Насколько я понимаю, мой установочный скрипт, файл pgpass.conf добавляется к% APPDATA% пользователя, запускающего установщик (учетная запись администратора в моем случае). Это не поможет.
Я попытался следующие, чтобы добавить pgpass.conf всем пользователям, Bt я предполагаю, что это добавляет его к виду шаблона, а не к% APPDATA% каждого пользователя:
SetShellVarContext "all"
SetOutPath "$APPDATA\postgresql"
File config\pgpass.conf
SetShellVarContext "current"
SetOutPath "$APPDATA\postgresql"
File config\pgpass.conf
Я не мог Найти макрокоманду для c:/Users/postgres в документации. Это может быть способ его достижения. Но с WindowsXP, 7, мне жаль, что мне не нужен переносимый способ обращения к каталогу/Users.
Я бы хотел использовать что-то вроде SetShellVarContext «postgres», а затем NSIS написать файл pgpass.conf в c: \ Users \ postgres \ AppData \ postgresql.
Есть ли способ сделать это?
Thnk you!
'pgpass.conf' - это клиентская вещь, этот файл не нужен для запуска службы. Посмотрите журнал событий Windows и/или файлы журнала postgres для сообщений об ошибках. –