![](/img/trans.png)
[英]Why does an x86 WiX installer on Windows Vista x64 not write keys to Wow6432Node in the registry?
[英]Writing in the x64 part of the registry with an otherwise x86 mai pack created in Wix
我正在使用Wix為產品編寫安裝包,整個過程是在x86中,但現在我需要在注冊表的x64部分添加一個密鑰。 我環顧四周,發現這個堆棧的答案我認為可以解決我的問題。 但我收到ICE80錯誤(不是警告),它告訴我我基本上需要將我的Package Platform屬性更改為x64。
但我寧願避免這種情況,因為正如我所提到的那樣,只有一個注冊表項需要在x64中。
所以我的問題是:是否有另一種解決ICE80錯誤的方法,或者我需要構建兩個msi包,一個用於x86,另一個用於x64。
以下是我的一些代碼,以進一步說明我正在嘗試做的事情:
<Component Id="Foo" Guid="{GUID}" Win64="yes">
<RegistryKey Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles">
<RegistryValue Type="integer" Name="Hello" Value="1"/>
</RegistryKey>
<Condition><![CDATA[VersionNT64]]></Condition>
</Component>
<Component Id="Bar" Guid="{GUID}">
<RegistryKey Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles">
<RegistryValue Type="integer" Name="Hello" Value="1"/>
</RegistryKey>
</Component>
任何幫助表示贊賞!
Windows Installer不支持寫入64位注冊表(或文件系統)的32位程序包。 64位軟件包可以寫入32位和64位部分。
也許它當時沒有用。 我正在使用Wix v10和我的x86 WIX項目,並添加Win64="yes"
最初生成ICE80錯誤。 一旦我壓制了該警告(在Visual Studio中,“工具設置” - >“禁止特定驗證:”列),我就不再收到該錯誤。 當我在Windows 2012 R2上運行x86安裝程序時,會創建這些x64 reg密鑰。
將Win64="yes"
添加到要放入注冊表中64位的注冊表項中。:)我沒有將條件包含在我自己的內容中,它只與Win64屬性完美配合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.