A atualização do Wix Tools usa ações customizadas antigas

descobrimos um comportamento estranho usando as ferramentas de instalação do WIX. Implementamos algumas versões principais (2.2.0 - a 2.2.4). Na versão 2.2.5, alteramos pequenas coisas nas ações personalizadas (antes de usarmos o XCOPY, agora usamos o RoboCopy porque ele possui um comando "MOVE" e não apenas uma cópia).

Mas quando agora atualizamos do 2.2.4 para o 2.2.5, a instalação ainda usa o antigo comando Copy em vez do novo comando MOVE, mas isso não pode acontecer porque o 2.2.5 não possui nenhum comando Copy. Se eu implantar um 2.2.6 (idêntico ao 2.2.5) e atualizar do 2.2.5, ele usará o novo processo de atualização ... Parece que a atualização usa o MSI antigo.

Encontrei isso no SO

Existe alguma maneira de impedir esse comportamento? Isso interrompe completamente o processo de atualização, pois os arquivos de configuração existentes não são copiados corretamente na atualização.

Não podemos forçar o cliente a limpar o registro ou remover qualquer cache do formulário de arquivos MSI pelo GUID ...

Qualquer ajuda apreciada. desde já, obrigado

UPDATE: Nova ação personalizada no 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' />

Ação personalizada antiga

<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' />

Depois, o código não mudou até o momento

<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>

questionAnswers(2)

yourAnswerToTheQuestion