vistas vista varias valor una pasar parcial parametros otra net mvc llamando entre datos crear controlador asp acciones .net visual-studio wix installer wix3.6

.net - vista - Pasar los parámetros del paquete bootstrapper al paquete msi



pasar un valor del controlador a la vista (2)

Estoy usando VS2010 y WiX 3.6 para crear paquetes de MSI y agruparlos en la configuración de Bootstrapper. Aquí está mi código Boostrapper.

<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Bundle Name="" Version="" Manufacturer="" UpgradeCode=""> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> <Chain> <MsiPackage SourceFile="Package1.msi"> <MsiProperty Name="PARAM1" Value="[PARAM1]" /> <MsiProperty Name="PARAM2" Value="[PARAM2]" /> </MsiPackage> <MsiPackage SourceFile="Package2.msi"> <MsiProperty Name="PARAM1" Value="[PARAM1]" /> <MsiProperty Name="PARAM2" Value="[PARAM2]" /> </MsiPackage> </Chain> </Bundle> </Wix>

Los paquetes MSI deben tener los parámetros especificados para poder ejecutarse. Normalmente, yo llamaría "Packag21.msi PARAM1=1 PARAM2=2" . Después de construir el proyecto, intento pasar los parámetros a mi Bootstrapper.exe de la misma manera Bootstrapper.exe PARAM1=1 PARAM2=2 , pero parece que no los pasa a la MSI. Las instalaciones se cuelgan con la condición de parámetros faltantes.

¿Hay alguna forma de pasar los parámetros del exe al msi?


Actualmente no está disponible en el programa de arranque estándar: WixStdBa no pone a disposición las propiedades de la línea de comando. ID: 3489809

Puede implementar dicha funcionalidad si crea su propia aplicación de arranque.

EDITAR: aunque no puede pasar los parámetros a su programa de arranque a través de la línea de comandos, aún puede recopilar la información en su programa de arranque de varias maneras:

ex: establecer una variable

<Variable Name="PARAM1" Value="SomeValue" Persisted="yes" Type="string" />

ex: registro de búsqueda

<util:RegistrySearch Root="HKLM" Key="Software/SomeProduct" Value="SomeKey" Variable="PARAM1" Result="value"/>


Esto ya se implementó y está disponible a partir de la versión Wix 3.6 RC el 21 de mayo.

Aquí está la idea general de cómo funciona:

<Wix> <Bundle> <Variable Name="CommandLineArg" bal:Overridable="yes"/> <Chain> <MsiPackage> <MsiProperty Name="CommandLineArg" Value="[CommandLineArg]"/> </MsiPackage> </Chain> </Bundle> </Wix>

Tienes que crear una variable de paquete que sea reemplazable en la línea de comando y luego pasar esa variable a tu msi.