Arranque

Actualmente, cada instalación que intenta utilizar Windows Installer comienza comprobando si el instalador está en el equipo del usuario y, si no está, comprueba si el usuario y el equipo están preparados para instalar Windows Installer. En el SDK de Windows Installer hay disponible una aplicación de instalación, Instmsi.exe, que contiene toda la lógica y la funcionalidad para instalar Windows Installer. No obstante, una aplicación de arranque debe administrar esta instalación.

La aplicación de arranque debe comprobar primero si Windows Installer ya está instalado. Las aplicaciones pueden obtener la versión de Windows Installer instalada actualmente con DllGetVersion. Si Windows Installer no está instalado, la aplicación de arranque debe consultar el sistema operativo para determinar qué versión de Instmsi.exe es necesaria. Una vez iniciada la instalación de Windows Installer, la aplicación de arranque debe controlar los códigos de retorno de la aplicación Instmsi.exe y controlar cualquier reinicio que tenga lugar durante la instalación de Windows Installer. Para obtener más información, consulte Determinación de la versión de Windows Installer.

En el ejemplo siguiente se muestra cómo la aplicación de instalación que instala Microsoft Office 2000 comprueba el sistema del usuario y configura la instalación de Windows Installer. Este ejemplo se ha escrito específicamente para instalar Office 2000 y debe usarse solamente como referencia general.

Cuando un usuario inserta el CD-ROM de Office 2000 en el equipo, Setup.exe intenta iniciar el modo de mantenimiento, la aplicación de instalación o no hace nada en absoluto, según las necesidades del usuario. En la sección siguiente se describe cómo la aplicación de instalación de Office 2000, denominada Setup.exe, califica al usuario y su equipo, construye una línea de comandos e instala Windows Installer con la aplicación Msiexec.exe.

