- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一家小型的妈妈和爸爸商店最近找到我,要求更新他们的一位前兼职员工在大学回家时为他们制作的 vb6 程序。学生提供的光盘上既有该程序的源代码又有安装程序,这非常有帮助。我想给他们一张新的 CD,里面有新的安装程序和更新的源代码。我的问题是,对于 2008 年进入“不支持阶段”的语言,我该如何创建或更新安装程序是否更容易?
更新:只是为了回答一些问题,他们要求的更新只是更改一些标签的措辞并将一个控件从文本框更改为组合框。他们是一家妈妈和爸爸商店,并且不想支付将应用程序重新编写为较新语言的费用,即使已被推荐。
最佳答案
您将需要一份 Visual Basic 6(或 Visual Studio 6),这很困难。如果您有 MSDN 订阅,我确信您可以从他们的存档中下载它,但如果没有,您可能需要购买副本。检查易趣。让妈妈和爸爸商店自费购买它,并且他们应该拥有它,以防将来想要进行更改。如果您是唯一使用它的人,您可以代表他们使用它来为他们工作,并在完成后将其卸载。
此外,如果您有 Visual Studio 2005 的副本,从技术上讲您可以“降级”到 VS6,但您必须调用 Microsoft 并让他们向您发送安装程序,并且不允许您同时使用 VS2005 和 VS6 。是的,我知道...
好的,如果您已经做到了这一点,请在您的计算机上获取源代码并将其置于源代码管理之下。我建议 Mercurial(特别是 TortoiseHg 客户端)。我在 VB6 项目上很幸运地使用了它,而且它是免费的。 (不要使用 SourceSafe,即使它随 VS6 一起免费提供!)Mercurial 存储库的分布式特性意味着您可以将包含整个存储库的 CD 还给他们,然后再将下一个可怜的 sap 交给他们。必须进行更改的人至少能够进行比较并知道您做了什么。
正如这里其他人所说,VB6 有一个用于制作安装程序的内置实用程序,但我认为您必须拥有企业版。在获得副本之前,值得弄清楚这一点。
现在继续进行更改,但要非常小心。请记住,您可能没有任何单元测试,因此您可能会破坏东西。如果您想更专业,可以使用 VB6 的单元测试框架。例如,vbUnit 。我再次建议客户购买一份副本(我认为单个开发人员席位大约 99 美元)。如果更改不仅仅是更改启动屏幕上的公司 Logo ,那么这就是我要投资的内容。编写涵盖您要更改的每个模块或功能的测试。如果所有逻辑都在表单本身的事件处理程序中,请小心删除需要更改为可以为其编写单元测试的模块的代码。首先编写测试来验证当前功能。
然后继续进行更改。如果您不厌其烦地建立了一个测试框架,那么您不妨先使用一些 TDD 并编写测试。编写一个测试,确保它失败,编写足够的代码使其通过,然后重复。
所有这些仍然需要您有一个可靠的手动测试计划来最终检查功能。这意味着您需要充分掌握它的作用。你几乎可以假设,无论你多么小心,你都会破坏一些你不理解的东西。确保给自己足够的时间来解决交付后出现的其他问题。
我建议不要在 .NET 中重新编写它,除非它是一个只有一种形式的非常简单的程序。这种努力可能不值得。
警告:请注意原始程序员可能使用过但未包含在 CD 中的第 3 方组件。如果他们使用了从第 3 方购买的一些 ActiveX 或 COM 内容,但他们没有将其授权给您的客户,您可能最终不得不再次购买它才能进行编译。
编辑:
根据您的额外信息,如果您真的只是更改一些控件和措辞,那么我认为您可以在没有单元测试框架的情况下摆脱困境。不过,我肯定会使用一些源代码控制。
我确实记得使用过打包和部署向导,我同意它很糟糕。我实际上使用了第三方安装程序,现在我想起来了。但是,如果更改很小并且原始应用程序使用 PDW,我可能会坚持这样做。
关于vb6 - 更新旧 VB6 应用程序的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4664243/
我有几个问题。我是 Visual Basic 这个领域的新手,所以不要取笑我。 1.) VB.NET之间有什么区别和 VB ? 2.) 我需要为 Windows 开发基本的应用程序。(如记事本)我应该
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我是框架 3.5 的新手。我注意到,在创建 Web 内容表单时,除了 aspx.vb 页面之外,它还会创建一个 aspx.designer.vb 页面。谁能向我解释一下它们之间的区别以及它们的用途吗?
我只是想知道 VB.NET 和 VB 2010 是否相同。 我只是想知道。 最佳答案 VB 2010 是 VB.Net 的最新版本。 Microsoft 在 VB 2005 版本中删除了 VB 的“.
我是框架 3.5 的新手。我注意到,在创建 Web 内容表单时,除了 aspx.vb 页面之外,它还会创建一个 aspx.designer.vb 页面。谁能向我解释一下它们之间的区别以及它们的用途吗?
我正在尝试将 VB 函数移植到 VB.NET,但我无法使该函数正常工作并正确更新。 rFormat = Format(Format(Value, fmt), String$(Len(fmt), "@"
如何在VB中注释多行代码/代码块? 最佳答案 VB 在语言级别上没有这样的构造。它有使用撇号字符的单行注释: ' hello world ' this is a comment Rem this is
我正在使用我在 VB2005 中创建的表单在按下按钮时打开程序,然后在文本字段中显示进程 ID(再次按下按钮时)。当我运行它时,表单将打开程序 (Notepad.exe) 但当我单击按钮查看进程 ID
我正在尝试添加一个从 vb.net 创建的 dll,并且想将其导入到现有的 vb 6 项目中,但它给了我错误“无法添加对指定文件的引用”。 。有人知道如何解决这个问题吗? 最佳答案 需要遵循以下步骤:
我有一个数据 GridView 。右键单击它会显示一个上下文菜单,但它始终位于右上角。我想要它,以便菜单出现在用户右键单击的单元格上。它可能是单元格 1 或单元格 2 或其他。 谢谢福尔坎 最佳答案
我只是在 Visual Studio 2010 中使用 Visual Basic。有人知道我将如何制作“浏览文件夹(或文件)”按钮吗?我对 VB 真的很陌生,我只是在寻找一些简单的帮助:) 最佳答案
这次感到困惑... 最简单的代码行有时可能起作用,有时却没有。首先,我认为问题在于我试图读取DWORD的值,但是由于我可以从某些键读取DWORD值,所以这一定不是问题。现在的问题似乎是,如果 key
我的代码中有此方法: Private Sub Display() Received.AppendText(" - " & RXArray) End Sub 这两个调用之间有什么区别:
我正在创建一个宏程序来记录和回放鼠标和键盘输入。录制效果很好,鼠标播放也一样,但是我在播放键盘输入时遇到了麻烦——特别是在释放之前按住一个键几秒钟。这不等同于重复按键。这是我尝试过的: 技巧 1:Me
我最近刚刚了解了 VB.NET 中静态局部变量的使用,并想知道它在延迟加载属性中的潜在用途。 考虑以下示例代码。 Public Class Foo Implements IFoo End Clas
VB 有一个 C# 没有的特性,在项目级别导入命名空间(我的项目>引用>导入命名空间)。当新人在源代码控制之外检查项目时,我们的自定义导入不包括在内。这个 VB 特定的导入命名空间存储在哪里? 最佳答
我已将我的问题缩小到这个简单的案例,但似乎无法找到发生了什么: 我有两个表单,一个只有一个按钮,另一个是空的。 单击按钮时,form1 隐藏和显示 form2 出现时,form2隐藏,form1再次显
为什么下面的简单代码会失败?无论我使用 LinearGradientMode 的哪个值,这段代码总是用从左到右的渐变填充路径。 graphPath 是在别处创建的 GraphicPath 对象(基本上
我可以多快替换字符串中的字符? 所以这个问题的背景是这样的:我们有几个应用程序通过套接字相互通信并与客户端的应用程序通信。这些套接字消息包含不可打印的字符(例如 chr(0)),需要用预定的字符串(例
如何从任何文件中读取原始字节数组... Dim bytes() as Byte ..然后将该字节数组写回新文件? 我需要它作为一个字节数组来做一些处理。 我目前正在使用: 阅读 Dim fInfo
我是一名优秀的程序员,十分优秀!