0

我需要创建一个可以分发到运行 Windows XP 或 Vista 之一的机器的安装程序。安装程序需要执行以下操作:

1) 检查操作系统是 XP SP3 还是 Vista。如果是 vanilla XP 或 SP1,请运行 MSI。这将安装远程桌面 6.1。

2)运行可执行文件。这是 VPN 客户端应用程序的安装文件。

3) 运行 RemoteApp 部署 MSI。

4) 如果操作系统是 XP,请按照http://support.microsoft.com/kb/951608编辑注册表,以启用远程桌面的网络级身份验证。这需要附加到现有的注册表项(即不覆盖其现有值)。

最初,我希望使用一个简单的批处理文件来执行此操作,但我读到不可能将值附加到注册表项——我只能创建新的或覆盖旧的。我已经查看了几个 GUI 安装程序,但我还没有找到一个可以简单地运行另一个安装可执行文件的安装程序。我也看过 NSIS,但学习一种全新的脚本语言似乎有点矫枉过正。

有什么简单的解决方案吗?

4

2 回答 2

0

我将推荐 NSIS 只是因为它是我用于应用程序安装程序的工具,当我需要添加新功能时它从未让我失望,而且我很享受学习这门语言的每一分钟(这真的不是坏的)。

我已经查看了几个 GUI 安装程序,但我还没有找到一个可以简单地运行另一个安装可执行文件的安装程序。

NSIS 可以轻松运行可执行文件和 MSI 安装程序。它还可以为您提供他们的返回代码,以便您的安装程序的逻辑可以对错误等做出反应。

学习一门全新的脚本语言似乎有点矫枉过正

我想说这真的取决于您需要维护这个安装程序多长时间。如果它只是在内部机器上设置一个测试项目,那么是的,学习一门新语言可能是矫枉过正的。但是,如果此安装是您的客户/业务合作伙伴/等会看到的过程,我认为学习 GUI 安装包是非常值得的,无论它可能是什么。

还有一些需要考虑的事情:NSIS 有一些插件,在处理 UAC、注册表重定向和检测操作系统版本时可以让生活更轻松

于 2009-08-19T03:26:32.063 回答
0

附加到注册表项不是读取当前值、连接新数据并用组合结果覆盖键的问题吗?我认为这在批处理脚本中是可行的。

于 2009-08-18T20:58:09.977 回答