代码之家  ›  专栏  ›  技术社区  ›  quamrana Ryuzaki L

如何在Hudson中运行VB6项目?

  •  3
  • quamrana Ryuzaki L  · 技术社区  · 14 年前

    我不想构建一个完整的项目组(几个DLL和一个可执行文件),而是希望从命令行运行该组,如下所示: VB6 /runexit project

    它消除了编译步骤并保持注册表清洁。

    我可以设置一个从源代码管理中获取最新代码并运行命令行的Hudson作业。我遇到的问题是目标程序部分挂断。我可以通过哈德逊网络界面中止它。

    发生什么事了?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Community CDub    7 年前

    这里遇到的实际问题是,vb6在注册表中查找其某些系统设置。当您自己运行项目时,vb从您的用户那里获取设置。当Hudson作为服务运行时,它作为本地系统登录,该系统有自己的注册表设置。

    这里相关的vb6设置是选项/错误捕获。默认情况下,注册表包含“所有错误时中断”。有问题的项目需要“在未处理错误时中断”。症状似乎是VB6在出现错误时锁定。

    解决方案包括从我的用户导出相关设置并将其导入到本地系统。

    有一个 answer 用一个 link 关于在本地系统下运行regedit,但我的答案是使用Hudson本身作为本地系统运行regedit。还有一个问题 here 关于VB6 IDE设置。

    1. 使用命令窗口将VB设置从此项导出到如下文件:

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

    2. 在Hudson中创建一个暂时不起作用的新作业,但单击“立即生成”以创建作业文件夹。

    3. 找到它创建的文件夹,并将vbide-1.reg复制到“workspace”文件夹中。

    4. 配置Hudson作业以执行此Windows批处理命令:
      regedit /s vbide-1.reg

    5. 再次单击build now,应该运行批处理命令。在控制台输出中验证:
      ...\workspace>regedit /s vbide-1.reg

    6. 禁用生成,或只删除项目。