Determine el nombre de una característica en un MSI para instalar desde la línea de comando

12

Estoy tratando de instalar una aplicación (SalesLogix 7.2 Admin Tools and Servers) desde un paquete MSI, pero solo quiero instalar una característica en particular. ¿Cómo puedo determinar el nombre de la función para intentar usar el parámetro ADDLOCAL?

Selecciones MSX SLX

Cilíndrico
fuente

Respuestas:

10

Puede ejecutar el instalador en modo de registro detallado

msiexec /i product.msi /l*v log.txt

Luego busque cambios en la ADDLOCALpropiedad en el registro. Por lo tanto, podrá determinar qué características se instalan con la selección anterior en la GUI.

De lo contrario, puede usar Orca como lo sugiere jscott y analizar el paquete usted mismo. Aunque creo que usar el registro detallado es una solución más simple y no se perderá una característica que se agregará ADDLOCALpara obtener una instalación que funcione.

Alexey Ivanov
fuente
1
Perfecto. Trabajó un placer. ADDLOCAL=Common,Administrator,Architect
Cilíndrico el
¡Encantado de ayudar! ;)
Alexey Ivanov
5

Obtenga una copia de Microsoftorca.exe : es un simple editor MSI. Hay otros editores que deberían funcionar igual de bien para esto. Abra el MSI en Orca y verifique la Featuretabla. Esta tabla enumerará todos los conjuntos de características disponibles, siempre que el proveedor los haya utilizado para empaquetar el instalador.

jscott
fuente
2

La forma más fácil sería contactar al proveedor de la aplicación y averiguar cuáles son los interruptores de la línea de comandos. Dicho esto, a veces un proveedor elige no hacer que esa información esté disponible. En ese caso, me gusta usar Process Monitor para observar el proceso de instalación.

La mayoría de los instaladores trabajan de la misma manera. Descarga un solo archivo y el archivo extrae todos los archivos de instalación reales en un directorio temporal. Como necesitamos ver hacia dónde se extrae el instalador, use el monitor de proceso para observar el instalador tan pronto como se inicie. No continúe con el instalador ni salga de él. Al realizar cualquiera de estas acciones, se eliminarán los archivos temporales. Copie todos los archivos extraídos del directorio temporal. Utilizará estos archivos para su instalador personalizado. Después de haber localizado el proceso en particular (en Process Monitor), filtre todos los demás procesos. Luego puede observar el proceso a medida que continúa la secuencia de instalación. Lo que está buscando es un comando msiexec que llame a la instalación de la función que ha solicitado.

Este puede ser un proceso de prueba y error que lleva mucho tiempo, pero he tenido un gran éxito en la personalización de instalaciones de aplicaciones donde los proveedores no proporcionan esa información ...

newmanth
fuente
2
Usar Process Monitor puede ser una experiencia desgarradora (especialmente si nunca lo has usado antes). Para comenzar, recomiendo usar el comando Incluir proceso desde la ventana para seleccionar la ventana del instalador (haga clic y mantenga presionado el icono y arrastre a la ventana de la aplicación del instalador). Esto capturará la identificación del proceso del instalador. Luego puede usar el comando de filtro para filtrar todo excepto ese proceso. Además, apago todo excepto el proceso y la actividad de subprocesos.
recién nacido
1

Es posible que el instalador de MSI admita la opción de instalación administrativa msiexec . Esto ejecutará el instalador, pero en lugar de instalar realmente el paquete, generará un punto de instalación para el software, personalizado con las opciones que especifique. Posteriormente, puede implementar el .msi creado en el punto de instalación especificado, de la manera en que normalmente implementa su software.msiexec /a <yourpackage.msi>

Depende en gran medida de qué soporte ha incluido el proveedor, por lo que según la respuesta de @ newmanth, es posible que deba llamar al proveedor y ver qué opciones de implementación admiten.

Bryan
fuente