帮助:WiX ProgramFiles64Folder 的行为类似于 ProgramFilesFolder (x86)
Posted
技术标签:
【中文标题】帮助:WiX ProgramFiles64Folder 的行为类似于 ProgramFilesFolder (x86)【英文标题】:HELP: WiX ProgramFiles64Folder behaves like ProgramFilesFolder (x86) 【发布时间】:2011-01-27 17:12:45 【问题描述】:我构建了一个简单的安装程序,它将文件复制到 Program Files 下的文件夹中。尽管将 Component 定义为 Win64 并将 Directory 定义为 ProgramFiles64Folder,但 MSI 在运行时会更改安装路径。我使用详细日志模式运行它并收到以下消息
WIN64DUALFOLDERS: 'C:\Program Files (x86)\' will substitute 17 characters in 'C:\Program Files\' folder path. (mask argument = 0, the folder pair's iSwapAttrib member = 0).
下面是我的 sn-p(使用注册表填充 INSTALLDIR)
<Property Id="INSTALLDIR">
<RegistrySearch
Id="AsteaRegistryKeys"
Type="raw"
Root="HKLM"
Key="Software\MyCompany\1.0\MyApplication"
Name="InstallDir" />
</Property>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="MyCompany">
<Directory Id="INSTALLDIR">
<Component
Id="MainExecutable"
Guid="1537B67F-6D49-4bbc-89DC-20A1FB7E07E0" Win64="yes">
<File
Id="EXE"
Name="MyApp.exe"
DiskId="1"
Source="Source_Bin\MyApp.exe"
KeyPath="no" />
</Directory>
</Directory>
</Directory>
</Directory>
【问题讨论】:
【参考方案1】:这是椅子和键盘之间的问题。我错误地将包平台定义为“ia64”而不是“x64”。问题解决了!
【讨论】:
以上是关于帮助:WiX ProgramFiles64Folder 的行为类似于 ProgramFilesFolder (x86)的主要内容,如果未能解决你的问题,请参考以下文章
ProgramFiles64Folder 属性修改为 C:\