2012-01-04 14 views
15

Tengo el instalador de WiX 3.6 (octubre de 2011) para mi aplicación. Mi aplicación requiere que se instale otro servicio en el sistema. He añadido un archivo MSI a mi instalador de esta manera:Cómo agregar un archivo MSI a mi instalador

<Fragment> 
    <PackageGroup Id="MyService" > 
     <MsiPackage Id="MyService" Name="MyService" SourceFile="MyService.msi" DisplayInternalUI="yes" EnableFeatureSelection="yes"> 
     </MsiPackage> 
    </PackageGroup> 
</Fragment> 
<Fragment> 
    <ComponentGroup Id="APPFILES"> 
    ... 
</Fragment> 

El instalador funciona bien, pero este archivo adicional MSI no está instalando. ¿Qué me estoy perdiendo?

Respuesta

5

Asegúrese de que está utilizando Burn: http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

un MSI no puede incluir otro MSI, por lo que también debe obtener un archivo EXE. Asegúrese de iniciar la instalación a través de ese EXE

+0

¿Quiere decir que necesito usar exe en lugar de msi? como este Oleg

+0

No. El paquete final (el que incluye el MSI) es un EXE. Agregué otro enlace con más detalles. –

+0

soy estúpido ;-), pero no veo cómo puedo agregar mi segunda MSI al programador. Veo cómo agregar el servidor sql, etc., pero ¿cómo agregar mi segundo paquete instalador msi? Me refiero al ejemplo "A Sample!" .. – Oleg

16

No puede instalar un MSI desde otro MSI. Lo que necesita hacer es crear un bootstrapper (enlace aparece muerto ahora, posible adecuado replacement link) que instala cada MSI en secuencia. Wix 3.6 tiene un bootstrapper incorporado llamado Burn.

Here is another helpful link, cortesía de Matt Clarkson.

+0

He creado un nuevo proyecto Bundle que incluye mis dos archivos msi. ¿Es esta una sola forma de hacerlo? – Oleg

+0

@Oleg: Puede haber * otras formas de hacerlo (utilizando módulos de combinación, si corresponde, creo), pero siempre lo hice a través de un programador. Sin embargo, no estás obligado a usar Burn. La forma en que lo hice en el pasado es crear un proyecto de estudio visual que haga referencia a la biblioteca Wix. Luego puede crear acciones personalizadas (a través de C# o lo que sea). Sin embargo, la conclusión es que debe iniciar la instalación desde el archivo ejecutable para que cada msi pueda ejecutarse en secuencia. –

+0

ambos enlaces están muertos ahora :( –

Cuestiones relacionadas