Всичко, което трябва да направите, е да създадете директория с данни:
initdb -D %PROGRAMDATA%\MyApp\data
след това инсталирайте своя PostgreSQL конфигурационен файл и pg_hba.conf или направете всички необходими редакции на файловете, генерирани автоматично от initdb в %PROGRAMDATA%\MyApp\data\postgresql.conf и %PROGRAMDATA%\MyApp\data\pg_hba.conf .
След това:
pg_ctl register -D %PROGRAMDATA%\MyApp\data -S auto -N postgres-MyApp -U NETWORKSERVICE
net start postgres-MyApp
Моля не използвайте порта по подразбиране 5432. Изпълнявайте на порт, който не е по подразбиране, който няма да е в конфликт със съществуваща или бъдеща инсталация на PostgreSQL. Също така, не използвайте "стандартните" имена на услуги като postgresql-9.2 .
(NSIS може да предложи команда за стартиране на услуга, вместо да използва net start . Ако е така, използвайте съответната команда NSIS).
Имайте предвид, че %PROGRAMDATA% е дефиниран само за Windows Vista и по-нови версии (където сочи към %SYSTEMDRIVE%\ProgramData по подразбиране). Можете да използвате %ALLUSERSPROFILE% на Windows XP, но наистина, на кого му пука за XP сега?
Лично аз предлагам да използвате инсталатори на MSI с WiX.