Tất cả những gì bạn cần làm là tạo một tập dữ liệu:
initdb -D %PROGRAMDATA%\MyApp\data
sau đó cài đặt tệp cấu hình PostgreSQL của bạn và pg_hba.conf
hoặc thực hiện bất kỳ chỉnh sửa cần thiết nào đối với các tệp được tạo tự động bởi initdb
tại %PROGRAMDATA%\MyApp\data\postgresql.conf
và %PROGRAMDATA%\MyApp\data\pg_hba.conf
.
Sau đó:
pg_ctl register -D %PROGRAMDATA%\MyApp\data -S auto -N postgres-MyApp -U NETWORKSERVICE
net start postgres-MyApp
Vui lòng không sử dụng cổng mặc định 5432. Chạy trên cổng không phải mặc định sẽ không xung đột với bất kỳ cài đặt PostgreSQL hiện có hoặc trong tương lai. Ngoài ra, không sử dụng các tên dịch vụ "chuẩn" như postgresql-9.2
.
(NSIS có thể đưa ra lệnh để bắt đầu một dịch vụ, thay vì sử dụng net start
. Nếu có, hãy sử dụng lệnh NSIS thích hợp).
Lưu ý rằng %PROGRAMDATA%
chỉ được xác định cho Windows Vista trở lên (trong đó nó trỏ đến %SYSTEMDRIVE%\ProgramData
theo mặc định). Bạn có thể sử dụng %ALLUSERSPROFILE%
trên Windows XP, nhưng thực sự, ai quan tâm đến XP bây giờ?
Cá nhân tôi khuyên bạn nên sử dụng trình cài đặt MSI với WiX.