Произошла ошибка с настраиваемым действием RegisterComPlus с WIX 3.9 и выше - PullRequest
0 голосов
/ 15 октября 2018

Мы, в Microsoft, так долго использовали набор инструментов WIX 3.5.2519.0 для сборки программы установки и исправлений для нашего продукта с именем (System Center Service Manager или SCSM).Недавно нам нужно обновить WIX Toolset 3.14.0.1703, так как эта версия поддерживает TLS1.2.

Сборка нашего проекта с WIX Toolset 3.14.0.1703 прошла нормально, но при установке я получаю следующую ошибку:

Затем я собрал продукт один за другим со всеми версиями WIX, и вот результаты:

Продукт, созданный с помощью WIX ToolSet версии 3.8 и ниже, работает нормально, а установщик работал нормально.
Но с ToolSet 3.9 и выше, установщик получает сбой с ошибкой: произошла ошибка при выполнении настраиваемого действия RegisterComPlus

Фрагмент журналов: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Начало действия 21:11:37: RegisterTypeLibraries.

MSI (48: B0) [21: 11: 37: 585]: Doingaction: SelfRegModules

Действие завершено 21:11:37: RegisterTypeLibraries.Возвращаемое значение 0.

Начало действия 21:11:37: SelfRegModules.

MSI (48: B0) [21: 11: 37: 588]: Выполнение действия: RegisterComPlus

Действие завершено 21:11:37: SelfRegModules.Возвращаемое значение 1.

MSI (s) (48: B0) [21: 11: 37: 589]: примечание: 1: 2205 2: 3: Complus

MSI (s) (48: B0) [21: 11: 37: 589]: Примечание: 1: 2228 2: 3: Complus 4: SELECT ComponentId, FileName, Component. Directory_, ExpType, Component. Action, Component. Installed ОТ Complus, Component, File ГДЕ Complus. Component_ = Component И Component. KeyPath = File. File И (Action = 1 ИЛИ Action = 2)

Начало действия 21:11:37: RegisterComPlus.

MSI (s) (48: B0) [21:11: 37: 591]: Примечание: 1: 2265 2: 3: -2147287035

MSI (48: B0) [21: 11: 37: 591]: значение политики компьютера 'DisableRollback' равно0

MSI (48: B0) [21: 11: 37: 592]: примечание: 1: 1402 2:

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer\ Откат \ Сценарии 3: 2

Действие завершено 21:11:37: RegisterComPlus.Возвращаемое значение 0.

MSI (48: B0) [21: 11: 37: 592]: примечание: 1: 1402 2:

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \CurrentVersion \ Installer \ Rollback \ Scripts 3: 2

MSI (48: B0) [21: 11: 37: 592]: нет порядкового номера восстановления системы для этой установки.

MSI (48: B0) [21: 11: 37: 592]: разблокировка сервера

MSI (48: B0) [21: 11: 37: 602]: примечание: 1:2717 2:

_Set_Rollback_RemoveCodeGroup.1CA03A32_06E0_4726_8E63_FEA4484D9D6F ОТЛАДКА: Ошибка 2717: условие недопустимого действия или ошибка при вызове настраиваемого действия '_Set_Rollback_RemoveCodeGroup.1CA03A32_06I) (10 *): 87E6 (067) 686 (566) 063 (566) 063 (566) 063 (566) 063) 683: 37: 622]: ввод / вывод в потоке 720 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 1244 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 3392 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 928 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 680 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 4528 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 2156 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 2316 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 3980 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 5172 не может быть отменен.Ошибка: 1168

MSI (48:74) [21: 11: 37: 622]: ввод / вывод в потоке 2724 не может быть отменен.Ошибка: 1168

MSI (48: B0) [21: 11: 37: 622]: Продукт: Microsoft System Center Service Manager - Программа установки обнаружила непредвиденную ошибку при установке этого пакета.Это может указывать на проблему с этим пакетом.Код ошибки - 2717. Аргументы: _Set_Rollback_RemoveCodeGroup.1CA03A32_06E0_4726_8E63_FEA4484D9D6F,,

Программа установки обнаружила непредвиденную ошибку при установке этого пакета.Это может указывать на проблему с этим пакетом.Код ошибки - 2717. Аргументы: _Set_Rollback_RemoveCodeGroup.1CA03A32_06E0_4726_8E63_FEA4484D9D6F,, Действие завершено 21:11:37: УСТАНОВИТЬ.Возвращаемое значение 3. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Есть ли какие-либо изменения, сделанные в WIX Toolset 3.9 и более поздних версиях, которые нарушают работу моего установщика?Любое решение для этого?

Пожалуйста, дайте мне знать, если вам потребуется дополнительная информация.

Спасибо, Раджив

1 Ответ

0 голосов
/ 16 октября 2018

Хм, пока никаких предложений. Это будет не ответ, но некоторые предложения, которые помогут вам помочь себе .Это происходит слишком часто для вопросов развертывания, так как их трудно отладить или определить, что происходит с доступной ограниченной информацией.

Мне кажется, что это не может быть проблемой COM +, так как выглядит как пользовательскийдействие завершено ОК:

Action ended 21:11:37: RegisterComPlus. Return value 0.

Давайте попробуем несколько длинных бросков.Терпите меня, потому что многое из этого будет немного там.Торпеды.Полный спред и все такое :-) (бегите за прикрытием):

  1. Сравнительное страдание - : -) : Я мог бы сравнить работающий MSI и новый MSI, используя подходы сравнения, найденные здесь .Я не думаю, что вы найдете много, но, вероятно, должно быть сделано.Сравнивать MSI напрямую и декомпилировать с помощью dark.exe?Последнее имеет мало логического смысла, но я хочу посмотреть, изменилось ли что-то в том, как WiX связывает MSI.

  2. Устранить сложность :Мне нравится вынимать сложные детали и смотреть, все ли в порядке установки.Это может быть настоящей пустой тратой времени, но иногда освещается.

    • Я бы вынул тот модуль слияния, который добавляет это настраиваемое действие, и проверил бы, что остальная часть пакета устанавливается, как ожидалось.Иногда это не работает, если для настраиваемых действий происходит высокая связь (очевидно).

    • Вы также можете установить условие для некоторых настраиваемых действий на 0.Это должно предотвратить запуск настраиваемого действия.Вы можете добавить AND 0, если существует существующее условие.

  3. Отключить откат? : еще один длинный выстрел.Отключить откат MSI и попробовать пробную установку на чистой виртуальной машине?Просто чтобы увидеть, есть ли проблемы в откате пользовательских действий.Я бы использовал DISABLEROLLBACK свойство , чтобы отключить откат.Обратите внимание, что отключение отката не является решением, хотя!(должен упоминаться для тех, кто находит это).

  4. Доступ к источнику настраиваемого действия : если у вас есть доступ к источнику настраиваемого действияКод, который я бы попытался отладить в интерактивном режиме, используя Visual Studio, как описано здесь: Отладка C # Пользовательские действия Вы компилируете код в режиме отладки (таким образом, у вас есть отладочные dll-файлы в MSI - убедитесь, что они не включены случайно для публичного выпуска!), И покажите окно сообщения из настраиваемого действия, затем присоедините отладчик Visual Studio и выполните шаги черезкод.Для присоединения собственного кода к msiexec.exe, для присоединенного управляемого кода к rundll32.exe.

...