Почему это мешает мне установить 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}"работает, как ожидалось, и больше не отображает ошибку.

KavenG
источник
0

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

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

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

Майлз Вольбе
источник
-2

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

Bismarck
источник