2011-04-23 34 views
2

我開發了一個將在SYSTEM用戶下運行的Windows服務。所以我想讓一個安裝程序來配置這個服務。安裝程序將在Windows註冊表中創建條目。寫入/讀取Windows註冊表 - Windows服務

當Windows服務啓動它會讀取這些條目,安裝程序生成。

該條目將指向一個配置文件,以及在哪裏存儲服務的日誌文件。 哪個鍵我需要寫/讀來完成這項工作?我很擔心權限。

它是在CURRENT_USER關鍵?

我開發德爾福Windows服務。

謝謝,

+0

如果您正在開發服務,我認爲使用LOCAL_MACHINE鍵是安全的。無論如何,您的服務都需要管理員權限才能進行安裝,因此您可以在安裝程序中包含註冊表的初始值。 – yms 2011-04-25 17:16:17

+2

@DD:不,不要將您的服務配置存儲在HKEY_CURRENT_USER中。您的服務在SYSTEM帳戶中運行,但用戶將在其自己的帳戶中運行安裝程序,因此HKEY_CURRENT_USER將映射到註冊表的不同部分。你必須使用HKEY_LOCAL_MACHINE,或根本不使用註冊表。 – 2011-04-25 19:40:26

回答

1

Remy的評論是正確的。

SYSTEM帳戶沒有自己的HKEY_CURRENT_USER註冊表配置單元。

你應該存儲配置信息HKEY_LOCAL_MACHINE,或者在你的AppData目錄自己的自定義XML配置文件。

附註:我相信在沒有加載配置文件配置單元時嘗試使用HKEY_CURRENT_USER會得到您HKEY_USERS/.DEFAULT;這不是你想要使用的東西。

相關問題