我正在嘗試修復使用Visual Studio 2005安裝項目的現有應用程序。VS 2005安裝 - HKCU
,我們要求它在有限的用戶帳戶XP的工作,我們的應用程序是用C#爲.NET 2.0。
它在安裝過程中寫入鍵進入HKCU,但跳過了選擇UI一步「安裝的每個人」對應的是「只有我」。所以它默認爲每個人都安裝。
問題是,您在管理員帳戶上安裝,然後切換到受限帳戶。這使得它執行失敗的修復安裝。如果我轉到任何其他管理員帳戶,它都可以正常工作。
我的問題是,它在哪兒把這些鍵HKCU的受限帳戶試圖讀/寫?
是否有HKEY_USERS一個神奇的地方,適用於「每個人」?我不明白它是如何工作的,從管理員用戶到另一個管理員用戶。爲了測試這個理論,我在有限的用戶手動輸入了HKCU中的密鑰,並且它仍然試圖修復。
如果我知道這個「所有人」密鑰在哪裏,我只能通過自定義操作授予對所有用戶的完全訪問權限,因此受限帳戶不會強制進行修復安裝。
我們自己找到了這個解決方案。我們將首先爲每個用戶從文件中提取設置並將它們放入HKCU。如果它是一個新的應用程序,我們將完全避免使用註冊表,只使用vista-uac-safe應用程序數據文件夾中的文件。 – jonathanpeppers 2009-11-12 14:42:59