Arranque de Windows Installer con Setup.exe al instalar Office 2000

  1. El usuario inserta el CD-ROM de Office 2000 en el equipo. El sistema operativo Windows inicia Setup.exe con el modificador /autorun y el archivo Autorun.inf. El archivo Autorun.inf se encuentra en la raíz del CD-ROM de Office 2000 y contiene las secciones siguientes:

    [Autorun]

    [Office Features]

    [Product Information]

    [ServicePack].

    La sección [Autorun] contiene una línea de comandos que ejecuta la aplicación Setup.exe, ejecuta el icono que se usa para mostrar el disco y contiene información para agregar una opción "Instalar" y una opción "Configurar" al menú contextual del CD-ROM.

    La sección [Office Features] contiene una lista de características y pares de nombres de características.

    La sección [Product Information] especifica el nombre y la versión de la aplicación.

    La sección [ServicePack] permite a un administrador de red establecer el nivel mínimo de Service Pack necesario. El administrador de red puede usar esta sección para crear el texto de un mensaje de alerta que se muestra si el sistema operativo local no tiene el Service Pack necesario.

    El siguiente es un ejemplo de archivo Autorun.inf.

    [autorun] 
    OPEN=setup.EXE /AUTORUN /KEY:Software\Microsoft\Office\9.0\Common\General\InstallProductID
    ICON=setup.EXE,1
    shell\configure=&Configure
    shell\configure\command=setup.EXE
    shell\install=&Install
    shell\install\command=setup.EXE
    [OfficeFeatures]
    Feature1=ACCESSFiles
    Feature2=OfficeFiles
    Feature3=WORDFiles
    Feature4=EXCELFiles
    Feature5=PPTFiles
    [ProductInformation]
    DisplayName=Microsoft Office 9
    Version=9.0
    ProductCode={product guid}
    [ServicePack]
    MessageText="The operating system does not have a required service pack. Please download and install this from www.microsoft.com."
    SPLevel=3
    
  2. La aplicación Setup.exe comprueba si está presente la exclusión mutua _MsiPromptForCD. Windows Installer crea esta exclusión mutua cuando solicita al usuario que inserte el CD-ROM. La presencia de la exclusión mutua indica que Windows Installer está ejecutando una instalación que ha solicitado el CD-ROM de Office 2000. En este caso, la aplicación Setup.exe se cierra inmediatamente y permite que la instalación de Office 2000 continúe. Si no está la exclusión mutua, la aplicación Setup.exe continúa en el paso 3, donde se evalúa una clave del Registro para determinar si está instalado Office 2000.

  3. La aplicación Setup.exe comprueba la presencia de la clave del Registro Office9:

    HKCU/Software/Microsoft/Office/9.0/Common/General/InstallProductID

    Si no existe esta clave del Registro, la aplicación Setup.exe continúa en el paso 6, donde se comprueba el sistema operativo para determinar si admite la instalación de Office 2000.

  4. Si existe la clave del Registro de Office 2000, la aplicación Setup.exe comprueba el estado de la instalación actual llamando a MsiQueryProductState. Un estado devuelto de InstallState_Default indica que Office 2000 ya está instalado y la aplicación Setup.exe continúa en el paso 5, donde se selecciona Office 2000 para ejecutarlo desde el origen.

    Si Office 2000 no está instalado, la aplicación Setup.exe continúa en el paso 6, donde se comprueba el sistema operativo para determinar si admite la instalación de Office 2000.

  5. La aplicación Setup.exe llama a MsiQueryFeatureState para cada una de las características de la sección [OfficeFeatures] del archivo Autorun.inf. Si alguna de estas características devuelve INSTALLSTATE_SOURCE, esto indica que la característica se ejecuta desde el origen y la aplicación Setup.exe se cierra inmediatamente.

    Si ninguna de las características devuelve INSTALLSTATE_SOURCE, la aplicación Setup.exe inicia la aplicación del instalador, Msiexec.exe, y muestra el modo de mantenimiento de Windows Installer antes de cerrarse.

  6. La aplicación Setup.exe determina si el sistema operativo admite la instalación de Office 2000. Para instalar Office 2000, se requiere Windows XP. Si el sistema operativo requiere una actualización de Service Pack para poder instalar Office 2000, la aplicación Setup.exe muestra el texto especificado en el archivo Autorun.inf. Si el sistema operativo no cumple los requisitos para instalar Office 2000 o una actualización suya, la aplicación Setup.exe muestra un mensaje que impide que el usuario continúe.

    Si el sistema operativo admite la instalación de Office 2000, la aplicación Setup.exe continúa en el paso 7, donde se determina si Windows Installer está instalado en el equipo del usuario.

  7. Si Windows Installer está en el equipo del usuario, la aplicación Setup.exe inicia Msiexec.exe y le pasa el archivo .msi de Office 2000.

    Si Windows Installer no está instalado en el equipo local, la aplicación Setup.exe continúa en el paso 8, donde se determina si el sistema operativo admite la instalación de Windows Installer.

  8. Si el equipo local admite la instalación de Windows Installer, la aplicación Setup.exe ejecuta la versión correcta de la aplicación del instalador Instmsi.exe para la plataforma. Setup.exe puede pasar el modificador de la línea de comandos "/q" para suprimir la interfaz de usuario e impedir que el usuario cambie las opciones de configuración de la instalación.

  9. La aplicación Setup.exe carga el archivo Msi.dll recién instalado y realiza una llamada a la función MsiInstallProduct para instalar la aplicación del usuario.

Parámetros de la línea de comandos de Setup.exe

La aplicación Setup.exe permite a los administradores y usuarios pasar opciones de la línea de comandos a la aplicación Msiexec.exe. Para obtener más información, consulte Opciones de la línea de comandos. En la tabla siguiente se enumeran las opciones de comando que se pueden utilizar con Setup.exe.

