我們有一個CustomAction,它設置了一些註冊表鍵HKEY LOCAL_MACHINE。這在UAC的Vista上不起作用,直到我們將操作「推遲」。安裝程序在其他情況下工作。有人知道爲什麼爲什麼設置reg密鑰的MSI CustomAction需要使用UAC在Vista上運行?
我們使用WIX創建安裝程序。
我們有一個CustomAction,它設置了一些註冊表鍵HKEY LOCAL_MACHINE。這在UAC的Vista上不起作用,直到我們將操作「推遲」。安裝程序在其他情況下工作。有人知道爲什麼爲什麼設置reg密鑰的MSI CustomAction需要使用UAC在Vista上運行?
我們使用WIX創建安裝程序。
在InstallExecuteSequence中遇到您的自定義操作時,它正在立即運行;而不是在執行實際的安裝腳本時。這會導致您的自定義操作使用用戶權限執行,而不是系統提升的權限。本系列博文將詳細解釋發生了什麼事情,http://blogs.msdn.com/rflaming/archive/2006/09/23/768146.aspx。您不應該有自定義操作影響不作爲延遲自定義操作運行的機器狀態。
+1蘭斯。爲了那句另一種方式,給一些更多的信息
有在MSI過程
再後來
一些進一步的思考
有一個推遲操作可以在
NoImpersonate運行2種模式 - 也稱爲具有完全的權限在您的計算機上
冒充 NT AUTHORITY \ SYSTEM - 誰開始安裝。
通過UAC啓用冒充有一個踢球。 You will only have the standard user token and no admin rights,即使用戶實際上是管理員 - 如果可能的話,請保留至NoImpersonate否則您的自定義操作將無法執行任何操作。