2011-01-27 16 views
2

私はProgram Filesの下のフォルダにファイルをコピーする簡単なインストーラをビルドします。コンポーネントをWin64およびDirectoryとして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> 

答えて

1

で取得します。私はパッケージプラットフォームを「x64」ではなく「ia64」と誤って定義しました。問題が解決しました!

+2

あなたの答えは私が笑顔になりました:) –

関連する問題