При попытке установить программу с помощью пакета установки установщика Windows (.msi) может возникнуть ошибка 2738 или 2739, и установка завершится ошибкой.
Ошибки 2738, 2739 возникают, если программа установки Windows Installer использует настраиваемые действия Windows Script (.vbs или .js), а среды выполнения VBScript или JScript не зарегистрированы на компьютере.
Код ошибки | Описание |
2738 | Не удалось получить доступ к среде выполнения VBScript для настраиваемого действия |
2739 | Не удалось получить доступ к среде выполнения JScript для настраиваемого действия |
Как было сказано ранее, указанные выше ошибки возникают, если установщику не удается запустить JScript / VBScripts, поскольку механизмы VBScript / JScript не работают должным образом. Наиболее вероятной причиной является подключение антивирусного программного обеспечения к механизму сценариев, чтобы заблокировать выполнение сценариев.
Например, антивирусное программное обеспечение McAfee заменяет ссылку vbscript.dll в реестре на свою DLL (суффикс номера версии может быть разным) ниже:
C: Program Files Common Files McAfee SystemCore ScriptSn.20110222204811.dll
разрешение
Windows 10 и Windows 8, Windows 7 и более ранние версии
Чтобы автоматизировать следующие шаги, чтобы исправить ошибку 2738 и / или 2739, загрузите и запустите соответствующее исправление реестра - Скачать vbscript_jscript_2738_2739_fix.zip
Чтобы исправить ошибку Vbscript 2738 и / или ошибку JScript 2739 вручную:
- (Прежде чем продолжить, вы можете создать Точка восстановления системы или возьмите полная резервная копия реестра .)
Исправление ошибки VBScript 2738
- Запустите редактор реестра (
regedit.exe
) - Перейдите в следующую ветку:
HKEY_LOCAL_MACHINE SOFTWARE Classes CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} InprocServer32
- На правой панели дважды щелкните (по умолчанию) и установите его данные на:
C: Windows System32 vbscript.dll
- Если вы используете 64-битная версия Windows дополнительно перейдите к следующему ключу:
HKEY_LOCAL_MACHINE SOFTWARE Classes Wow6432Node CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} InprocServer32
- На правой панели дважды щелкните (по умолчанию) и установите его данные на:
C: Windows SysWOW64 vbscript.dll
- Перейдите к следующим ключам (если они есть) в
HKEY_CURRENT_USER
HKEY_CURRENT_USER ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Классы CLSID {B54F3741-5B07-11cf-A4B0-00AA004A55E8} HKEY_CURRENT_USER SOFTWARE Classes Wow6432Node CLSID {B54F3741-5B070-11cB54F3741-5B07-11c
- Удалите каждый из указанных выше ключей.
- Закройте редактор реестра.
Исправление ошибки JScript 2739
- Запустите редактор реестра (
regedit.exe
) - Перейдите в следующую ветку:
HKEY_LOCAL_MACHINE SOFTWARE Classes CLSID {f414c260-6ac0-11cf-b6d1-00aa00bbbb58} InprocServer32
- На правой панели дважды щелкните (по умолчанию) и установите его данные на:
C: Windows System32 jscript.dll
- Если вы используете 64-битная версия Windows дополнительно перейдите к следующему ключу:
HKEY_LOCAL_MACHINE SOFTWARE Classes Wow6432Node CLSID {f414c260-6ac0-11cf-b6d1-00aa00bbbb58} InprocServer32
- На правой панели дважды щелкните (по умолчанию) и установите его данные на:
C: Windows SysWOW64 jscript.dll
- Перейдите к следующим ключам (если они есть) в
HKEY_CURRENT_USER
HKEY_CURRENT_USER ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Классы CLSID {f414c260-6ac0-11cf-b6d1-00aa00bbbb58} HKEY_CURRENT_USER SOFTWARE Classes Wow6432Node CLSID {f414c260-6ac6bb1-00cf} -b00bb58-008
- Удалите каждый из указанных выше ключей, если они существуют.
- Закройте редактор реестра.
Техническое объяснение ошибок 2738 и 2739
Цитирование Раймонд Чен [Microsoft]
В целях безопасности установщик Windows не будет загружать обработчики сценариев, зарегистрированные в HKEY_CURRENT_USER. В качестве хранилища, доступного для записи, обычный пользователь может получить установку с повышенными привилегиями для запуска маскировки своей библиотеки в качестве механизма сценария, если настраиваемое действие не было явно указано с помощью msidbCustomActionTypeNoImpersonate (0x0800). Это атака с повышением привилегий, поэтому установщик Windows возвращает сообщение об ошибке 2738 или 2739 для настраиваемых действий типа 6 и типа 5, соответственно, и возвращает ошибку Windows 1603, ERROR_INSTALL_FAILURE.
Убедитесь, что vbscript.dll и jscript.dll не зарегистрированы в HKEY_CURRENT_USER (HKCU), проверив ключи реестра ниже.
VBScript: HKCU SOFTWARE Classes CLSID {B54F3741-5B07-11CF-A4B0-00AA004A55E8}
JScript: HKCU SOFTWARE Classes CLSID {F414C260-6AC0-11CF-B6D1-00AA00BBBB58}
Удалите эти ключи, если они существуют в HKEY_CURRENT_USER (HKCU).
СВЯЗАННЫЙ: Не удается найти движок сценариев Vbscript и «нет механизма сценариев для .vbs»Альтернативный метод для Windows 7, Vista и более ранних версий
- Откройте повышенная командная строка . Для этого нажмите кнопку Пуск, выберите Все программы, щелкните Стандартные, щелкните правой кнопкой мыши Командная строка, а затем щелкните Запустить от имени администратора .
- Выполните следующие команды одну за другой и нажмите
Войти
после каждой строки:regsvr32 vbscript.dll regsvr32 jscript.dll
Для 64-разрядных выпусков Windows выполните эти две команды к тому же :
c: windows syswow64 regsvr32.exe vbscript.dll c: windows syswow64 regsvr32.exe jscript.dll
Вы должны увидеть результат DllRegisterServer в filename.dll успешно завершен для каждой команды. Если вы получили ошибку
0 × 80004005
, вероятно, это связано с тем, что вы пытаетесь зарегистрировать библиотеки DLL из обычного (без повышенных прав) окна командной строки. - Тип Выход , чтобы закрыть окно командной строки.
Метод Regsvr32.exe не удаляет избыточный раздел реестра HKCU. Если этот метод не помогает, следуйте описанному ранее методу редактирования реестра.
Одна небольшая просьба: если вам понравился этот пост, поделитесь им?
Одна «крошечная» публикация от вас серьезно помогла бы росту этого блога. Несколько отличных предложений:- Приколи это!
- Поделитесь этим в своем любимом блоге + Facebook, Reddit
- Твитнуть!