Compartir a través de


Acción InstallValidate

La acción InstallValidate comprueba que todos los volúmenes a los que se ha asignado un costo tienen suficiente espacio para la instalación. La acción InstallValidate finaliza la instalación con un error irrecuperable si a cualquiera de los volúmenes le queda poco espacio en el disco.

La acción InstallValidate también notifica al usuario si uno o varios archivos que se van a sobrescribir o quitar los está usando actualmente un proceso activo. Para más información, consulte Reinicios del sistema.

Restricciones de secuencia

La acción CostFinalize y las secuencias de los cuadros de diálogo de la interfaz de usuario que permiten al usuario modificar los estados de selección o los directorios deben secuenciarse antes que la acción InstallValidate.

Las acciones personalizadas que cambian el estado de instalación de las características o componentes deben secuenciarse antes de la acción InstallValidate.

Mensajes de ActionData

No hay mensajes de ActionData.

Comentarios

Normalmente, una secuencia de cuadros de diálogo de la interfaz de usuario anterior debe realizar la misma comprobación que la acción InstallValidate cuando el usuario intenta iniciar la copia de archivos. Esta secuencia de cuadros de diálogo de la interfaz de usuario debería mostrar un cuadro de diálogo Espacio en disco insuficiente si los volúmenes seleccionados no tienen suficiente espacio para la instalación. Los cuadros de diálogo de la interfaz de usuario deben crearse de forma que se evite que el usuario continúe con la instalación si no hay suficiente espacio en el disco. En el caso de una instalación silenciosa, no hay ninguna interfaz de usuario y la acción InstallValidate finaliza la instalación si no hay suficiente espacio en disco. La causa de la terminación prematura se graba en el archivo de registro si el registro está habilitado.

Se agrega una entrada a una tabla FilesInUse interna si se sobrescribe o se quita cualquier archivo mientras está abierto para su ejecución o modificación por parte de cualquier proceso durante el cálculo del costo de los archivos. La tabla FilesInUse contiene columnas para el nombre y la ruta de acceso completa del archivo. Cuando se ejecuta la acción InstallValidate, el instalador consulta la tabla FilesInUse para las entradas y determina el nombre del proceso mediante el archivo. La acción InstallValidate agrega un registro a la tabla de la interfaz de usuario ListBox para cada proceso único identificado por esta consulta. El registro contiene los siguientes valores en cada columna:

Propiedad: FileInUseProcess

 

Valor: nombre del proceso

 

Texto: texto contenido en la descripción de la ventana principal del proceso

A continuación, la acción InstallValidate muestra el cuadro de diálogo Archivos en uso. Este cuadro de diálogo muestra los procesos que deben apagarse para evitar el requisito de reiniciar el sistema para reemplazar los archivos en uso.

La acción InstallValidate consulta la tabla Dialog en busca de un cuadro de diálogo creado con el nombre reservado FilesInUse y lo muestra. Este cuadro de diálogo debe contener un control ListBox asociado a una propiedad denominada FileInUseProcess. Por convención, este cuadro de diálogo tiene un botón Salir, Reintentar o Omitir, pero su función depende del creador de la interfaz de usuario. Cada botón debe estar asociado a un EndDialog ControlEvent en la tabla ControlEvent. La acción InstallValidate responde de la siguiente manera al valor devuelto por DoAction ControlEvent, según lo dicta uno de estos argumentos de EndDialog asociados al botón pulsado por el usuario:

Reintentar: se borran todos los valores agregados a la tabla ListBox y se repite todo el procedimiento de cálculo del costo de los archivos y se vuelven a comprobar los archivos que siguen en uso. Si todavía se identifican uno o varios procesos que utilizan archivos que deben sobrescribirse o eliminarse, el proceso se repite; de lo contrario, InstallValidate devuelve el control al instalador con el estado msiDoActionStatusSuccess.

Salir: la acción InstallValidate devuelve inmediatamente el control al instalador con el estado msiDoActionStatusUserExit. Esto finaliza la instalación.

Cualquier otro valor devuelto: la acción InstallValidate devuelve inmediatamente el control al instalador con el estado msiDoActionStatusSuccess. En este caso, como uno o varios archivos siguen en uso, las acciones InstallFiles o InstallAdminPackage posteriores deben programar los archivos en uso que se reemplazarán o eliminarán cuando se reinicie el sistema.

Si no hay ninguna tabla ListBox en la base de datos, InstallValidate se cierra silenciosamente sin un error.

El punto y coma es el delimitador de lista para transformaciones, orígenes y revisiones, y no debe usarse en estos nombres de archivo o rutas de acceso.

El instalador nunca considera en uso los archivos marcados como de solo lectura en una ubicación de solo lectura.

Si el nivel de la interfaz de usuario es básico, se presenta al usuario el cuadro de diálogo Espacio en disco insuficiente predeterminado que contiene los botones Anular y Reintentar.