WiX: Загадочные и трудно диагностируемые ошибки проверки ICE на сервере сборки build

I ' м пытаюсь интегрировать WiX в мое решение для автоматической сборки, используя TFS 2010, работающую на Windows Server 2008 R2. Все казалось очень простым, и тут я получил следующее:

light.exe: Ошибка при выполнении ICE действия «ICE01». Наиболее частой причиной такого сбоя ICE является неправильно зарегистрированный скриптовый движок. См. http://wix.sourceforge.net/faq.html#Error217 для получения дополнительных сведений и способов решения этой проблемы. Внешний журнал сообщений пользовательского интерфейса не ожидал следующего формата строки: «Невозможно получить доступ к службе установщика Windows. Это может произойти, если установщик Windows установлен неправильно. Обратитесь за помощью в службу поддержки».

Это странно . Но эй! Они предоставили ссылку. Это должно помочь, верно?

Ошибка LGHT0217
Ошибка выполнения ICE действия «ICE01». Наиболее частой причиной такого сбоя ICE является неправильно зарегистрированный скриптовый движок. См. http://wix.sourceforge.net/faq.html#Error217 для получения дополнительных сведений и способов решения этой проблемы. Внешний журнал сообщений пользовательского интерфейса не ожидал следующего формата строки: «Невозможно получить доступ к службе установщика Windows. Это может произойти, если установщик Windows установлен неправильно. Обратитесь за помощью в службу поддержки».

Это странно . Но эй! Они предоставили ссылку. Это должно помочь, верно?

Ошибка LGHT0217
Ошибка выполнения ICE действия «ICE01». Наиболее частой причиной такого сбоя ICE является неправильно зарегистрированный скриптовый движок. См. http://wix.sourceforge.net/faq.html#Error217 для получения дополнительных сведений и способов решения этой проблемы. Внешний журнал сообщений пользовательского интерфейса не ожидал следующего формата строки: «Невозможно получить доступ к службе установщика Windows. Это может произойти, если установщик Windows установлен неправильно. Обратитесь за помощью в службу поддержки».

Это странно . Но эй! Они предоставили ссылку. Это должно помочь, верно?

Ошибка LGHT0217
html # Error217 , чтобы узнать подробнее и о том, как решить эту проблему. Внешний журнал сообщений пользовательского интерфейса не ожидал следующего формата строки: «Невозможно получить доступ к службе установщика Windows. Это может произойти, если установщик Windows установлен неправильно. Обратитесь за помощью в службу поддержки».

Это странно . Но эй! Они предоставили ссылку. Это должно помочь, верно?

Ошибка LGHT0217
html # Error217 , чтобы узнать подробнее и о том, как решить эту проблему. Внешний журнал сообщений пользовательского интерфейса не ожидал следующего формата строки: «Невозможно получить доступ к службе установщика Windows. Это может произойти, если установщик Windows установлен неправильно. Обратитесь за помощью в службу поддержки».

Это странно . Но эй! Они предоставили ссылку. Это должно помочь, верно?

Ошибка LGHT0217
В WiX v3 Light автоматически запускает проверку - оценщики внутренней согласованности установщика Windows (ICE) - после каждой успешной сборки. Проверка - отличный способ выявить распространенные ошибки разработки, которые могут привести к проблемам со службами, поэтому теперь она выполняется по умолчанию. К сожалению, в Windows Vista и Windows Server 2008 часто возникает проблема, которая может привести к сбою ICE. Для получения подробной информации о причине и о том, как ее исправить, см. Блог Хита Стюарта и WebLog Аарона Стебнера.

Вовсе нет. Эти сообщения просто описывают ситуацию, связанную с регистрацией скриптового движка, а описываемых в них условий не было. Однако я наткнулся на Re: (WiX-users) Почему я получаю отказы ICE при построении учетной записи службы? (2010-01-14), который, казалось, указывает на то, что если я использовал учетную запись домена для запуска Служба установщика Windows, это сработает. Похоже, выстрел стоил.

«По какой-то причине в Windows 2008 (я не тестировал Vista, XP, 2003, 7 или 2008 R2) Служба MSI доступна только при входе в систему с административный доступ или "интерактивные" логины. Логины, которые из служебных учетных записей, которые не могут иметь административных привилегий

Итак, я возвращаюсь к локальной системе для учетной записи службы установщика Windows. На этот раз я сделал службу сборки локальным администратором, и о чудо! Однако это вряд ли решение.

Моя следующая идея заключалась в том, чтобы попытаться изолировать набор разрешений, который на самом деле потребуется службе сборки для выполнения этой задачи. Это было бы хорошим решением вместо добавления дополнительных учетных записей в набор администратора. Шаг 1: войдите в локальную политику безопасности и добавьте учетную запись службы сборки ко всем разрешениям, которые в настоящее время предоставлены администраторам. Теоретически это должно позволить сборке быть успешной, и оттуда я мог выборочно удалять разрешения, пока я не изолировал все разрешения, которые должны быть сохранены для успешного выполнения.

К сожалению, даже со всеми теми же разрешениями, сборка все равно завершится ошибкой, если учетная запись службы сборки не является членом локальных администраторов. Почему это? Какие еще вещи, помимо LSP, зависят от группы администраторов, которые я мог бы изменить, чтобы привести мою учетную запись службы сборки в соответствие с администраторами?

Текущий вывод: служба сборки должна быть администратором, чтобы избежать ошибок проверки ICE.

Открытые вопросы:

  • Почему моя идея изоляции разрешений не сработала?
  • Что это за таинственная ошибка 1297 , возникающая при запуске службы установщика Windows от имени пользователя домена? Там почти нет документации, которую я могу найти по этому поводу.

11
задан Yan Sklyarenko 12 January 2016 в 09:06
поделиться