這是對question1和question2的更新。在意識到postgres可能與已經初始化的數據庫捆綁在一起後,甚至在模擬數據的內部(yay)之後,我修改了我的NSIS安裝程序,將postgres複製粘貼到我的應用程序的安裝文件夾中,然後創建並啓動它監聽非標準端口的服務。無法從Program Files文件夾啓動postgres作爲服務
問題是,當應用程序安裝在Program Files
文件夾中時,服務已創建,但無法啓動。無論是從命令行或從服務的Windows對話框出現以下錯誤:
The My App Postgre Server service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.
如果postgre安裝系統文件夾,例如外D:\My App\pgsql\
一切工作正常 - 服務啓動,數據庫可通過我的應用程序訪問。
這似乎是一個權限問題,但我無法繞過它。
您是否像Craig Ringer建議的那樣將數據目錄切換到%PROGRAMDATA%\下的某處?日誌文件在哪裏,如果存在,它說什麼?總之,我懷疑它仍然試圖在其安裝目錄中寫入,這是新版Windows中的%PROGRAMFILES%的問題。 – fvu
將文件夾更改爲%PROGRAMDATA%會導致相同的錯誤。即使我手動複製 - 僅粘貼pgsql文件夾並手動嘗試創建並作爲服務啓動,我實際上也會遇到此錯誤。 – mandarin