У меня есть приложение WiX Managed Bootstrapper, которое устанавливает некоторые MSI. У меня также есть серия тестов, которые проверяют различные функции установщика. Проблема, с которой я столкнулся, связана с тестом на ремонт. Тест намеренно повреждает все устанавливаемые библиотеки DLL, а затем вызывает установщик EXE с флагами «/ repair / passive». После завершения восстанавливается около 80% DLL, но остальные остаются нетронутыми и, следовательно, все еще повреждены после восстановления.
Если я вручную запускаю msiexec на отдельном MSI с аргументом командной строки «/ fa», который инструктирует MSI принудительно заменить все установленные файлы, он исправляет 100% библиотек DLL.
У меня вопрос: как я могу заставить MBA дать указание каждому MSI ремонтировать таким образом? Я попытался установить для свойства REINSTALLMODE значение amus для отдельных MSI в их файлах .wxs, но MBA перезаписывает их во время выполнения, что видно в журнале по этой строке:
PROPERTY CHANGE: Modifying REINSTALLMODE property. Its current value is 'amus'. Its new value: 'cmuse'.
Я также пытался настроить свойства в MBA для передачи на каждый MSI, но он, похоже, не передает их, а вместо этого использует значения по умолчанию.
Я вижу здесь много похожих вопросов, но на самом деле ни один из них не касается этой конкретной проблемы. Любая помощь будет принята с благодарностью. Роб спаси меня!