我创建了一个MSI,其中还包括用于Crystal Report的安装程序文件(Crredist2008_x86.msi)。我想与主安装程序一起执行Crystal Report MSI。我明白,我必须使用某种自定义操作,但是我不确定要解决这个问题的确切方法。

也许这些步骤是

i)让主安装完成ii)执行使用命令msiexec [我不确定该怎么做

有人可以为我提供有关如何实现这一目标的指导吗?

有帮助吗?

解决方案

有两种方法:

  1. 将Crystal Reports安装程序添加为先决条件。大多数设置创作工具都支持这一点,这是推荐的方法。

  2. 创建一个启动第二个安装程序的自定义操作。 Windows Installer没有一个预定义的自定义操作来启动其他MSI作为常规文件,但是您可以尝试创建使用Shellexecute启动MSI文件的自定义EXE。

要在安装结束时运行另一个MSI安装程序,您需要在安装方面的操作后进行安排 MSIDBCUSTOMACTIONTYPESYNCMSIDBCUSTOMACTYTYPECONTINUE 标志:http://msdn.microsoft.com/en-us/library/aa368071(vs.85).aspx

其他提示

最好的选择是使用Bootstrapper(我听说过有关免费的好消息 dotnetinstaller, ,或有商业替代品)

然后配置Bootstrapper以执行以下操作:

  • 检查水晶报告,如果不存在,请安装
  • 检查任何其他依赖项,如果不存在,请尝试安装
  • 运行您的设置文件(应该再次进行这些检查,如果尚未安装依赖关系,则中止)

例如,使用Bootstrapper,我使用了

  • Windows安装程序3.1
  • .NET 2.0+

如果他们不存在,然后将其下载并自动安装。这一切都发生在主安装开始之前。

希望有帮助:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top