2010-11-10 37 views
1

我剛剛創建了一個新的Windows服務,並且遇到安裝程序問題。VS 2008 Windows服務安裝程序不起作用

我創建通過本教程中的安裝程序:http://www.sarin.mobi/2008/08/c-windows-service-visual-studio-2008/

無論如何,當我運行由VS生成的.msi,該項目的可執行文件安裝在那裏我希望它是。但是,該服務不會出現在Windows服務中。

當我使用VS命令行工具和installutil時,一切正常。

我已經創建了過去的服務,因此我將ProjectInstaller文件和安裝程序配置與過去的項目進行了比較,並且沒有發現顯着差異。

有什麼建議嗎?

+0

我不認爲本教程是正確的,通用安裝程序將只複製文件,您仍然需要在複製文件後運行installutil。 – CodingGorilla 2010-11-10 20:50:57

+0

然後我想我的問題是,我如何告訴安裝程序運行installutil作爲過程的一部分? – 2010-11-10 21:13:13

+0

以前做過這件事,但已經有一段時間了......讓我看看我能不能拿出一些東西 – 2010-11-10 21:35:52

回答

4

要安裝服務,您需要將ServiceInstallerServiceProcessInstaller添加到服務項目中,然後將自定義操作添加到安裝程序以運行它們。我很確定這是您錯過的自定義操作部分。

  1. 創建一個新的Windows服務項目上.svc文件
  2. 雙擊打開設計師。
  3. 右鍵單擊設計圖面並選擇「創建安裝程序」。這將創建每個之一。
  4. 設置屬性...關鍵道具是:
    • 的ServiceInstaller:名稱和啓動類型
    • ServiceProcessInstaller:帳戶下運行。
  5. 創建安裝項目
  6. 上安裝項目右鍵單擊並選擇添加 - >項目輸出
  7. 選擇從下拉列表中的服務項目,並選擇「主輸出」
  8. 右鍵單擊安裝項目並選擇查看 - >自定義操作
  9. 右鍵單擊出現的自定義操作樹並選擇添加自定義操作
  10. 選擇'應用程序文件夾'
  11. 選擇'服務的主要輸出'
  12. 單擊'確定'。四個動作將被添加,一個在每個安裝操作

現在,當你生成安裝程序並執行它,你在步驟3中創建的安裝程序將被執行,將你的服務和設置的所有屬性。

HTH,
詹姆斯

+0

謝謝先生。我省略了步驟8-12。 – 2010-11-11 14:54:55

+0

很高興幫助,感謝您的投票:) – 2010-11-12 04:18:31

0

爲使用Visual Studio 2008中的C#創建一個Windows服務步驟一步的說明可以發現here。這包括使用InstallUtil.exe實用程序添加安裝服務所需的安裝程序。

如果要通過命令行安裝自己的服務,請參閱分步說明here