Всичко, което трябва да направите, е да създадете директория с данни:
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.