Фактическая проблема, с которой здесь сталкиваются, заключается в том, что VB6 ищет в реестре некоторые из своих системных настроек. Когда вы запускаете проект самостоятельно, VB забирает настройки у вашего пользователя. Когда Hudson запускается как служба, он входит в систему как локальная система, которая имеет собственные параметры реестра.
Настройка VB6, которая здесь уместна, это Options / ErrorTrapping. По умолчанию в реестре содержится сообщение «Все ошибки». Проект, о котором идет речь, требует «разбить необработанные ошибки». Симптом, по-видимому, заключается в том, что VB6 блокируется при возникновении ошибки.
Решение включает в себя экспорт соответствующих настроек от моего пользователя и их импорт в локальную систему.
Существует ответ со ссылкой о запуске regedit в локальной системе, но мой ответ - использовать сам Гудзон для запуска regedit в качестве локальной системы. Также есть вопрос здесь о настройках vb6 ide.
Используйте командное окно для экспорта настроек VB из этого ключа в файл, подобный следующему:
regedit /e vbide-1.reg "HKEY_CURRENT_USER\Software\Microsoft\VBA\Microsoft Visual Basic"
Создайте новую работу в Hudson, которая пока ничего не делает, но нажмите Build Now, чтобы создать папку с заданиями.
Найдите созданную папку и скопируйте туда vbide-1.reg в папку 'workspace'.
Настройте задание Hudson для выполнения этой пакетной команды Windows:
regedit /s vbide-1.reg
Нажмите Build Now еще раз, и пакетная команда должна запуститься. Проверьте в выходных данных консоли:
...\workspace>regedit /s vbide-1.reg
Отключить сборку или просто удалить проект.