¿Cuál es el propósito de la instalación administrativa iniciada usando msiexec / a?

La tecnología de Windows Installer es compatible con la instalación administrativa. La línea de comando para iniciar la instalación administrativa es: ‘ msiexec / a setup.msi ‘. Quiero entender el propósito de este tipo de instalación y en qué escenarios son útiles.

En el mundo real, no tiene tanto valor en absoluto. MSI fue diseñado en un día en que una computadora generalmente tenía un disco duro de 2-20 gb. Vinieron con todos estos escenarios publicitarios de “ejecutar desde la fuente” que parecían realmente geniales en aquel momento, pero que nunca se entendieron realmente en el mundo real.

Hoy, lo que / a hace por mí, un desarrollador de instalación, es darme una manera fácil de “extraer” una MSI y verificar su contenido. Eso es todo.

Propósito de las instalaciones administrativas

Las instalaciones administrativas generalmente son más útiles en escenarios de implementación a gran escala donde el software está instalado en muchas computadoras al mismo tiempo, por ejemplo en un gran banco con miles de estaciones de trabajo. De hecho, es bastante crítico para tales escenarios de implementación. Como un empaquetador de aplicaciones, lo primero que tiende a hacer es hacer una instalación administrativa para inspeccionar el contenido y la estructura del archivo MSI.

Operaciones en una instalación administrativa

La instalación del administrador en sí misma simplemente extrae los archivos de los archivos cab internos y ajusta el diseño de medios del archivo MSI para usar los archivos extraídos para la instalación en lugar de los archivos internos de cab. El resultado final es una ordenada jerarquía de carpetas que muestra dónde irán los archivos en el sistema de destino, y un archivo MSI más pequeño que el original ahora sin los archivos internos de cab. La operación no realiza cambios en el sistema objective aparte de esta extracción a menos que el MSI esté diseñado a medida para hacerlo, lo que es un serio error de diseño en casi todos los casos. Las excepciones, fuera de lo común, pueden incluir la configuración de archivos de licencia o el postprocesamiento de archivos para su implementación de alguna manera. Nunca he visto tales construcciones en la vida real, pero es posible agregar acciones personalizadas a las instalaciones administrativas.

Uso de instalaciones administrativas

Después de la instalación del administrador, los archivos extraídos se pueden poner en un recurso compartido de red accesible desde miles de estaciones de trabajo y se puede instalar desde allí. Por lo general, esto se hace a través de un software de implementación especializado como SCCM (anteriormente Microsoft SMS) o similar. Sin embargo, la instalación también puede ser activada manualmente por el usuario en una estación de trabajo en algunos casos. El beneficio crítico de esta instalación compartida en red es que las operaciones de reparación automática y las subsiguientes instalaciones de revisión y actualización de las estaciones de trabajo tienen acceso a los archivos fuente originales para que las instalaciones se completen correctamente. Es posible que haya experimentado que Microsoft Office de repente le pida que inserte los CD de instalación para volver a instalar algunos archivos. Esto también les ocurriría a las estaciones de trabajo a menos que las fonts estuvieran disponibles en línea. Este requisito de origen puede cambiar en el futuro ya que Microsoft almacena en caché más y más contenido de instalador en cada equipo local (Windows 7 en adelante, ACTUALIZACIÓN en enero de 2018 : consulte esta respuesta para obtener más detalles sobre este almacenamiento en caché: ¿Por qué MSI requiere el archivo .msi original para proceder con una desinstalación? ). Debo agregar que también puede colocar el archivo MSI no extraído en dicha ubicación sin extraerlo a través de una imagen de administrador, pero el uso de la instalación de administrador permite que cualquier archivo se descargue por separado (no se descarga una gran cabina). Para grandes archivos MSI, esto es importante, y prefiero las imágenes de administrador como fuente de instalación para hacer que el parche sea más confiable: esta es una preferencia subjetiva, pero se debe a la experiencia de la vida real.

Instalaciones administrativas y parches

Finalmente, la creación de parches MSI generalmente requiere la instalación de un administrador para la configuración original y también para la nueva configuración. El archivo de parche de Windows Installer se crea a partir de las diferencias entre las carpetas de instalador nuevas y viejas. Como tal, las instalaciones administrativas son críticas para la posterior creación de archivos de parches. Este es el caso de Wise for Windows Installer , el único producto que he encontrado para crear parches realmente confiables en la experiencia de la vida real (este producto está ahora fuera de mercado, algunos detalles aquí: ¿Qué producto de instalación usar? InstallShield, WiX, Wise, Advanced Instalador, etc. ). De nuevo, una observación subjetiva basada en extensas pruebas del mundo real.

También es posible parchar una instalación de administrador si obtiene un MSI y un MSP (archivo de ruta) de un proveedor. Extrae el MSI y aplica un parche a la imagen del administrador con el MSP. La carpeta de destino contendrá un MSI más nuevo y cualquier archivo nuevo (siempre que el parche de administrador funcione, lo que generalmente no sucede en mi experiencia).

“Ejecutar desde la fuente”

Chris menciona “Run From Source”, y este es de hecho un concepto bastante inútil y obsoleto, donde algunos archivos de la instalación se pueden dejar en el recurso compartido de la red y se puede acceder directamente desde allí. Honestamente, no he probado esta característica en años.

Esta función rara vez se usa, pero supongo que podría ser beneficioso en escenarios donde todas las estaciones de trabajo deben acceder a un conjunto común de archivos de recursos y desea evitar la duplicación masiva. Las correcciones a los archivos de recursos podrían implementarse mediante un “parche de instalación de administrador” como se describe arriba sin reinstalar nada en las estaciones de trabajo (no está claro qué tan bien funciona: la falta de uso de esta característica puede ser una pista).

Un gran paquete de software con muchos y diferentes módulos donde solo unos pocos son utilizados por diferentes personas podría acelerar la instalación y el uso de manera significativa al instalar solo algunas de las características requeridas y dejar el rest para ejecutarse desde el origen o instalar en el primer uso. Se aceleraría la instalación y las posteriores instalaciones de parches y podría dejar fuera del sistema binarios potencialmente inseguros e innecesarios. Este último punto puede ser importante en entornos bloqueados. Sin embargo, en la vida real he visto que los parches cambian las características anunciadas para que se instalen localmente después del parcheo, lo cual es un comportamiento muy extraño y no deseado, pero muy común en la experiencia. En la práctica, encuentro “ejecutar desde la fuente” o características publicitadas de uso muy limitado. En general, es mejor dividir una configuración en dos con una para el cliente y otra para la instalación del servidor.


ACTUALIZAR :

Aquí hay un nuevo resumen del mismo problema: la instalación de administrador y sus usos (extracción de archivos y más) . Lea también el comentario a continuación sobre “el comportamiento de caché modificado de MSI en Windows 7 en adelante “.

Supongamos que necesita instalar el producto X en algunas máquinas y que deberá aplicar algunos parches para X también. En lugar de aplicar una serie de parches en cada máquina, puede hacer esto:

  • Crear una imagen administrativa para X
  • Aplicar los parches a la imagen administrativa
  • Instale X en cada máquina usando la imagen reparada

Puede ahorrar algo de tiempo y esfuerzo, y sabrá que todas sus máquinas seguramente estarán en el mismo nivel de parche.