Как запустить проект VB6 в Гудзоне? - PullRequest
3 голосов
/ 23 июля 2010

Вместо того, чтобы создавать целую группу проектов (несколько DLL и исполняемый файл), я хочу запустить группу из командной строки следующим образом: VB6 /runexit project

Это исключает этап компиляции и поддерживает реестр в чистоте.

Я могу настроить задание Hudson, которое получает последний код из системы контроля версий и запускает командную строку.Проблема, с которой я столкнулся, заключается в том, что целевая программа зависает на полпути.Я могу прервать его через веб-интерфейс Hudson. ОК.

Что происходит?

1 Ответ

2 голосов
/ 23 июля 2010

Фактическая проблема, с которой здесь сталкиваются, заключается в том, что VB6 ищет в реестре некоторые из своих системных настроек. Когда вы запускаете проект самостоятельно, VB забирает настройки у вашего пользователя. Когда Hudson запускается как служба, он входит в систему как локальная система, которая имеет собственные параметры реестра.

Настройка VB6, которая здесь уместна, это Options / ErrorTrapping. По умолчанию в реестре содержится сообщение «Все ошибки». Проект, о котором идет речь, требует «разбить необработанные ошибки». Симптом, по-видимому, заключается в том, что VB6 блокируется при возникновении ошибки.

Решение включает в себя экспорт соответствующих настроек от моего пользователя и их импорт в локальную систему.

Существует ответ со ссылкой о запуске regedit в локальной системе, но мой ответ - использовать сам Гудзон для запуска regedit в качестве локальной системы. Также есть вопрос здесь о настройках vb6 ide.

  1. Используйте командное окно для экспорта настроек VB из этого ключа в файл, подобный следующему:

    regedit /e vbide-1.reg "HKEY_CURRENT_USER\Software\Microsoft\VBA\Microsoft Visual Basic"

  2. Создайте новую работу в Hudson, которая пока ничего не делает, но нажмите Build Now, чтобы создать папку с заданиями.

  3. Найдите созданную папку и скопируйте туда vbide-1.reg в папку 'workspace'.

  4. Настройте задание Hudson для выполнения этой пакетной команды Windows:
    regedit /s vbide-1.reg

  5. Нажмите Build Now еще раз, и пакетная команда должна запуститься. Проверьте в выходных данных консоли:
    ...\workspace>regedit /s vbide-1.reg

  6. Отключить сборку или просто удалить проект.

...