Windows 7 让Windows 7、InstallShield、MDAC 2.7和(抖动)VB6正常运行

Windows 7 让Windows 7、InstallShield、MDAC 2.7和(抖动)VB6正常运行,windows-7,installshield,Windows 7,Installshield,短版: 当我转到Win7时,我手动从.ISM模块中删除了MDAC 2.7行,构建了它,并安装了我的软件。它似乎起作用了。我能相信吗 较长版本: 我们刚刚从XP升级到Windows7。我们提供的软件是C#(.NET4框架),面向XP和Windows7。它包含一些旧的COM模块,其中一个是用VB6编写的。(是的,我很想用现代技术重写这一点,但目前这不是一个选项。) 我使用InstallShield 2010构建此软件包的安装程序。在XP上构建此安装程序没有问题。当我在Windows7上试用时,它希望

短版:
当我转到Win7时,我手动从.ISM模块中删除了MDAC 2.7行,构建了它,并安装了我的软件。它似乎起作用了。我能相信吗

较长版本: 我们刚刚从XP升级到Windows7。我们提供的软件是C#(.NET4框架),面向XP和Windows7。它包含一些旧的COM模块,其中一个是用VB6编写的。(是的,我很想用现代技术重写这一点,但目前这不是一个选项。)

我使用InstallShield 2010构建此软件包的安装程序。在XP上构建此安装程序没有问题。当我在Windows7上试用时,它希望将MDAC2.7作为先决条件合并模块。微软不再允许你下载2.7了,我也不会从“Sharewarez R'us”网站上下载

InstallShield在找不到合并模块时给我的错误是:
未找到文件。合并模块“MDAC27ENU…”时出错。

从我在网上看到的情况来看,Windows7已经安装了最新最伟大的MDAC(现在改名为WDAC)。一时兴起,我从.ISM中手动删除了MDAC依赖项,并进行了构建和安装,我的软件似乎运行得很好

我认为Win7正在注意到VB6中的某些东西正在使用MDAC,操作系统正在提供最新的、最好的,而且它可以正常工作。我不再需要合并模块,因为Windows7内置了WDAC。(真的能这么简单吗?)

我的主要问题是:我能相信它吗


我的第二个问题是:XP部署如何?他们仍然需要MDAC2.7。。。这是否表明,如果我需要MDAC2.7,我无法在Windows7上构建以XP为目标的系统?请给我指一下正确的方向。谢谢。

您需要对安装程序进行全面审查(依赖性分析)。VB6运行时和MDAC/WDAC组件现在都内置在windows中。Windows XP和最新的service pack也是如此

ISM正在引用MDAC合并模块,或者正在引用另一个依赖于MDAC合并模块的合并模块。因此,我建议进行全面检讨


如果不查看您的应用程序,我无法给出100%的答案,但如果您实施安装条件(启动条件)以检查XP最新service pack或更新版本,您可能会在不安装大量不需要安装的东西的情况下工作。

我回到了一台XP机器,拆除了MDAC生产线,取得了类似的成功。这真的是一种虚假的依赖——天哪,我感到羞怯。这种错误的依赖已经存在很长时间了。谢谢你的建议。是啊,人们很少回去清理旧东西。重点总是放在新技术上。