La actualización de Wix Tools usa acciones personalizadas antiguas

descubrimos algunos comportamientos extraños con las herramientas de configuración de WIX. Hemos implementado algunas versiones principales (2.2.0 - a 2.2.4). Para 2.2.5 cambiamos cosas pequeñas en acciones personalizadas (antes de usar XCOPY, ahora usamos RoboCopy porque tiene un comando "MOVER" y no solo una copia).

Pero cuando ahora actualizamos de 2.2.4 a 2.2.5, la configuración todavía usa el antiguo comando Copiar en lugar del nuevo comando MOVE, pero esto no puede ser porque 2.2.5 no tiene ningún comando Copiar. Si despliego un 2.2.6 (idéntico a 2.2.5) y actualizo desde 2.2.5, usa el nuevo proceso de actualización ... Parece que la actualización usa el antiguo MSI.

Encontré esto en SO

¿Hay alguna forma de prevenir este comportamiento? Esto interrumpe completamente el proceso de actualización ya que los archivos de configuración existentes no se copian correctamente en la actualización.

No podemos obligar al cliente a limpiar el registro o eliminar cualquier archivo MSI del caché del formulario por GUID ...

Cualquier ayuda apreciada. Gracias por adelantado

ACTUALIZACIÓN: Nueva acción personalizada en Product.wxs

<Property Id="C_TEMP" Value="C:\Temp" />
      <Property Id="ROBOCOPY_EXE">robocopy.exe</Property>
      <CustomAction Id="CopyToTemp" Property="ROBOCOPY_EXE" Return="ignore" ExeCommand='"[INSTALLDIR]\Configuration" "[C_TEMP]\ServerSettings" ServerSettings.json' />
      <CustomAction Id="CopyFromTemp" Property="ROBOCOPY_EXE" Return="ignore" ExeCommand='"[C_TEMP]\ServerSettings" "[INSTALLDIR]\Configuration" ServerSettings.json /MOVE /IS' />

Antigua acción personalizada

<Property Id="C_TEMP" Value="C:\Temp" />
  <Property Id="XCOPY_EXE">xcopy.exe</Property>
  <CustomAction Id="CopyToTemp" Property="XCOPY_EXE" Return="ignore" ExeCommand='"[INSTALLDIR]\Configuration\ServerSettings.json" "[C_TEMP]\ServerSettings.json.bak*" /YIR' />
  <CustomAction Id="CopyFromTemp" Property="XCOPY_EXE" Return="ignore" ExeCommand='"[C_TEMP]\ServerSettings.json.bak" "[INSTALLDIR]\Configuration\ServerSettings.json*" /YIR' />

Luego el código no cambió hasta ahora

<InstallExecuteSequence>
  <Custom Action="CopyToTemp" Before="InstallInitialize">Installed AND (NOT REMOVE="ALL" OR UPGRADINGPRODUCTCODE)</Custom>
  <Custom Action="CopyFromTemp" Before="SetVersionsInRegistry">NOT Installed OR Installed AND (NOT REMOVE="ALL" OR UPGRADINGPRODUCTCODE)</Custom>

.....
</InstallExecuteSequence>

Respuestas a la pregunta(2)

Su respuesta a la pregunta