2
我構建了一個簡單的安裝程序,將文件複製到Program Files下的文件夾中。儘管將組件定義爲Win64並將目錄定義爲ProgramFiles64Folder,但MSI在運行時會更改安裝路徑。我跑它使用詳細的日誌模式,我得到以下信息幫助:WiX ProgramFiles64Folder的行爲與ProgramFilesFolder(x86)相似
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).
下面是我的代碼段(使用註冊表來填充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>
你的回答讓我微笑:) – 2011-01-28 09:53:27