我正在研究一個C#項目,我對創建註冊表項非常困惑。以編程方式創建註冊表項
我有一個Wix安裝程序。和設置文件,我打電話給一個自定義操作來創建子密鑰(我嘗試了wix功能,但它沒有工作)。
我的自定義操作是:安裝
RegistryKey Nkey = Registry.LocalMachine;
RegistryKey valkey = Nkey.OpenSubKey(Manager.REGKEY, true); //=> REGKEY = "Software\\MyService"
if (valkey == null)
{
valkey = Nkey.CreateSubKey(GestionCertificats.REGKEY);
}
valkey.Close();
Registry.LocalMachine.CreateSubKey(@"SYSTEM\CurrentControlSet\services\eventlog\Application\MyService");
後,我可以看到第二個關鍵,但沒有第一個。我不確定要正確理解按鍵的操作。我正在研究Windows 7 64位,我正在編譯「任何CPU」,但我的應用程序似乎在x86中。
我已嘗試調試該操作。值valkey
不爲空,但我沒有看到註冊表中的密鑰。通過強制CreateSubKey
我還沒有鑰匙。
我不知道該怎麼做,我需要幫助。
您需要管理員權限才能寫入LocalMachine。你是否以正確的權限運行安裝程序? – ChrisF
是的,我有窗戶要求授權。我有另一個自定義操作用於寫在一個正在工作的管理文件夾中。 –
我認爲你應該在路徑中使用\\而不僅僅是\? –