Elemento <InstallChecks> (Programa ClickOnce previo)

Actualización: noviembre 2007

El elemento InstallChecks permite iniciar varias pruebas en relación con el equipo local para asegurarse de que se han instalado todos los requisitos previos de una aplicación ClickOnce.

<InstallChecks>
    <AssemblyCheck 
        Property
        Name
        PublicKeyToken
        Version
        Language
        ProcessorArchitecture
    />
    <RegistryCheck
        Property
        Key
        Value
    />
    <ExternalCheck 
        PackageFile
        Property
        Arguments
    />
    <FileCheck 
        Property
        FileName
        SearchPath
        SpecialFolder
        SearchDepth
    />
    <MsiProductCheck 
        Property
        Product
        Feature
    />
    <RegistryFileCheck 
        Property
        Key
        Value
        File
        SearchDepth
    />
</InstallChecks>

AssemblyCheck

Este elemento es un elemento secundario opcional de InstallChecks. En cada instancia de AssemblyCheck, el programa previo garantizará que el ensamblado identificado por el elemento existe en la memoria caché de ensamblados global (GAC). No contiene elementos y tiene los siguientes atributos.

Atributo

Descripción

Property

Obligatorio. El nombre de la propiedad que permite almacenar el resultado. Se puede hacer referencia a esta propiedad desde una prueba debajo del elemento InstallConditions, que es un elemento secundario del elemento Command. Para obtener más información, consulte Elemento <Commands> (programa ClickOnce previo).

Name

Obligatorio. Nombre completo del ensamblado que se va a comprobar.

PublicKeyToken

Obligatorio. El formulario abreviado de la clave pública asociado con este ensamblado de nombre seguro. Todos los ensamblados almacenados en la GAC deben tener un nombre, una versión y una clave pública.

Version

Obligatorio. Versión del ensamblado.

El número de versión tiene el formato <versión principal>.<versión secundaria>.<versión de compilación>.<versión de revisión>.

Language

Opcional. El lenguaje de un ensamblado traducido. El valor predeterminado es neutral.

ProcessorArchitecture

Opcional. El procesador del equipo de destino de esta instalación. El valor predeterminado es msil.

ExternalCheck

Este elemento es un elemento secundario opcional de InstallChecks. Para cada instancia de ExternalCheck, el programa previo ejecutará el programa externo con nombre en un proceso independiente, y almacenará el código de salida en la propiedad indicada por Property. ExternalCheck resulta útil para implementar comprobaciones de dependencia complejas o cuando el único modo de comprobar la existencia de un componente es mediante una instancia al mismo.

ExternalCheck no contiene elementos y tiene los atributos siguientes.

Atributo

Descripción

Property

Obligatorio. El nombre de la propiedad que permite almacenar el resultado. Se puede hacer referencia a esta propiedad desde una prueba debajo del elemento InstallConditions, que es un elemento secundario del elemento Command. Para obtener más información, consulte Elemento <Commands> (programa ClickOnce previo).

PackageFile

Obligatorio. El programa externo que se va a ejecutar. El programa debe formar parte del paquete de distribución de instalación.

Arguments

Opcional. Proporciona los argumentos de la línea de comandos a la aplicación ejecutable nombrada por PackageFile.

FileCheck

Este elemento es un elemento secundario opcional de InstallChecks. Para cada instancia de FileCheck, el programa previo determinará si el archivo con nombre existe, y devolverá el número de versión del archivo. Si el archivo no dispone de un número de versión, el programa previo establecerá en 0 la propiedad nombrada por Property. Si el archivo no existe, Property no está establecido en ningún valor.

FileCheck no contiene elementos y tiene los atributos siguientes.

Atributo

Descripción

Property

Obligatorio. El nombre de la propiedad que permite almacenar el resultado. Se puede hacer referencia a esta propiedad desde una prueba debajo del elemento InstallConditions, que es un elemento secundario del elemento Command. Para obtener más información, consulte Elemento <Commands> (programa ClickOnce previo).

FileName

Obligatorio. Nombre del archivo que se va a buscar.

