如何在Hudson中运行VB6项目?

如何在Hudson中运行VB6项目?,vb6,windows-xp,hudson,Vb6,Windows Xp,Hudson,我不想构建一个完整的项目组(几个DLL和一个可执行文件),而是希望从命令行运行该组,如下所示: VB6/runexit项目 它消除了编译步骤并保持注册表干净 我可以设置一个Hudson作业,从源代码管理获取最新代码并运行命令行。我遇到的问题是目标程序中途挂起。我可以通过Hudson web界面中止它 发生了什么事?这里遇到的实际问题是VB6在注册表中查找一些系统设置。当您自己运行项目时,VB会从用户那里获取设置。当Hudson作为服务运行时,它作为本地系统登录,该系统有自己的注册表设置 与此相关

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

它消除了编译步骤并保持注册表干净

我可以设置一个Hudson作业,从源代码管理获取最新代码并运行命令行。我遇到的问题是目标程序中途挂起。我可以通过Hudson web界面中止它


发生了什么事?

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

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

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

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

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

    regedit/e vbide-1.reg“HKEY\U CURRENT\U USER\Software\Microsoft\VBA\Microsoft Visual Basic”

  • 在Hudson中创建一个新作业,该作业暂时不执行任何操作,但单击“立即生成”以创建作业文件夹

  • 找到它创建的文件夹,并将vbide-1.reg复制到那里的“工作区”文件夹中

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

  • 再次单击“立即生成”,批处理命令应运行。在控制台输出中验证:
    …\workspace>regedit/s vbide-1.reg

  • 禁用生成,或仅删除项目


  • 由于它在使用错误设置编译时挂起,因此在使用正确设置编译时出现编译错误时会发生什么情况?它会挂起来吗?如果是这样,您应该寻找不同的解决方案。构建不允许挂起,不考虑构建是否成功。--另一个想法是本地_系统帐户。这个帐户有很多权限。您可以考虑为Hudson实例创建一个特殊用户,并以该用户的身份运行服务。否则,可以在Hudson中配置作业的每个人都对您的Hudson服务器具有管理权限。好的,我会注意编译错误。我现在只是在试验,所以权限现在不重要了。