2012-08-13 11 views
5

Estoy leyendo this section of WiX toolset manual y me pregunto cómo forzar a WiX bootstrapper a descargar un paquete MSI. Por ejemplo, antes de instalar mi aplicación, el programa previo tiene que descargar e instalar:Cómo forzar a un programa de arranque de WiX a descargar un paquete de MSI?

  • .NET Framework Client perfil
  • SQL Server 2008 R2 objetos de gestión compartida.

he pensado, no puedo describir correspondiente MsiPackage así:

pero the schema reference para MsiPackage elemento dice, que

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

Y, por supuesto, que doesn' mienta - sin SourceFile o Name el proyecto del paquete se compila con errores.

Adición RemotePayload-MsiPackage así:

<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> 

provoca un error de compilación:

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.

Me estoy perdiendo algo?

Respuesta

4

pregunta similares respondió 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.

Cuestiones relacionadas