簡體   English   中英

Wix-自動進行32位和64位構建

[英]Wix - automate 32bit and 64bit build

從這個答案中去https://stackoverflow.com/a/15985524/552448

<Wix>
    <Bundle...>
        <BootstrapperApplicationRef Id='WixStandardBootstrapperApplication.HyperlinkLicense' />

        <Chain>
            <MsiPackage SourceFile="prereq1.msi" />
            ....
            <MsiPackage InstallCondition='NOT VersionNT64' SourceFile='path\to\x86.msi' />
            <MsiPackage InstallCondition='VersionNT64' SourceFile='path\to\x64.msi' />
        </Chain>
    </Bundle>
</Wix>

解決方案中的所有項目均以“任何CPU”為目標,但引導程序和MSI軟件包除外,因此,我使用了一個共享機櫃,以避免使引導程序的最終大小增加一倍。

我知道我必須先用x86構建MSI,然后再用x64構建MSI,最后構建引導程序。 手動執行此操作即可。

但是,我想自動執行這些步驟。

我一直在嘗試將Prebuild事件添加到Bundle wixproj文件中,類似於

$(MSBuildBinPath)\msbuild "$(SolutionDir)MyMSI\MyMSI.wixproj" /p:Platform=x86;Configuration=Release
$(MSBuildBinPath)\msbuild "$(SolutionDir)MyMSI\MyMSI.wixproj" /p:Platform=x64;Configuration=Release

但是,此失敗並顯示以下錯誤:

沒有為項目'MyLibrary.csproj'設置OutputPath屬性。 請檢查以確保為該項目指定了配置和平台的有效組合。 配置=“發布”平台=“ x86”。 您可能會看到此消息,因為您正嘗試在沒有解決方案文件的情況下構建項目,並且指定了該項目不存在的非默認配置或平台。

我想使其工作而不必經歷所有項目即可添加平台/配置的組合。 畢竟,如果我右鍵單擊MyMSI並選擇build,這將起作用。

當然,我一定會丟失一些東西。

很明顯-創建兩個單獨的MSI項目-一個使用x86,另一個使用x64,都使用相同的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM