1
我越來越從light.exe試圖VS2010中使用合併模塊在我的WiX安裝項目時,我發現了以下警告很委屈:這是什麼使MSI目錄「32位」或「64位」?
ICE80: This 64BitComponent F_AdaptersInGac.5AE08CC6_EB8E_4F10_AB7B_CEFD0CB0F832
uses 32BitDirectory GAC.5AE08CC6_EB8E_4F10_AB7B_CEFD0CB0F832
(重複在每個文件合併模塊)。
合併模塊和產品WiX文件都是同一個VS2010解決方案的一部分。合併模塊和產品都包含指定Platform =「x64」的<Package>
元素。在合併模塊.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
目錄裏面,我也標誌着平臺「64」,爲什麼我得到這個錯誤?其他地方在WiX包文件中控制目錄的64位?
感謝您的回覆。令我困惑的是,我想要在合併模塊中添加的文件在GAC中,並且afaik不是由特殊文件夾標識符表示的,而是通過在File元素上指定屬性Assembly =「。net」來表示的。我嘗試將組件移出到TARGETDIR目錄,並將相同的錯誤信息作爲結果。 –
對不起,你是對的。自從我在GAC中安裝了一些內容後,我忘記了[GlobalAssemblyCache]只是InstallShield的一件事。 –
我剛剛更新了我的答案,爲我工作。 –