如何在 XP/Vista 和更新版本上为 VB6 创建一个简单的安装系统?

强调简单。我从来没有做过安装程序,我不想学太多。一个我可以将一堆文件交给它的系统,它可以对将它们放在哪里做出一些聪明的猜测是理想的。

继续回答一般性问题。

但是,在我的情况下,我遇到了一些额外的限制。要安装的程序是用 VB6(或者是 5?)和几个以前的 VB 版本编写的,所以它不会很快就会更新。我有一个正在运行的安装,并且将有一个干净的 VM 可以使用所以我将执行以下循环:运行安装,查找损坏的位置,修复它,将其添加到安装程序,恢复 VM,再试一次。如果有人有更好的方法,我愿意接受建议。

必须让它在 XP 上运行,我真的很想也能在较新版本的 Windows 上运行。

请先 登录 后评论

4 个回答

jmatthias

我的建议是这样的。尽量使安装程序尽可能简单。 Windows Installer 是一个非常复杂的软件,当事情不正常时,很难弄清楚发生了什么。我相信我们都经历过 Windows Installer 试图修复您不再拥有源 .msi 文件的文件的无限循环。

大多数时候,使用 Windows Installer 就像用大锤敲碎坚果。

我将 InnoSetup 用于我自己的东西,并在工作中使用 InstallShield(违背我的意愿)。从一个简单的基于脚本的安装程序开始,只有在有充分理由的情况下才使用 Windows Installer。

请注意,某些非 Windows Installer 安装工具(例如 InnoSetup)可能缺少对将程序集安装到 GAC 的支持。

请先 登录 后评论
Brad Bruce

习惯喜欢 Inno Setup。强调“习惯”。

当您运行单个文件安装程序(您通常会这样做)时,它会将真正的安装程序解压缩到 temp 文件夹下的文件夹中,然后尝试执行它。问题是……某些防病毒程序不允许这样做。

作者意识到这一点并拒绝对此采取任何行动。文件夹名称是随机的,因此不能添加到您的防病毒程序可能使用的任何豁免列表中。

再次。作者意识到了这一点,并建议我告诉我的用户在安装过程中关闭他们的防病毒程序。 (就像那样会发生)

请先 登录 后评论
Brian Ensink

几年前,在Vista 之前,我使用过InnoSetup,当时对它非常满意。我只有几个要安装的文件和一个开始菜单图标。它效果很好,而且很容易学习。

请先 登录 后评论
Tanerax

我曾与 NSIS 合作,克服了它的一些次要复杂性,这是一个很棒的系统。它是免费的,提供了大量的插件功能,并设法完成了我需要做的所有事情。

请先 登录 后评论