/ / ¿Cómo no copiar un archivo en instalaciones posteriores? - wix, wix3.7

¿Cómo no copiar un archivo en instalaciones posteriores? - wix, wix3.7

En el Product.wxs, establezco Schedule = "afterInstallInitialize" en MajorUpgrade para que, si la instalación falla, vuelva a la versión anterior.

Nuestro servicio de Windows utiliza app.config que el instalador copió en la máquina instalada. Hacemos esto incluyendo la siguiente línea en el Product.wxs:

<Component Id="Config" Win64="yes">
<File Source="$(var.WixWindowsService2012.TargetDir)WixWindowsService2012.exe.config"
Name="WixWindowsService2012.exe.config"
Vital="yes" KeyPath="yes" />
</Component>

Solo queremos copiar este archivo app.config en la primera instalación, y NO queremos copiarlo en las instalaciones posteriores.

Cuando comento el elemento Componente anterior enProduct.wxs, la instalación falló porque durante la instalación, elimina app.config en la carpeta instalada y, como el Servicio de Windows requiere que se ejecute, la instalación falla.

¿Cómo puedo hacer que la instalación no copie app.config a la carpeta instalada si ya existe app.config?

Gracias.

Respuestas

0 para la respuesta № 1

El problema es que RemoveExistingProducts ofla actualización está eliminando el archivo, luego la actualización entrante instala el nuevo, como se explica en la lista de correo de WiX. RemoveExistingProducts debe estar justo antes de que InstallFinalize y después de InstallExecute al final.