Het enige dat u hoeft te doen, is een gegevensmap maken:
initdb -D %PROGRAMDATA%\MyApp\data
installeer vervolgens uw PostgreSQL-configuratiebestand en pg_hba.conf of breng de benodigde wijzigingen aan in de bestanden die automatisch worden gegenereerd door initdb op %PROGRAMDATA%\MyApp\data\postgresql.conf en %PROGRAMDATA%\MyApp\data\pg_hba.conf .
Dan:
pg_ctl register -D %PROGRAMDATA%\MyApp\data -S auto -N postgres-MyApp -U NETWORKSERVICE
net start postgres-MyApp
Alsjeblieft gebruik niet de standaardpoort 5432. Draai op een niet-standaardpoort die geen conflict oplevert met bestaande of toekomstige PostgreSQL-installaties. Gebruik ook niet de "standaard" servicenamen zoals postgresql-9.2 .
(NSIS kan een commando aanbieden om een service te starten, in plaats van net start te gebruiken . Als dit het geval is, gebruik dan het juiste NSIS-commando).
Merk op dat %PROGRAMDATA% is alleen gedefinieerd voor Windows Vista en hoger (waar het verwijst naar %SYSTEMDRIVE%\ProgramData standaard). U kunt %ALLUSERSPROFILE% . gebruiken op Windows XP, maar echt, wie geeft er nu om XP?
Persoonlijk raad ik aan om MSI-installatieprogramma's met WiX te gebruiken.