Я работаю над функцией обновления для моего установщика на базе WiX.
Как часть установки, мы устанавливаем файл web.config, а затем используем настраиваемое действие для обновления строк подключения внутри файла.
Но это вызывает проблему при запуске нашего обновления. Мы хотели бы, чтобы RemoveExistingProducts планировалось после InstallFinalize, поскольку это наиболее эффективно с точки зрения не удаления и переустановки файлов, которые не изменились. Но это оставляет исходный файл web.config на месте в то время, когда установщик Windows пытается определить, следует ли его обновлять или нет. Поскольку последняя измененная дата более поздняя, чем дата создания, установщик Windows решает не обновлять его (см. правила управления версиями, которые использует установщик Windows). Но нам нужно, чтобы он обновлялся.
Одним из очевидных решений является изменение планирования RemoveExistingProducts после InstallValidate - но это неэффективно, а также, я не думаю, что это даст нам возможность перенести настройки из существующих файлов, если нам нужно это сделать.
Любые другие идеи?