我們使用wix 3.9.1208.0來生成MSI。以下代碼預先將值設置爲Upperfilters
註冊表項。安裝後發現MSI Registry註冊前額未更新
<RegistryKey Id="UpperFilters" Root="HKLM" Key="xxxxxxxxx" Action="create"> <RegistryValue Name="UpperFilters" Type="multiString" Action="prepend" Value="xxxxx"/> </RegistryKey>
,價值不預先考慮到「的UpperFilters」註冊表項,並沒有發現在MSI日誌中的任何錯誤。這個問題只發生過一次。
MSI日誌:
MSI(S)(℃:28)[10:38:08:835]:執行運算:ComponentRegister(COMPONENTID = XXXX,的keyPath = 02:XXXXX,狀態= 3 (Disk:1,SharedDllRefCount = 0,BinaryType = 0) MSI(0C:28)[10:38:24:455]:執行op:RegOpenKey(Root = -2147483646,Key = xxxxx ,, BinaryType = 0 ,,) MSI(S)(℃:28)[10:38:24:456]:執行運算:RegAddValue(名稱=的UpperFilters,值= XXXXX [〜],)
是MSI當無法更新註冊表時返回任何失敗?
是否所有註冊表失敗都記錄在MSI日誌中?
我的情況是什麼問題?
在此先感謝。
發佈前隱藏組件ID。它是一個64位計算機,並在'HKLM \ System \ CurrentControlSet \ Control \ Class \ {4d36e967-e325-11ce-bfc1-08002be10318}'註冊表配置單元之前添加了'UpperFilters'註冊表項。 'UpperFilters'註冊表項在前置前有'PartMgr'值。 – Ninja
這與系統無關。問題是安裝和包含註冊表的組件的體系結構是什麼。如果密鑰位於WoW6432中,則32位MSI不會更新本機64位註冊表。 – PhilDW