postgresql 9.1 用の NSIS インストーラー スクリプトを作成しました。インストーラーは正常に動作しますが、再起動後、サービスが開始されません (インストール直後、データベースは正常に開始されます)。
これは、postgres サービス ユーザーの %APPDATA% に pgpass.conf ファイルがないためだと思います。私のインストール スクリプトを理解する限り、pgpass.conf ファイルは、インストーラーを実行しているユーザー (私の場合は管理者アカウント) の %APPDATA% に追加されます。これは役に立ちません。
すべてのユーザーに pgpass.conf を追加するために、次のことを試しましたが、これにより、各ユーザーの %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 に書き込むようにできればと思います。
これを行う方法はありますか?
ありがとう !