[英]How can I insert Intel64 or x64 in Template Summary in an MSI project of Wix Toolkit?
我正在編寫一個簡單的代碼來在Program Files
夾中安裝一個文件,而不是Program Files (x86)
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="INSTALLFOLDER" Name="Del">
<Directory Id="MyFolder" Name="MyFolder"/>
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<Component Id="Component1" Directory="MyFolder" Win64="yes">
<File Id="FirstFile.txt"/>
</Component>
</Fragment>
基本上它應該在Program Files
創建一個文件夾del
並在其中創建文件夾MyFolder
,其中將包含FirstFile.txt
如果我為Id = ProgramFilesFolder
做它,它通過安裝在Program Files (x86)
將其更改為ProgramFiles64Folder
會出現以下錯誤
ICE80: This package contains 64 bit component 'Component1' but the Template Summary Property does not contain Intel64 or x64.
我的問題是從哪里或如何更改模板摘要屬性?
提前致謝
在candle.exe 命令行或.wixproj MSBuild 項目中的InstallerPlatform 屬性中指定-arch 開關。 當您指定 x64 或 intel64 時,Candle 會自動將正在編譯的文件中的包和組件設置為 64 位。
Arnson 的方法:請查看Bob Arnson的答案。 以下是他博客的摘錄: “通常希望從同一個 WiX 源生成 32 位和 64 位包,因此常用方法是將 @Win64 屬性值設為預處理器變量。” 因此,他使用編譯器開關來編譯來自同一源的 x32 或 x64 位版本的 MSI 文件。
不:您不能同時支持具有一個 MSI 的架構。 請參閱Heath Stewart 的這篇博客: 不同的處理器架構需要不同的包。
“硬編碼”方式:這是您可以嘗試的舊示例: https : //github.com/glytzhkof/WiXBitnessX64
部分摘錄:
包裝元素:
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="x64" />
組件元素:
<Component Feature="ProductFeature" Win64="yes">
<File Source="$(env.SystemRoot)\notepad.exe" />
</Component>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.