SearchPath

Obligatorio. El disco o carpeta en la que buscar el archivo. Debe ser una ruta de acceso relativa si se asigna SpecialFolder; en caso contrario, debe ser una ruta de acceso absoluta.

SpecialFolder

Opcional. Una carpeta que tiene importancia especial para Windows o para ClickOnce. El valor predeterminado es interpretar SearchPath como una ruta de acceso absoluta. Los valores válidos son los siguientes:

AppDataFolder. La carpeta de datos de esta aplicación ClickOnce; es específica para el usuario actual.

CommonAppDataFolder. La carpeta de datos de la aplicación utilizada por todos los usuarios.

CommonFilesFolder. La carpeta Archivos comunes del usuario actual.

LocalDataAppFolder. La carpeta de datos para las aplicaciones no móviles.

ProgramFilesFolder. La carpeta Archivos de programa estándar para las aplicaciones de 32 bits.

StartUpFolder. La carpeta que contiene todas las aplicaciones iniciadas en el inicio del sistema.

SystemFolder. La carpeta que contiene los archivos DLL del sistema de 32 bits.

WindowsFolder. La carpeta que contiene la instalación del sistema de Windows.

WindowsVolume. La unidad o partición que contiene la instalación del sistema de Windows.

SearchDepth

Opcional. La profundidad con que buscar el archivo con nombre en las subcarpetas. La búsqueda se realiza primero en profundidad. El valor predeterminado es 0, lo que restringe la búsqueda a la carpeta de nivel superior especificada por SpecialFolder y SearchPath.

MsiProductCheck

Este elemento es un elemento secundario opcional de InstallChecks. En cada instancia de MsiProductCheck, el programa previo comprueba si la instalación de Microsoft Windows Installer especificada se ha ejecutado hasta completarse. El valor de la propiedad se establece en función del estado del producto instalado. Un valor positivo indica que el producto está instalado, 0 ó -1 indican que no está instalado. (Consulte la función del SDK de Windows Installer MsiQueryFeatureState para obtener más información). Si Windows Installer no está instalado en el equipo, no se ha configurado Property.

MsiProductCheck no contiene elementos y tiene los atributos siguientes.

Atributo

Descripción

Property

Obligatorio. El nombre de la propiedad que permite almacenar el resultado. Se puede hacer referencia a esta propiedad desde una prueba debajo del elemento InstallConditions, que es un elemento secundario del elemento Command. Para obtener más información, consulte Elemento <Commands> (programa ClickOnce previo).

Product

Obligatorio. El GUID del producto instalado.

Feature

Opcional. El GUID de una característica concreta de la aplicación instalada.

RegistryCheck

Este elemento es un elemento secundario opcional de InstallChecks. En cada instancia de RegistryCheck, el programa previo comprueba si existe la clave del Registro especificada o si tiene el valor indicado.

RegistryCheck no contiene elementos y tiene los atributos siguientes.

Atributo

Descripción

Property

Obligatorio. El nombre de la propiedad que permite almacenar el resultado. Se puede hacer referencia a esta propiedad desde una prueba debajo del elemento InstallConditions, que es un elemento secundario del elemento Command. Para obtener más información, consulte Elemento <Commands> (programa ClickOnce previo).

Key

Obligatorio. Nombre de la clave del Registro.

Value

Opcional. Nombre del valor del Registro que se va a recuperar. El valor predeterminado es devolver el texto del valor predeterminado. Value debe ser una cadena o un DWORD.

RegistryFileCheck

Este elemento es un elemento secundario opcional de InstallChecks. Por cada instancia de RegistryFileCheck, el programa previo recupera la versión del archivo especificado, intentando primero recuperar la ruta de acceso al archivo desde la clave del Registro especificada. Esto resulta especialmente útil si desea buscar un archivo en un directorio especificado como un valor del Registro.

RegistryFileCheck no contiene elementos y tiene los atributos siguientes.

Atributo

Descripción

Property

