VB6应用程序不再在Vista计算机上打开

时间:2009-03-03 19:25:44

标签: windows vb6 windows-vista

我有一个VB6应用程序以前在Vista计算机上完美地作为计划任务,但它将不再在同一台计算机上打开。该应用程序在指定的文件夹中生成导出文件,屏幕上没有直接输出。我没有错误,没有遗漏参考,只是绝对没有

计算机正在运行Vista Business 32位,使用单个管理员帐户禁用UAC,并且关闭自动更新。该应用程序位于不受保护的文件夹中,导出文件放在桌面上的文件夹中。客户端发誓,自从我安装此应用程序以来,他们对该计算机所做的唯一更改是安装Norton Antivirus,这在我们的软件之前从未引起过任何问题。

除了正常的VB6引用外,该应用程序还引用了Microsoft Scripting Runtime(scrrun.dll)和Microsoft DAO 3.6(dao360.dll)。这两个文件都存在并在目标计算机上注册,以及所有其他VB6依赖项。我在Sub Main()的开头添加了MsgBox语句,只是为了查看是否正在执行任何操作,而不是。禁用Norton没有产生任何结果,也没有重新安装VB6运行时以排除任何损坏的库。我没有从我的应用程序中收到任何消息,错误或其他内容。

我之前从来没有遇到这样的问题而且我完全难过了。还有什么可能导致这个吗?

编辑 - 即使我手动运行该应用程序也不会运行,因此关于它的部分是计划任务与我的问题无关,抱歉包含它。

用户拥有完整的管理员凭据,初始测试时不需要兼容模式,当时在这台机器上完成了我遇到问题。为了咧嘴笑,我尝试了XP和2000的兼容模式,但仍然没有。

4 个答案:

答案 0 :(得分:3)

尝试检查 - 如果可以访问它们 - 事件查看器消息。也许你会在那里找到一些告诉标志......

答案 1 :(得分:1)

您可以尝试在Windbg中运行该程序,这是Microsoft的免费独立调试程序。使用符号(创建PDB文件)将VB6 EXE编译为本机代码,您将能够在Windbg中调试应用程序。

我猜想会发生以下两种情况之一。

  • Windbg将无法加载EXE。大概有一条错误消息可以识别您的问题。
  • Windbg将加载EXE,您可以单步执行以查看会发生什么。

这是微软家伙使用Windbg和VB6的2006 blog post,以及另一个微软VB家伙的2004 blog post,其中简要介绍了Windbg。

答案 2 :(得分:0)

用户是否更改了密码?这将导致计划任务失败,直到他们在任务上重新输入密码。

答案 3 :(得分:0)

您是否尝试过直接运行流程,而不是作为计划任务?我不是专家,但可能是因为程序作为一项任务运行而没有显示任何生成的错误。