我試圖僅在Windows啓動時爲當前用戶啓動一些應用程序。在Windows上運行C#應用程序啓動
我可以用下面的做到這一點:
RegistryKey oKey = Registry.CurrentUser.OpenSubKey("Software", true);
oKey = oKey.OpenSubKey("Microsoft", true);
oKey = oKey.OpenSubKey("Windows", true);
oKey = oKey.OpenSubKey("CurrentVersion", true);
oKey = oKey.OpenSubKey("Run", true);
oKey.SetValue("Application 1", "C:\\path\\to\\ap1.exe");
oKey.SetValue("Application 2", "C:\\path\\to\\ap2.exe");
但我試圖運行這是一個Visual Studio安裝項目的一部分。我已經添加了我的自定義動作,程序開始像它應該,並且安裝程序在XP中運行良好。
在Windows 7中,安裝程序會獲得提升的權限,並執行所有操作,但將條目插入到當前用戶的註冊表中。然而,它作爲一個獨立的應用程序(安裝程序項目之外)運行時會插入註冊表項,並且不會獲得提升的權限。
我唯一能想到的是,使用提升的權限,它試圖將條目插入到管理員帳戶而不是當前用戶?或者有什麼我失蹤?還有另外一種方法可以實現我的目標嗎?
你能給我更多的信息嗎?或請詳細說明你的目標? – VIRA
如果你得到'Registry.LocalMachine.OpenSubKey()'會怎麼樣? – wasyl
您不應該需要任何自定義操作才能執行此操作。 –