Назад | Перейти на главную страницу

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

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

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

Машина, сообщающая об ошибке, - это Windows Server 2012.

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

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

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

 msiexec /a install.msi

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

 msiexec /i install.msi

который сработал.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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