Opción Uso Significado
/autorun setup.exe /autorun Ejecuta el archivo Autorun.inf descrito en la sección anterior.
/a setup.exe /a Inicia una instalación administrativa.
/j [u|m]Paquete o
[u|m]Paquete /t ListaDeTransformaciones
o bien
[u|m]Paquete /g IdDeIdioma
Anuncia un producto. Esta opción ignora los valores de propiedad proporcionados en la línea de comandos. u: anunciar al usuario actual.
m: anunciar a todos los usuarios de la máquina.
g: identificador de idioma.
t: aplica la transformación al paquete anunciado.
/I setup.exe /I Office9.msi /t ProgramMgmt.mst Especifica el archivo .msi que Setup.exe debe instalar. Si no se incluye la opción /I, Setup.exe usa el archivo Office9.msi.
/o<propiedad=valor> setup.exe /o CDKEY=111111-1111 Establece las propiedades del archivo .msi. Setup.exe se las pasa a msiexec como están escritas.
/q setup.exe /q Establece el nivel de interfaz de usuario de la instalación. /q: sin UI (/qn para msiexec.) /qb: UI básica
/qr: UI reducida.
/m# setup.exe /m4 Admite varias licencias de acuerdo con los contratos Select. Esta propiedad se usa en la acción personalizada License Verification para escribir el certificado LV. La opción /m debe ir seguida del número de desbloqueos permitidos. El valor especificado por la opción /m debe establecerse como la propiedad "M" en el archivo Office9.msi. Si no se especifica ningún valor, pero se usa la opción /m con el programa de instalación, debe establecerse el valor 0. La opción /m es necesaria para admitir a clientes de Contrato Select que usan un CD o la red.
/settings setup.exe /settings mysettings.ini Permite a los administradores especificar un archivo .ini que contiene toda la configuración personalizada que debe pasarse durante la instalación de Office 2000. Consulte la descripción del archivo .ini a continuación.

Uso de un archivo .ini

Crear un archivo de inicialización puede ser más fácil que crear una línea de comandos larga. Con la opción /settings, la aplicación Setup.exe lee el archivo .ini especificado y construye una línea de comandos para pasársela a la aplicación Msiexec.exe. En el archivo .ini se admiten solamente las propiedades que se admiten en la línea de comandos. Si se encuentra una propiedad o un valor tanto en el archivo .ini como en la línea de comandos, la configuración de la línea de comandos invalida la configuración del archivo .ini.

El formato del archivo .ini es:

[msi]

[mst]

[options]

[Display]

La sección [msi] del archivo .ini especifica la ruta de acceso al paquete de instalación. Esto corresponde a la opción /I de la línea de comandos.

La sección [mst] del archivo .ini especifica la ruta de acceso a las transformaciones que se usan con esta instalación. Esto corresponde a la opción /j de la línea de comandos. Cada una de las transformaciones se indica en una línea diferente, con MST1 MST(N). Cuando se analiza en la línea de comandos, la lista del archivo .ini se gira de izquierda a derecha. Tenga en cuenta que el número asociado al título MST(N) sólo está presente para mantener identificadores únicos y no tiene ningún significado de programación.

La sección [options] permite a los administradores de red establecer e invalidar propiedades en los archivos .msi o .mst. Las opciones establecidas en el archivo .ini se agregan a la línea de comandos con la opción /o. Cada opción de la sección [options] debe tener un nombre de propiedad y un valor.

La sección [Display] se usa para establecer el nivel de interfaz de usuario que se usa durante la instalación. Esto corresponde a la opción /q de la línea de comandos. Los valores válidos son ninguna, básica, reducida y completa.

Archivo .ini de ejemplo

[MSI]

MSI=\\sourceshare\Office2000\Office2000.msi

[MST]

MST1=\\sourceshare\Office2000\trns1.mst

MST2=\\sourceshare\Office2000\trns2.mst

[Options]

PUBLICPROPERTY=su valor

[Display]

Display=None