Cómo verificar si es una instalación silenciosa desde la DLL de acción personalizada.
Cuando mi instalador se inicia con el comando de línea msiexec /q /i
, ¿hay alguna manera de indicar que es una instalación silenciosa desde mi acción personalizada en C++ DLL?
PD. Estoy utilizando WiX para construir mi MSI.
davy.ai
Sí, puedes detectar si la instalación se está ejecutando en silencio verificando la propiedad
UILevel
dentro de tu acción personalizada DLL de C++. Esta propiedad indica el nivel de interfaz de usuario que se está mostrando actualmente durante la instalación. Si la instalación se está ejecutando en silencio, el valor de esta propiedad se establecerá en2
.Para acceder a esta propiedad desde tu acción personalizada DLL, puedes utilizar la función
MsiGetProperty
de la API de Windows Installer. El código se vería algo así:Puedes incluir este código en tu acción personalizada DLL y activarlo durante el proceso de instalación para detectar si la instalación se está ejecutando en silencio o no.