Как предотвратить всплывающее окно сообщения об ошибке для неудачной программы (.exe) при запуске командного файла

Я запускаю тестовый сценарий из командного файла.

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

Однако есть очень неприятное поведение исполняемых файлов в Microsoft Windows - если что-то не удается, появляется всплывающее окно вроде:

Это приложение не запустилось, потому что foo.dll не был найден. Повторная установка приложения может решить проблему

Или даже лучше:

Инструкция в "..." относится к памяти at "..." ..

Щелкните OK, чтобы завершить программу
m запускать тестовый сценарий из командного файла.

Поскольку это тест, программы, как ожидается, будут время от времени давать сбой. Это файл, если возвращается код ошибки, поэтому я могу продолжить и пометить конкретный тест как неудавшийся.

Однако есть очень неприятное поведение исполняемых файлов в Microsoft Windows - если что-то не удается, появляется всплывающее окно вроде:

Это приложение не запустилось, потому что foo.dll не был найден. Повторная установка приложения может решить проблему

Или даже лучше:

Инструкция в "..." относится к памяти at "..." ..

Щелкните OK, чтобы завершить программу
m запускать тестовый сценарий из командного файла.

Поскольку это тест, программы, как ожидается, будут время от времени давать сбой. Это файл, если возвращается код ошибки, поэтому я могу продолжить и пометить конкретный тест как неудавшийся.

Однако есть очень неприятное поведение исполняемых файлов в Microsoft Windows - если что-то не удается, появляется всплывающее окно вроде:

Это приложение не запустилось, потому что foo.dll не был найден. Повторная установка приложения может решить проблему

Или даже лучше:

Инструкция в "..." относится к памяти at "..." ..

Щелкните OK, чтобы завершить программу
Нажмите CANCEL, чтобы отладить программу

Результат известен - выполнение скрипта блокируется до тех пор, пока кто-нибудь не нажмет кнопку «Ok». И когда мы говорим об автоматических сценариях, которые могут автоматически запускаться ночью на какой-то безголовой виртуальной машине, это может быть очень проблематично.

Есть ли простой способ предотвратить такое поведение и просто заставить приложение выйти с кодом ошибки - без изменения кода самой программы?

Возможно ли это вообще?

8
задан Artyom 31 October 2010 в 12:15
поделиться