2014-02-19 51 views
0

我目前正在嘗試使用C#和.NET創建一個簡單的Windows服務。我處於服務完成它應該做的事情的地步,但是使用了大量的硬編碼值。我想將這些值移到單獨的配置區域 - 可能是Windows註冊表。我想爲我的服務提供一種默認配置 - 如果設置/註冊表項不存在,請創建一組默認值並警告用戶可能需要調整默認值。不過,我不確定對執行此操作:自定義服務的註冊表項 - 何時創建/刪除它們?

  • 我可以從ServiceBase後代的構造函數創建註冊表項。

  • 我可以在遵循本教程創建的安裝程序(子類System.Configuration.Install.Installer)中創建條目。

我不確定是否有其他選擇,這些選項的優缺點以及是否有「正確」的方法來執行此操作。我甚至不太確定是否以及應該在哪裏提供代碼來自動刪除註冊表項。

回答

1

如果您使用的是註冊表,您應該讓安裝程序創建默認的鍵/值對,並讓卸載程序將其刪除。

另一種方法是使用應用程序配置文件,這是比較簡單的,然後處理註冊表,看到這個帖子:Simplest way to have a configuration file in a Windows Forms C# Application

+0

我需要我的服務是通過誰安裝它,而不是在設計/編譯管理員配置時間。我不確定應用程序配置文件是否可行...? – vwegert

+0

當然,你可以用配置文件來做 – Matt