Sie müssen lediglich ein Datenverzeichnis erstellen:
initdb -D %PROGRAMDATA%\MyApp\data
Installieren Sie dann Ihre PostgreSQL-Konfigurationsdatei und pg_hba.conf
oder nehmen Sie erforderliche Änderungen an den automatisch von initdb
generierten Dateien vor unter %PROGRAMDATA%\MyApp\data\postgresql.conf
und %PROGRAMDATA%\MyApp\data\pg_hba.conf
.
Dann:
pg_ctl register -D %PROGRAMDATA%\MyApp\data -S auto -N postgres-MyApp -U NETWORKSERVICE
net start postgres-MyApp
Bitte Verwenden Sie nicht den Standardport 5432. Führen Sie es auf einem nicht standardmäßigen Port aus, der nicht mit einer vorhandenen oder zukünftigen PostgreSQL-Installation in Konflikt steht. Verwenden Sie auch nicht die "Standard"-Dienstnamen wie postgresql-9.2
.
(NSIS bietet möglicherweise einen Befehl zum Starten eines Dienstes an, anstatt net start
zu verwenden . Verwenden Sie in diesem Fall den entsprechenden NSIS-Befehl).
Beachten Sie, dass %PROGRAMDATA%
ist nur für Windows Vista und höher definiert (wobei es auf %SYSTEMDRIVE%\ProgramData
zeigt standardmäßig). Sie können %ALLUSERSPROFILE%
verwenden auf Windows XP, aber wirklich, wen interessiert XP jetzt?
Persönlich empfehle ich die Verwendung von MSI-Installern mit WiX.