生成安装程序

时间:2015-08-06 17:20:14

标签: installation windows-installer installshield

多年来,我们的InstallShield代码变得难以管理和混乱。我们即将从头开始为新的主要版本设计InstallShield 2015安装,我想知道是否有任何方法可以自动捕获一组系统更改,以用作开发新安装包的更清洁的起点。理想情况下,我想打开一些捕获软件,安装我们支持升级的最旧版本,安装最新的Service Pack,然后应用将在系统上运行新版本的手动更改。然后我将关闭捕获软件,它将提供一个InstallShield项目,该项目预先加载了作为该安装的一部分创建的所有文件和注册表项(GAC更改,.NET程序集等)。然后我可以添加删除那些我们不再需要的步骤,并进行其他一些清理和改进。这样的事情存在吗?

1 个答案:

答案 0 :(得分:2)

是的,在企业界,这通常称为重新打包程序,其中sys admin和packagers准备应用程序以在公司计算机上进行部署。

Flexera有一个可以为InstallShield创建项目,但它与AdminStudio solution一起出售,这不便宜。

我们(在Caphyon)有repackager included in Advanced Installer(建筑师版),也要求您购买许可证。当然,生成的项目只与Advanced Installer兼容,您可以根据需要配置安装程序。

我认为还有一个免费的重新打包程序AppDeploy from Dell,但我从未使用它,所以我不知道它有多准确,是否可以使用在InstallShield中创建的结果或者直接生成MSI。

如果你开始看起来更加小心,你可能会找到其他重新打包工具,但你应该知道构建这样一个工具并不是一件容易的事,所以请谨慎选择。也可能只有AdminStudio中的一个能够生成可由InstallShield读取的项目。

如果您已经拥有旧版本的源项目,我个人不会尝试使用重新打包程序。相反,我会去清理你不理解的所有配置,并从头开始重新构建它们。

一个好的再包装商仍然有一些问题。它可以捕获不完整的数据,例如,如果您有一个自定义操作,该操作根据运行安装程序的操作系统运行不同的代码,则重新打包程序将仅捕获其对运行它的操作系统的影响。在另一个可能会运行不同,并有另一个输出。

此外,如果您的安装程序具有先决条件并且您在安装了这些先决条件的计算机上运行重新打包程序,则重新打包程序将不会捕获与此相关的任何内容,因此您可能会忘记在新程序包中包含必需的先决条件。

还有像重新包装商可以检测到的元信息之类的东西。例如,文件关联实际上是一组连接在一起的文件和注册表项或环境变量,计划任务等... 大多数重新打包程序捕获所有这些数据,并将其作为配置文件和注册表项显示给您,而不是在项目中创建正确的实体,即文件关联,环境变量或其对应视图中的计划任务。