2012-08-13 12 views
5

私はthis section of WiX toolset manualを読んでいて、WiXブートストラップをMSIパッケージをダウンロードさせるにはどうすればいいですか?WiXブートストラップを強制的にMSIパッケージをダウンロードするには?

  • の.NET Frameworkクライアントプロファイル
  • のSQL Server 2008 R2共有管理オブジェクト:たとえば、私のアプリケーションをインストールする前に、ブートストラップをダウンロードしてインストールする必要があります。私が考えた

が、私はこのようなMsiPackage対応する記述することができます。もちろん、MsiPackage要素伝えるため

が、the schema reference

"At a minimum, the SourceFile or Name attribute must be specified."

ことそして、それはdoesnのt lie - SourceFileまたはNameなしでは、バンドルプロジェクトはエラーでコンパイルされます。このようMsiPackageRemotePayloadを追加

<MsiPackage Name="redist\SharedManagementObjects.msi" 
       DisplayName="Microsoft SQL Server 2008 R2 Management Objects" 
       DisplayInternalUI="yes" 
       Vital="yes" 
       DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=188438&amp;clcid=0x409"> 
    <RemotePayload Size="10953728" 
        Version="10.50.1600.1" 
        ProductName="Microsoft SQL Server 2008 R2 Management Objects" 
        Description="Microsoft SQL Server 2008 R2 Management Objects" 
        Hash="6ce3a433309c63d98bcf0e2b9f1dfaed8cc18783"/> 
    </MsiPackage> 

は、ビルドエラーが発生します。

Unable to read package ''. This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package.

私は何かが足りないのですか?

答えて

4

同様の質問がhereに答え:

That's not supported today; RemotePayload supports only the fields needed to verify a downloaded file is what's expected but nothing more than that. That works for .exes because Burn treats those like black boxes. Burn gathers a lot more data from MSI packages.

So the bug is either that it's an allowed child of MsiPackage or that it doesn't yet support all the data needed from an MSI.

関連する問題