Obligatorio. El nombre de la propiedad que permite almacenar el resultado. Se puede hacer referencia a esta propiedad desde una prueba debajo del elemento InstallConditions, que es un elemento secundario del elemento Command. Para obtener más información, consulte Elemento <Commands> (programa ClickOnce previo).

Key

Obligatorio. Nombre de la clave del Registro. Su valor se interpreta como la ruta de acceso a un archivo, a menos que se establezca el atributo File. Si esta clave no existe, no se establece Property.

Value

Opcional. Nombre del valor del Registro que se va a recuperar. El valor predeterminado es devolver el texto del valor predeterminado. Value debe ser una cadena.

File

Opcional. Nombre de un archivo . Si se especifica, se supone que el valor obtenido de la clave del Registro es una ruta de acceso al directorio y dicho nombre se adjunta. Si no se especifica, se supone que el valor devuelto del Registro es la ruta de acceso completa a un archivo.

SearchDepth

Opcional. La profundidad con que buscar el archivo con nombre en las subcarpetas. La búsqueda se realiza primero en profundidad. El valor predeterminado es 0, lo que restringe la búsqueda a la carpeta de nivel superior especificada por el valor de la clave del Registro.

Comentarios

Los elementos bajo InstallChecks definen las comprobaciones que se ejecutarán, pero no las ejecutan. Para ejecutar las comprobaciones, es necesario crear elementos Command bajo el elemento Commands.

Ejemplo

En el siguiente ejemplo de código se muestra el elemento InstallChecks tal y como se utiliza en el archivo de producto de .NET Framework.

<InstallChecks>
    <ExternalCheck Property="DotNetInstalled" PackageFile="dotnetchk.exe" />
    <RegistryCheck Property="IEVersion" Key="HKLM\Software\Microsoft\Internet Explorer" Value="Version" />
</InstallChecks>

InstallConditions

Cuando se evalúan InstallChecks, generan las propiedades. Las condiciones InstallConditions utilizan a continuación las propiedades para determinar si un paquete debe instalarse, omitirse o producir un error. En la tabla siguiente se muestran las condiciones InstallConditions:

InstallIf

Todas las condiciones InstallIf deben evaluarse como true para instalar el componente. Si una o varias condiciones InstallIf se evalúan como false, se omitirá el componente. No se evaluará ninguna otra condición.

FailIf

Si cualquier condición FailIf se evalúa como true, se producirá un error en el paquete. El resto de las condiciones no se evaluarán. Se producirá un error en el paquete aun cuando una o varias comprobaciones InstallIf sean true.

BypassIf

Si alguna condición BypassIf se evalúa como true, se omitirá el paquete. El resto de las condiciones no se evaluarán. El paquete se omitirá aun cuando una o varias comprobaciones InstallIf sean true.

Propiedades predefinidas

El programa previo definirá automáticamente las propiedades siguientes que va a utilizar la condición InstallIf. En la tabla siguiente se muestran los elementos BypassIf y FailIf:

Property

Notas

Valores posibles

Version9X

Número de versión de un sistema operativo Windows 9X.

4.10 = Windows 98

VersionNT

Número de versión de un sistema operativo basado en Windows NT.

Major.Minor.ServicePack

5.0 = Windows 2000

5.1.0 = Windows XP

5.1.2 = Windows XP Professional SP2

5.2.0 = Windows Server 2003

VersionNT64

Número de versión de un sistema operativo basado en Windows NT de 64 bits.

Igual que el mencionado previamente.

VersionMsi

Número de versión del servicio de Windows Installer.

2.0 = Windows Installer 2.0

AdminUser

Especifica si un usuario tiene privilegios de administrador en un sistema operativo basado en Windows NT.

0 = sin privilegios de administrador

1 = con privilegios de administrador

Por ejemplo, para bloquear la instalación en un equipo de Windows 95, utilice código como el siguiente:

<!-- Block install on Win95 -->
    <FailIf Property="Version9X" Compare="VersionLessThan" Value="4.10" String="InvalidPlatform"/>

Vea también

Referencia

Elemento <Commands> (programa ClickOnce previo)

Referencia de esquemas de productos y paquetes