Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/vb6/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 敏捷环境中的部署_Deployment_Vb6_Agile - Fatal编程技术网

Deployment 敏捷环境中的部署

Deployment 敏捷环境中的部署,deployment,vb6,agile,Deployment,Vb6,Agile,在过去的开发团队中,我们主要针对现有应用程序进行瀑布式开发,而部署只在发布接近尾声时才真正完成,这通常会导致测试、UAT、产品发布,通常在两个月的周期内只包含三到五个发布 一个版本是通过组策略部署的MSI安装程序 我们现在已经转向更敏捷的方法,要求每天至少发布一次用于测试,有时更频繁 该应用程序是一个VB6应用程序,MSI负责我们的COM注册,用户在其计算机上没有提升的权限 有没有更好的快速部署解决方案 我们考虑过批量/脚本安装MSI,或者对每个文件进行COM注册,这两种方法都使用提升权限和Cl

在过去的开发团队中,我们主要针对现有应用程序进行瀑布式开发,而部署只在发布接近尾声时才真正完成,这通常会导致测试、UAT、产品发布,通常在两个月的周期内只包含三到五个发布

一个版本是通过组策略部署的MSI安装程序

我们现在已经转向更敏捷的方法,要求每天至少发布一次用于测试,有时更频繁

该应用程序是一个VB6应用程序,MSI负责我们的COM注册,用户在其计算机上没有提升的权限

有没有更好的快速部署解决方案

我们考虑过批量/脚本安装MSI,或者对每个文件进行COM注册,这两种方法都使用提升权限和ClickOnce。这两个都还没有经过测试

编辑:谢谢你的建议。 澄清一下,我的痛点是MSI构建/部署过程需要很长时间,可能需要两个小时才能将新构建安装到测试人员的桌面上。测试人员在他们的机器上没有管理权限,也不会获得这些权限,因此我正在寻找更好的解决方案


我已经使用了ClickOnce,它使用一个点网包装器启动应用程序,并将所有OCX/DLL vb6程序集作为独立的依赖项,但在启动时查找所有程序集或相关消息时会遇到问题。

我建议使用ClickOnce选项在执行时更新。这样,只有使用该软件的用户才能接收并安装更新。

您可以尝试使用免注册COM。看见但是ActiveX EXE仍然需要注册


编辑:澄清一下,使用免注册COM意味着您提到的OCX/DLL组件不需要注册。他们使用的任何OCX/DLL组件也没有。您只需将整个应用程序目录复制到测试人员的机器上,它就会立即工作。

您应该尝试一个可以手动运行的自动构建/部署过程或脚本。试试Teamcity或CruiseControl。祝你好运

CruiseControl和Nant可能是您最适合灵活输出的构建。但是快速部署呢

我担心的是,您以错误的方式查看每日构建。日报不需要广泛使用。事实上,QA和开发是唯一应该每天关心构建的人。即便如此,开发人员也不应该失去同步

客户团队应该只在迭代结束时接收构建。这就是你向他们展示你所做的事情,他们提供反馈,然后你继续前进。每天给他们一次构建可能会导致一次致命的打击,这会扼杀你的速度


尽管如此,一个好的部署包可能对QA有好处。但同样,这取决于它们与您的开发迭代的步调。我的经验是,无论对错,QA是一次迭代,对上一次迭代的可交付成果进行测试。从这个角度来看,他们也应该使用最后一个稳定版本进行测试。

我不确定您的痛点到底是什么

您特别提到了VB6 COM对象的注册。安装程序有时会因此失败吗? 是因为安装程序可以工作,但人们不知道如何安装新版本,所以他们更经常地报告旧版本上的错误吗? 如果是前者,那么我怀疑问题在于,在重建解决方案时,VB6很可能会与GUI玩果篮游戏。尝试在MIDL中重新创建公共接口,并让VB6类实现这些接口


如果是后者,那么试试微软的产品。不,这与手机无关。如果所有用户不在同一个域中,则必须在产品中构建自动更新功能。这是一个我听说过但从未使用过的方法。

这是您可以在虚拟机中执行的操作吗?您可以安全地授予测试人员对虚拟化系统的管理权限,并且大多数虚拟化软件都有某种形式的版本控制,因此,如果出现问题,您可以回滚到良好状态。我发现它对测试非常有用。

如果我正确理解您的问题,您需要管理员权限才能安装产品。我认为有三种选择:

1不要安装到测试仪的桌面上。按照dmo的建议,获取一些scratch测试机,VMWare可能会帮助您安全地授予它们管理员权限。这可能意味着给他们一个测试域和他们自己的组策略来编辑

2构建一个不需要MSI安装的变体,并且可以直接执行。显然,您的测试人员不会使用此变体测试部署和安装过程,但他们可以执行产品功能的其他测试。我不知道你们的产品是否能做到这一点;肯定会的 工作


3服用敏捷药物:[更喜欢]响应变化而不是遵循计划。也就是说,如果拒绝您的测试人员的管理员权限会干扰他们高效地完成工作的能力,那么就向组织提出挑战,让他们拥有管理员权限。根据经验,这将意味着转换为1,但这可能是最好的证明方法。如果他们被要求测试产品,怎么可能不允许他们以客户的方式安装产品呢?

如果MSI部署将velocity从敏捷测试中剔除,那么您应该减少对MSI部署的测试

尽可能使用XCOPY部署,对COM组件使用.local。这可能是第三方组件的问题。由于第三方组件非常稳定,您应该能够为这些组件构建自定义MSI,安装一次就可以了。

我在所有构建中都使用SetupBuilder。非常可扩展。非常好的支持


不确定它是否符合您的需要,但论坛上的这种帖子,以限制帐户用户非管理员的身份安装在XP上,让我觉得可能是这样。

您对使用VB6 COM引用的ClickOnce有什么好的参考吗?我相信MarkJ的意思是ActiveX EXE仍然需要注册。我添加了更多信息,请参见上文我添加了更多信息,请参见上文我认为根本问题是QA无法安装到他们的机器上。我认为答案是要么信任他们,给他们特权,要么做这项工作。两者都是正反两方面的有效途径。嘿,我只是想了一下。一个有权进行COM注册的服务怎么样。您可以向服务发送一个信号,它将进行注册。Zac:我同意你在3中的评论,我们已经就测试人员的管理权限与IT进行了讨论,但是该产品只是一个内部应用程序,我们不是一家软件公司。我的观点只是:要么他们需要测试安装过程,要么他们不需要。如果是这样,那么他们需要有权执行安装。我相信dmo的建议可能是最好的选择。但是如果没有,那么你就不需要像第2部分那样安装它。为什么MSI构建/部署需要这么长时间?大部分时间是在构建还是部署中?您是否通过组策略部署到测试员机器?MSI构建,构建过程大约需要20分钟,然后转到发布部门,然后由帮助台作为组策略部署进行操作。我的部分需要20分钟,整个过程可能需要2个小时。您有关于本地COM组件的更多信息吗。我对RegFree COM的成功有限?它被称为DLL/COM重定向