我有一個基於WiX的MSI,可以安裝服務和一些快捷方式(以及許多其他不支持的文件)。MSI安裝程序啓動服務啓動時的自動修復
按照WiX docs中所述,使用HKCU下的註冊表項作爲密鑰文件創建快捷方式。這是所有用戶的安裝,但要通過ICE38,此註冊表項必須位於當前用戶下。
服務啓動時(它在SYSTEM帳戶下運行)會注意到該註冊表項無效(至少是該用戶)並再次運行安裝以「修復」。
在事件日誌中,我得到MsiInstaller事件1001和1004,顯示「The resource'HKEY_CURRENT_USER \ SOFTWARE \ MyInstaller \ Foo'不存在。」這並不奇怪,因爲SYSTEM用戶不會有這個鍵。
我打開了系統範圍的MSI日誌記錄,並且自動修復在C:\ Windows \ Temp文件夾中創建了它的日誌文件,而不是特定用戶的TEMP文件夾,這似乎暗示當前用戶是SYSTEM(加上日誌文件顯示「呼叫過程」是我的服務)。
有什麼我可以做的,禁用自動修復功能?我做錯了什麼或違反了一些MSI規則?任何關於下一步看什麼的提示?
你不能將快捷方式添加到ALLUSER的開始菜單在文件系統中呢? – 2010-04-07 22:49:29