2013-04-03 31 views
2

我有一個仍然使用註冊表的.NET應用程序。我現在想在沒有用戶爲管理員的情況下進行更新,並且不更改組策略對象。在更新過程中,我需要訪問註冊表。應用程序的初始安裝可以由管理員完成。更新沒有管理員權限的軟件並訪問註冊表

有沒有可能實現這個目標?我可以爲此使用證書嗎?

+0

我想你需要訪問註冊表的HKLM部分,對嗎? – 2013-04-03 06:42:09

+0

如果可以的話,是的。 – slfan

回答

1

它可能爲時已晚,但如果您可以執行最後一次管理更新,則可以通過RegistryKey.GetAccessControl設置註冊表項的權限,設置寫入密鑰的權限,然後使用RegistryKey.SetAccessControl保存設置(這將需要管理員權限你第一次嘗試做)

+0

好點,那可能工作。我會試一試 – slfan

1

鑑於寫入註冊表HKLM的要求,答案是否定的....

...除非能夠推動由域管理員進行更新。您將需要以管理員可以推送的格式打包您的安裝程序(我猜測是.msi或.msp)。我不認爲這在技術上是簽署你的msi的要求。

您也可以更改爲每個用戶安裝(la Chrome),但是如果我正確理解問題,則爲時已晚。

在部署方面,我並不是真正的專家,但寫入HKLM(或Program Files文件夾)需要管理員權限,這是肯定的。一個令人討厭的技巧就是安裝您自己的更新程序,它以管理員身份運行,並代表用戶進行更新。但是,不要,這是一個安全事故,等待發生。

相關問題