1

x86 用にコンパイルされた Burn バンドルにパッケージとして含まれる WiX msi があります。msi 内に次のコードがあります。

  <?if $(var.Platform) = x64 ?>
  <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  <?else ?>
  <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  <?endif?>

  <!-- directory structures -->
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="$(var.PlatformProgramFilesFolder)">
        <Directory Id="INSTALLFOLDER" Name="MyApp">
          <Directory Id="MyFolder" Name="MyFolder" />
        </Directory>
      </Directory>
    </Directory>
  </Fragment>

  <Fragment>
    <ComponentGroup Id="MyComponents" Directory="MyFolder">
      <Component Id="MyComponent">
        <File Id="MyFile" Source="file.dat" Vital="yes" KeyPath="yes"/>
      </Component>
    </ComponentGroup>
  </Fragment>

Program Filesこれは64ビットシステムのフォルダーにインストールされると思いますが、 Program Files (x86). これは、バンドルが 32 ビットで実行されているためですか? その場合、MSI で実際の OS アーキテクチャをテストするにはどうすればよいですか?

4

1 に答える 1

1

ファイル システムの 64 ビット部分に書き込むには、64 ビット パッケージが必要です。これは MSI の制限です。

于 2013-10-11T16:11:47.787 に答える