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

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

light.exe: ошибка при выполнении ICE акция "ICE01". Наиболее частой причиной такого сбоя ICE является неправильно зарегистрированный скриптовый движок. Подробнее см. http://wix.sourceforge.net/faq.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 доступна только для учетных записей, которые имеют административный доступ или являются« интерактивными ». от учетных записей служб, которые не имеют административных привилегий, не могут получить доступ к службе msi и, следовательно, не могут запускать тесты ICE. "

Однако при попытке запустить службу установщика Windows с моей учетной записью службы сборки:

Windows не может запустить службу установщика Windows на SKILLET-1. Ошибка 1297: привилегия, которая требуется службе для правильной работы, не существует в конфигурации учетной записи службы. Вы можете использовать оснастку Services Microsoft Management Console (MMC) (services.msc) и оснастку Local Security Settings MMC (secpol.msc) для просмотра конфигурации службы и конфигурации учетной записи.

Хорошо, Windows, значит, вы говорите мне, что в моей учетной записи службы сборки отсутствует какое-то неоднозначное разрешение, необходимое для запуска службы. Администратор должен это исправить? Нет, это тоже не работает.

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

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

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

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

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

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

person bwerks    schedule 27.09.2010    source источник
comment
Только что опубликовал свои выводы на странице stackoverflow.com/q/1064580/33499 Надеюсь, это поможет.   -  person imagi    schedule 15.03.2012
comment
Я только что столкнулся с этим сегодня с WiX 3.8 на установке агента Win 8.1. Я не сталкивался с теми же проблемами, что и вы, но я настроил его так же, как и все другие агенты, которые у меня есть, за исключением того, что он находится в домене. Может ли это быть виновником? Если да, то как вы это обошли?   -  person kayleeFrye_onDeck    schedule 19.05.2015


Ответы (1)


Я тоже столкнулся с той же проблемой. После некоторой борьбы и поиска в Google я пришел к решению, согласно которому подавление проверки ICE в проекте WiX приведет к компиляции проекта.

person Sunil Agarwal    schedule 27.03.2011