1

我剛剛構建了一個windows服務,它在我的開發機器上調試/發佈時像夢一樣運行。我已按照演練中的步驟創建了一個安裝項目,例如this blog post,this msdn walkthroughthis generous answer to a rather lazy SO questionWindows服務安裝項目不復制引用的dll

我的項目安裝在目標機器上很好,但是當我運行它時,計時器會打勾但沒有任何反應。當調查這個時,我注意到安裝程序似乎沒有複製過幾個dll,它在我的應用程序中引用。我可以在應用程序的bin文件夾中看到它們,我可以看到它們在我的安裝項目中的Primary output from MyProject (Active)節點的dependencies陣列中列出。但他們不在應用程序的Program Files文件夾中.exe位於目標計算機上。

任何人都可以建議一些步驟,我可以通過確保我正確地做到這一點?

回答

1

事實證明,您需要explicitly add referenced files to the setup project(右鍵單擊安裝項目,然後選擇Add>File...並瀏覽/選擇適用的文件)。

不過,我還是想知道:

  • 這怎麼可能是自動的,特別是當包存在於使用的NuGet
  • 無論我錯過造成我需要一個步驟的應用手動做。
  • 我是否錯過了某些東西,例如與安裝/提交/回滾/卸載安裝項目中需要的自定義操作有關的信息