MyApp versión 1.0 contenía el archivo foo.dll. La versión de este archivo era la versión 10.5.567. Ahora MyApp es la versión 2.0 y la versión de foo.dll es 2.0.123. La versión es más BAJA que la versión anterior. El proveedor que escribió este dll decidió ir hacia atrás con el número de versión del archivo. Esta no es una decisión que pueda cambiar.Instale un archivo independientemente del número de versión con WiX
¿Cómo consigo que WiX siempre instale este archivo?
La acción RemoveExistingProducts está programada después de la acción InstallFinalize y tampoco se puede cambiar.
InstallShield tenía un indicador de "sobrescribir siempre", pero no creo que pueda imitar esto sin cambiar el comportamiento de todos los archivos mediante un interruptor de compilación. No quiero esto. Solo quiero actualizar ESTE archivo.
también he intentado
<RemoveFile Id="foo.dll" On="install" Name="foo.dll" />
Pero esto no funcionaba bien. Termino recibiendo 'Error 2753 El archivo foo.dll no está marcado para la instalación' más adelante.
Havent lo intentó, pero parece posible. Ver mi respuesta en este hilo para un enlace a una lista de diferentes enfoques. –
Intenté usar DefaultVersion para instalar un archivo .MDE y funcionó bien cuando instalé el parche, el archivo se sobrescribió correctamente. El único problema era que el parche no se desinstalaba. El registro de instalación decía "Nuevo archivo versionado - archivo existente no versionado", y la desinstalación solicitó los medios originales. Todavía no he resuelto esto, así que cualquier sugerencia sería bienvenida. – Dave