VS2010 内の WiX インストーラー プロジェクトでマージ モジュールを使用しようとすると、light.exe から次の警告が表示されて、非常にイライラしています。
ICE80: This 64BitComponent F_AdaptersInGac.5AE08CC6_EB8E_4F10_AB7B_CEFD0CB0F832
uses 32BitDirectory GAC.5AE08CC6_EB8E_4F10_AB7B_CEFD0CB0F832
(マージ モジュール内のファイルごとに繰り返されます)。
マージ モジュールと製品 WiX ファイルの両方が、同じ VS2010 ソリューションの一部です。マージ モジュールと製品の両方に、<Package>
Platform="x64" を指定する要素が含まれています。マージ モジュール .wxs ファイルのフラグメントは次のようになります。
<Package Id="{5AE08CC6-EB8E-4F10-AB7B-CEFD0CB0F832}" InstallerVersion="200" Languages="1033" Manufacturer="Yoyodyne Propulsion Systems" Platform="x64" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<!-- Assemblies that go in the GAC -->
<Directory Id="GAC" SourceName="GAC">
<Component Id="C_AdaptersInGac" Guid="{C1C7D6F8-197D-874E-79B9-EBFEBDDCB65A}" Win64="yes">
<File Id="F_AdaptersInGac" Name="ERPLink.Adapters.SharePoint.dll" KeyPath="yes" Assembly=".net" Source="..\Internal\Adapters\Release\Contoso.Adapters.dll" />
</Component>
</Directory>
</Directory>
</Directory>
コンポーネント要素をProgramFiles64Folder
ディレクトリ内に配置し、プラットフォームを「x64」としてマークしたため、このエラーが発生するのはなぜですか? WiX パッケージ ファイルのディレクトリの 64 ビット性を制御する他の場所は?