Установщик WiX удаляет файлы на удалении, но не на обновлении

У меня есть программа, которая устанавливает с установщиком WiX.

Сама программа создает много файлов в [CommonAppDataFolder] \[MyAppName] \каталог. Эти файлы у всех есть то же расширение (позволяет, называют это .dat).

На обновлении я хочу сохранить эти файлы.
На удалении я хочу удалить эти файлы.

Я в настоящее время удаляю файлы как так:

<Directory Id='CommonAppDataFolder'>
  <Directory Id='MyCommonAppDataFolder' Name='MyAppName'>
    <Component Id='RemoveFilesComponent' Guid='71cb0cd8-8459-4a8f-89b7-f00977aa7b70'>
      <RemoveFile Id='RemoveFiles' Name='*.dat' On='uninstall'/>
    </Component>
  </Directory>
</Directory>

И у меня есть это для упрощения обновлений:

<InstallExecuteSequence>
  <RemoveExistingProducts After='InstallInitialize'/>
</InstallExecuteSequence>

Теперь, когда я удаляю, .dat файлы удалены правильно.
Однако, когда я обновляю, .dat файлы также удалены. Я предполагаю, потому что обновление выполняет удаление на предыдущей версии.

Я приближаюсь к этой проблеме правильно? Как я могу сохранить файлы на обновлении при удалении их на удалении?

12
задан Brian Tompsett - 汤莱恩 8 July 2015 в 21:51
поделиться

2 ответа

Вы пробовали добавить условие в RemoveExistingProducts? Я бы так и поступил.

<RemoveExistingProducts After='InstallInitialize'>(NOT UPGRADINGPRODUCTCODE) AND (Installed)</RemoveExistingProducts>
2
ответ дан 2 December 2019 в 23:50
поделиться

Одним из вариантов было бы переключение на незначительное обновление. Это имеет много ограничений, поэтому это не так просто, как кажется.

1
ответ дан 2 December 2019 в 23:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: