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

Ошибка установки: не удалось получить доступ к среде выполнения VBScript для настраиваемого действия

Я пытаюсь установить пакет на сервер Windows 2008. Пакет отказывается устанавливать. Я запустил установку со следующей командной строкой, переключенной на получение файла журнала:

/ lxv InstallLog.txt

Это ошибка, которую я вижу в файле:
Ошибка 2738. Не удалось получить доступ к среде выполнения VBScript для настраиваемого действия.

Я осмотрелся и нашел людей, говорящих, что это необходимо:
Regsvr32 vbscript.dll

Это связано с тем, что в системе Windows Server 2008 VBScript.dll не зарегистрирован для HKeyCurrent_User, а только для HKeyLocal_Machine из-за проблем с безопасностью. Это не совсем "пахнет".

Сначала я попытался запустить установку от имени администратора, но безуспешно.
Я написал небольшую программу на VBScript, которая отображает окно сообщения и работает правильно. В файле: Test.VBS у меня вот такое:

msgbox("Hello world")

Когда я дважды щелкаю по нему, появляется окно сообщения, подразумевающее, что VBScript действительно работает.
Я отключил UAC на машине, но все равно получаю сообщение об ошибке.

Как предложил Эван, я подтвердил следующую регистрацию:

HKCU\SOFTWARE\Classes\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}

Он существует и выглядит нормально.
В качестве еще одного теста я запустил Regsvr32 vbscript.dll из консоли администратора и попробовал снова. Все еще не повезло, я получаю те же ошибки, что и раньше.

VBScript для настраиваемых действий - дурной тон. Вы должны опровергнуть того, кто создал этот установочный пакет.

Вы дважды проверили, что следующий раздел реестра не существует:

HKCU\SOFTWARE\Classes\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8} 

Во-вторых, когда вы запускали команду «REGSVR32 vbscript.dll», вы делали это из повышенный командная строка?

Причина, по которой MSIEXEC не загружает VBscript.dll, зарегистрированный в HKEY_CURRENT_USER, заключается в том, что MSIEXEC работает с повышенными правами, и непривилегированный пользователь потенциально может зарегистрировать троянский конь VBscript.dll и использовать его в качестве механизма для выполнения кода в расширенном режиме. контекст. Это функция безопасности, а не ошибка.

Вы запускали установку как «администратор» или «администратор»? Если первое, то, вероятно, вмешивается UAC. Войдите в систему как администратор и перезапустите установку.

В наши дни эта проблема часто возникает на ServerFault. Если вы настаиваете на использовании UAC на (не Терминальном) сервере, то вход в систему с правами администратора - это самый простой способ избежать подобных проблем.

JR