Моя связка WiX ведет себя очень плохо на конкретной машине XP (x86). Он останавливается на шесть минут во время фазы «инициализации» (перед запуском любых связанных установщиков). Из журналов кажется, что это очень вероятно из-за изворотливого состояния обновления Windows на машине:
[090C:0FC0][2018-03-27T19:31:17]i358: Pausing automatic updates.
[090C:0FC0][2018-03-27T19:37:23]w308: Automatic updates could not be paused due to error: 0x80080005. Continuing...
[090C:0FC0][2018-03-27T19:37:23]i360: Creating a system restore point.
Для сборки я использую WiX v3.10. Я могу найти очень похожие ситуации в поиске Google, но решение всегда сводится к обновлению целевой машины. Мне нужно, чтобы этот установщик работал должным образом, несмотря ни на что. Когда я тестирую обычный msi на том же компьютере, он проходит нормально.
Есть ли способ решить эту проблему? Например. могу ли я остановить попытку пакета WiX приостанавливать обновление Windows или что-то подобное? Тот факт, что установщик даже не уведомляет о проблеме, является чрезвычайно проблематичным, любой пользователь может быть сбит с толку.
Вся суть этого установщика WiX состоит в том, чтобы сделать установочный пакет переносимым и простым, но на самом деле он кажется МЕНЬШЕ переносимым, чем просто msi ...
Обновление: также пытался собрать пакет с WiX 3.11, но возникла та же проблема. Хотя теперь он вызывает фактическую ошибку, а не установку, независимо от того, что, как я полагаю, является улучшением.
Похоже, я плохо собрал связку. Я перестроил все с помощью WiX 3.10, и установка по истечении тайм-аута больше не выполнялась. Он по-прежнему приостанавливается на 6 минут из-за проблемы с обновлением Windows, но это приемлемо, поскольку не ставит под угрозу установку (в отличие от того, что было раньше). Я обновил вопрос, чтобы отразить это.
XP? Ой. Я обязательно скажу, что служба поддержки делает все возможное и в основном тестируется только на полностью исправленной XP с работающим обновлением Windows.
Я почти уверен, что это вредоносное ПО - извините. Надеюсь, что нет. См. Мой обновленный ответ ниже. Я думаю, что нашел висящий вызов COM, но я думаю, что это не очень помогает.
Дубликат stackoverflow.com/questions/44197835/…