更新旧VB6应用程序的最佳方式

时间:2011-01-12 00:29:04

标签: vb6 installer

最近我找到了一家小型马车店,要求更新一个vb6计划,这个计划是他们以前在大学回家时为他们准备的兼职员工之一。在CD上,学生提供的是该程序的源代码和安装程序,这非常有帮助。我想给他们一个带有新安装程序和更新源代码的新CD。我的问题是,如何在2008年创建或更轻松地更新输入“Non Supported Stage”的语言的安装程序?

更新: 只是回答一些问题,他们要求的更新只是改变一些标签的措辞,并将一个控件从文本框更改为组合框。他们是一家商店和pa商店,即使已经推荐,也不想支付将应用程序重新编写为新语言的费用。

3 个答案:

答案 0 :(得分:6)

您将需要一个很难的Visual Basic 6(或Visual Studio 6)的副本。如果你有MSDN订阅,我很确定你可以从他们的档案中下载它,但如果没有,你可能需要购买一份。检查EBay。让ma和pa商店自费购买,他们应该拥有它以防他们想要进行未来的改变。如果您是唯一使用它的人,您可以代表他们使用它来为他们工作,并在完成后卸载它。

此外,如果您有Visual Studio 2005的副本,从技术上讲,您可以“降级”到VS6,但是您必须致电Microsoft并让他们向您发送安装程序,并且您不允许与VS6同时使用VS2005 。是的,我知道......

好的,所以如果你已经有了这么远,请在计算机上获取源代码并将其置于源代码管理之下。我建议Mercurial(特别是TortoiseHg客户端)。我在VB6项目上有很多运气,它是免费的。 (不要使用SourceSafe,即使VS6免费提供!)Mercurial存储库的分布式特性意味着你可以将它们带回整张存储库的CD,以及下一个糟糕的汁液必须做出改变的人至少能够做出差异并知道你做了什么。

正如其他人所说,VB6有一个用于制作安装程序的内置实用程序,但我认为你必须拥有企业版。在获得副本之前,有必要找出它。

现在继续进行更改,但要非常小心。请记住,您可能没有任何单元测试,因此您可能会破坏内容。如果你想要专业,那么VB6就有单元测试框架。例如,vbUnit。再次,我建议客户购买一份副本(我认为单个开发者席位大约99美元)。如果更改不仅仅是在启动屏幕上更改公司徽标,那么这就是我投资的内容。编写涵盖您将要更改的每个模块或功能的测试。如果所有逻辑都在表单中的事件处理程序中,请仔细删除需要更改为可以编写单元测试的模块的代码。编写测试以首先验证当前功能。

然后继续进行更改。如果您遇到了设置测试框架的麻烦,那么您最好使用一些TDD并首先编写测试。编写测试,确保测试失败,编写足够的代码使其通过,然后重复。

所有这些仍然需要您有一个可靠的手动测试计划来检查最后的功能。这意味着你需要扎实地掌握它的作用。你几乎可以认为无论你多么小心,你都会打破你不理解的东西。确保给自己足够的时间来解决在交付后弹出的其他问题。

我建议不要在.NET中重写它,除非它是一个只有一个表单的非常简单的程序。这项努力可能不值得。

警告:请注意原始程序员可能使用的第三方组件,但不包含在CD中。如果他们使用了他们从第三方购买的某些ActiveX或COM东西,但是他们没有将许可证授权给您的客户,那么您可能不得不再次购买它以便将其编译。

修改

根据您的额外信息,如果您真的只是改变了几个控件和措辞,那么我认为您可以在没有单元测试框架的情况下离开。我肯定会使用一些源代码控制。

我确实记得使用打包和部署向导,我同意它很糟糕。我实际上使用了第三方安装程序,现在我想到了它。但是,如果更改很小并且原始应用程序使用了PDW,我可能会坚持使用它。

答案 1 :(得分:0)

您可以将VB6项目转换为.NET。

如果您有Visual Studio 2005或更高版本... 或者最糟糕的情况是使用VB.NET重新编写代码。 转到此链接。

Convert VB6 - .NET

答案 2 :(得分:0)

如果我没记错的话,Visual Studio 6附带了一个基本向导,用于为VB6应用程序创建安装程序。因此,假设您已为VB6安装了Visual Studio 6,则应该有一个可以使用的安装程序向导。但是,在Vista或Win 7计算机上部署VB6运行时可能会出现问题。也许另一位SO大师会得到那个答案。

您还可以使用免费软件Inno Setup为VB6应用程序创建安装程序。可以找到更多信息here。但是,它需要比Visual Studio更多的手动工作。