Почему это мешает мне установить MSI: Системный администратор установил политики для предотвращения этой установки


28

Я пытаюсь установить MSI на компьютере под управлением Windows Server 2012, который является частью моей лабораторной области. Я являюсь локальным администратором и администратором домена, но мне кажется, что я не могу установить этот MSI.

Для пояснения, при попытке установить расширение git для Visual Studio (расположенного здесь ), вошедшего в систему как пользователь домена, который является частью группы администраторов, я получаю следующую ошибку

введите описание изображения здесь

Компьютер, сообщающий об ошибке, является Windows Server 2012.

Я почти уверен, что это должно быть какое-то ограничение групповой политики? Ни один не будет установлен, если это не уровень безопасности по умолчанию?

Для пояснения хотелось бы узнать, что мешает установить этот MSI администратором домена?

Ответы:


37

Проведя время, глядя на групповую политику, насколько я мог судить, не было ничего, что было бы актуально. Затем я наткнулся на этот пост, который предлагает мне попробовать запустить командную строку в качестве администратора и запустить

 msiexec /a install.msi

Казалось, это работает, но работает очень быстро - на самом деле это не так . По какой-то причине я попробовал это в командной строке администратора.

 msiexec /i install.msi

который работал удовольствие.


Это работает, но это может раздражать каждый раз, когда вы устанавливаете из MSI. См. Ответ Армина Садеги ниже для долгосрочного решения.
Джейк

17

Я столкнулся с таким поведением, когда установка MSI предотвращается с помощью «Системный администратор установил политики для предотвращения этой установки» ранее. Я полагаю, что это связано с политикой ограничения программного обеспечения Windows по умолчанию, и я видел ее на Windows Server 2008 R2 и Windows Server 2012.

Вероятно, есть лучший способ изменить политику на основе графического интерфейса, но установка следующего ключа reg в качестве администратора на машине делает свое дело:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"DisableMSI"=dword:00000000

5
Это работает на 100%
Ян Чрболка

3
Это сработало для меня. Мне пришлось добавить часть пути «Установщик» в качестве ключа, а затем добавить DWORD «DisableMSI» (без кавычек).
Майк С

1
При обновлении AcrobatReader появилось такое же сообщение об ошибке, после изменения реестра на нулевую установку прошла успешно.
Кемин Чжоу

Попытался найти ключ «DisableMSI» в пути реестра «HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ Installer», но папка «Installer» не существует. Должен ли я создать папку установщика и добавить dable DisableMSI?
Харви Дарви

2

Обычно это происходит из-за групповой политики или локальной политики, отключающей установщик Windows.

Проверьте свой контроллер домена, если у вас есть объект групповой политики, отключающий «Установщик Windows»: Конфигурация компьютера> Административные шаблоны> Компоненты Windows> Установщик Windows> «Отключить установщик Windows».

Убедитесь, что установлено «Не настроено» или «Отключено».

Если вы не нашли его в своем объекте групповой политики, посмотрите локальные политики компьютера с помощью gpedit.msc.

Примечание: тот факт, что вы являетесь администратором домена, не имеет значения. Все зависит от сферы применения объекта групповой политики.


2
Verify that it is set to "Not configured" or "Disabled".Это не правда. По умолчанию (не настроено) это 1означает managed only. msdn.microsoft.com/en-us/library/aa368304.aspx Отключено с точки зрения gpos означает, что политика будет отключена, поэтому ключ reg будет удален и используется значение по умолчанию. Звук странный, но вы должны выбрать Enabledи выбрать Neverв выпадающем списке.
Юрген Стейнблок

1

У нас была точно такая же проблема при сборке MSI с использованием IsCmdBld.exe, но не при сборке из пользовательского интерфейса программного обеспечения InstallShield.

При запуске установщика мы увидим ошибку, упомянутую OP, и журнал установки покажет: MSI_LUA: Invalid Descriptor Format.

Причина проблемы заключалась в том , что мы проезжали значение ProductCode Guid в командной строке IsCmdBld.exe , как это: -z "ProductCode"="f176c219-dec0-4fa9-a373-94a711f28a3d".

Вы можете видеть, что представленный здесь Guid не окружен {и }.

Мы исправили это, передавая guid с квадратными скобками: он -z "ProductCode"="{f176c219-dec0-4fa9-a373-94a711f28a3d}"работает, как ожидалось, и больше не отображает ошибку.


0

щелкните правой кнопкой мыши -> запустить от имени администратора


2
Чем это отличается от принятого ответа?
Дэйв М

0

Ни msiexec, ни исправления реестра не работали для меня (даже после перезагрузки), но отключение контроля учетных записей (как было предложено Ха Ли в этой теме ) и перезагрузка сделали свое дело.


-2

У вас есть возможность отключить UAC через реестр, изменив значение DWORD EnableLUAс 1на 0на HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system. Вы получите уведомление о необходимости перезагрузки. После перезагрузки UAC отключен.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.