1

短版:
当我迁移到 Win7 时,我从我的 .ISM 模块中手动删除了 MDAC 2.7 行,构建它并安装了我的软件。它似乎工作。我可以相信它吗?

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

我使用 InstallShield 2010 来构建这个包的安装程序。在 XP 上构建此安装程序没有问题。当我在 Windows 7 上尝试时,它希望 MDAC 2.7 作为先决条件合并模块。Microsoft 不再允许您下载 2.7,而且我不会从“Sharewarez R'us”站点获取它。

InstallShield 在找不到合并模块时给我的错误是:File not found. An error occured merging Module 'MDAC27ENU...'

根据我在网上阅读的内容,Windows 7 已经安装了最新最好的 MDAC(现在更名为 WDAC)。一时兴起,我从 .ISM 中手动删除了 MDAC 依赖项,构建并安装了它,我的软件似乎运行得很好。

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

我的主要问题是:我可以相信它吗?

我的第二个问题是:XP 部署怎么样?他们仍然需要 MDAC 2.7... 如果我需要 MDAC 2.7,这是否表明我无法在 Windows 7 上构建以针对 XP ?请指出我正确的方向。谢谢。

4

1 回答 1

0

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

您的 ISM 正在引用 MDAC 合并模块,或者它正在引用另一个依赖于 MDAC 合并模块的合并模块。因此,为什么我建议进行完整的审查。

如果不查看您的应用程序,我无法给您 100% 的答案,但很可能如果您实施设置条件(启动条件)来检查 XP 最新服务包或更新的服务包,您可能无需安装一堆东西就可以工作不需要安装。

于 2013-03-20T15:50:49.290 回答