Простой VBScript, содержащий одну строку wscript.quit(2)
, вызываемый из пакетного сценария, не передает значение параметра quit в переменную уровня ошибки пакета, как это должно быть - пакетный файл только отображает уровень ошибки по умолчанию (0).
Я недавно удалил VB6 (необходимо для чистой установки VB.net), и я думаю, что это может быть, по крайней мере, частью проблемы. При создании обходного пути для передачи результатов окна сообщения VBScripting в вызывающий пакетный файл я обнаружил, что объект файловой системы сценариев (scrrun.dll) не был зарегистрирован при удалении, и необходимо было перерегистрировать его в создать экземпляр объекта. Мне интересно, есть ли какая-то другая зависимость, которая требуется wscript.exe для предоставления функции quit доступа к переменной уровня ошибок пакета.
Я запустил wscript.exe в Обходчик зависимостей для вышеупомянутого однострочного VBScript, и единственное сообщение об ошибке, которое я получил во время выполнения, было следующим:
GetProcAddress (0x755C0000 [MSCTFIME.IME], "ImeGetImeMenuItems") вызывается из "IMM32.DLL" по адресу 0x76397354 и возвращает NULL. Ошибка: указанная процедура не найдена (127).
Сценарий завершен с правильным выходом кодом (2).
Упомянутая dll существует в папке System32 с WScript и не подлежит регистрации.
Я использую WinXP со всеми последними обновлениями.
Любые идеи будут оценены.