执行与安装捆绑的MSI
-
23-10-2019 - |
题
我创建了一个MSI,其中还包括用于Crystal Report的安装程序文件(Crredist2008_x86.msi)。我想与主安装程序一起执行Crystal Report MSI。我明白,我必须使用某种自定义操作,但是我不确定要解决这个问题的确切方法。
也许这些步骤是
i)让主安装完成ii)执行使用命令msiexec [我不确定该怎么做
有人可以为我提供有关如何实现这一目标的指导吗?
解决方案
有两种方法:
将Crystal Reports安装程序添加为先决条件。大多数设置创作工具都支持这一点,这是推荐的方法。
创建一个启动第二个安装程序的自定义操作。 Windows Installer没有一个预定义的自定义操作来启动其他MSI作为常规文件,但是您可以尝试创建使用Shellexecute启动MSI文件的自定义EXE。
要在安装结束时运行另一个MSI安装程序,您需要在安装方面的操作后进行安排 MSIDBCUSTOMACTIONTYPESYNC 和 MSIDBCUSTOMACTYTYPECONTINUE 标志:http://msdn.microsoft.com/en-us/library/aa368071(vs.85).aspx
其他提示
最好的选择是使用Bootstrapper(我听说过有关免费的好消息 dotnetinstaller, ,或有商业替代品)
然后配置Bootstrapper以执行以下操作:
- 检查水晶报告,如果不存在,请安装
- 检查任何其他依赖项,如果不存在,请尝试安装
- 运行您的设置文件(应该再次进行这些检查,如果尚未安装依赖关系,则中止)
例如,使用Bootstrapper,我使用了
- Windows安装程序3.1
- .NET 2.0+
如果他们不存在,然后将其下载并自动安装。这一切都发生在主安装开始之前。
希望有帮助:)
不隶属于 StackOverflow