从InstallScript项目转换为基本MSI的可行性

我有一个纯粹的InstallScript项目,由于这个问题,这个项目有问题。通过添加一些在安装新文件之前擦除特定目录的InstallScript来暂时解决这个问题,这是不理想的。但是,这一系列的论坛帖子表明,InstallScript MSI项目或Basic MSI项目将大大简化升级时动态链接文件的删除。 在搜索Flexara论坛时,我发现很多帖子都是针对InstallScript MSI项目类型的,因此我正在研究Basic MSI。显然,Flexara有一个名为Repackager的产品,可以将InstallScript项目转换为Basic MSI。但是,它只附带IS Premier或Admin Studio,这意味着我们必须花一些钱。在我走这条路之前,我需要一些迹象表明这可能会奏效。 使用Repackager工具从InstallScript转换为Basic MSI时是否可以丢失任何功能?我们的脚本中有一些逻辑,包括这样的事情,它可以跨安装的几个步骤传递信息。我们还使用了几个InstallShield NT服务对象,遗传对象,我认为我必须与IS2010分开安装。是否已知Repackager无法处理的InstallScript项目的任何方面? 如果Repackager不会神奇地转换项目,那么我是否可以按照指南手动进行转换?我发现InstallShield文档和论坛非常缺乏。 生成的基本MSI安装包是否能够在安装了旧(纯InstallScript)版本的系统上执行升级安装?这真的是一个奖励。在这一点上,我期待我们只是被迫完全卸载/重新安装。     
已邀请:
出于克里斯托弗提到的相同原因,我不推荐重新包装解决方案。 InstallScript项目和新的Basic MSI项目之间的良好桥梁是创建一个使用InstallScript自定义操作的新的Basic MSI项目。使用此方法,MSI引擎将管理安装的非专有方面,并且可以重用旧版InstallScript代码来管理安装的专有方面。 这为您提供了两全其美的功能 - 一个强大的基本MSI软件包,您可以完全控制它(因为它不是由重新打包程序自动生成),因为您不必从头开始重新实现您的InstallScript函数,从而节省了时间。     
一个repackager充其量只能捕获安装的业务规则的一个实例。您不能简单地“转换”您的安装,而是重新设计它。理想情况下,您将有一位MSI专家审核您的InstallScript项目,并确定可以通过重构到MSI最佳实践消除的部分,然后重写其余部分以适合MSI的序列表。 如果您的旧卸载行为很好,您可以编写一个删除它的自定义操作。如果您的新产品转到新的安装目录,这是最简单的,因为您可以消除潜在的文件成本问题。如果这是不可能的和/或您的旧安装没有正常运行的卸载,那么这将变得更加复杂。 如果您希望将旧安装上下文中的配置数据保留到新上下文,那么它也会更复杂。 多年来我已经完成了很多这些工作,虽然它可能非常具有挑战性,但是当你在整个过程中清理很多问题时它也会有所回报。     

要回复问题请先登录注册