Tenemos un instalador de producto creado con Wix, que contiene un paquete de programa ("V1") y algunos archivos de configuración. Ahora, vamos a hacer una actualización importante con un nuevo código de producto, donde se desinstala la versión anterior del producto y se instala "V2". Lo que queremos es guardar uno de los archivos de configuración de la desinstalación, ya que también es necesario para el V2. Lamentablemente, olvidamos configurar la opción Permanent="yes"
cuando entregamos V1 (read this question para obtener más información).WiX, cómo evitar que los archivos se desinstalen aunque olvidamos establecer Permanent = "yes"
Aquí viene la pregunta: ¿hay alguna manera fácil de evitar la desinstalación del archivo de todos modos? Por supuesto, podríamos agregar una acción personalizada al script para hacer una copia de seguridad del archivo antes de la desinstalación, y otra acción personalizada para restaurarlo después, pero en mi humilde opinión parece ser excesivo para esta tarea y podría interferir con otras partes del proceso de registro de MSI. .
EDITAR: Y sí, el atributo NeverOverwrite="yes"
ya está configurado en V2, y el comportamiento es como lo describí.
No creo que ayude cambiar algo directamente en los parámetros de los componentes de V2. Quizás hay una posibilidad de modificar el registro de alguna manera en una acción personalizada antes de desinstalar V1, por lo que el servicio de instalación cree que el archivo de configuración en V1 se instaló con Permanent="yes"
?
¿No puede simplemente reinstalar esos archivos, o es que desea conservar el archivo local porque pueden haber sido modificados? –
Ese es exactamente el caso: el archivo de configuración puede haberse modificado y se debe mantener tal como está. –