执行与安装捆绑在一起的 MSI
我创建了一个 MSI,其中还包括水晶报表的安装程序文件 (CRRedist2008_x86.msi)。 我想与主安装程序一起执行水晶报告 MSI。 我明白,我必须使用某种自定义操作,但我不确定具体的方法。
也许步骤是
i) 让主要安装完成 ii) 使用命令 msiexec 执行“CRRedist2008_x86.msi”[我不知道如何执行此操作]
有人可以为我提供有关如何实现此目的的指导吗?
I have created a MSI which also includes the installer file for crystal report (CRRedist2008_x86.msi).
I would like to execute the crystal report MSI along with the main installer.
I understand, I have to use some kind of Custom Action, but I am not sure about the exact way to go about this.
Perhaps the steps would be
i) Let the main installation finish
ii) Execute the "CRRedist2008_x86.msi" using the command msiexec [I am not sure how to do this]
Could someone provide me guidance on how to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最好的选择是使用引导程序(我听说过有关免费 dotNetInstaller 的好消息,或者有商业版 )
然后配置您的引导程序执行以下操作:
例如,使用我使用的引导程序,我们会检查
如果它们不存在,则会从网上下载并自动安装。这一切都发生在主安装开始之前。
希望有帮助:)
Your best bet is to use a bootstrapper (I've heard good things about the free dotNetInstaller, or there are commercial alternatives available)
Then configure your bootstrapper to do the following:
For example, with the bootstrapper I use we check for
If they're not present, they're then downloaded off the net and installed automatically. This all happens before the main install starts.
Hope that helps :)
有两种方法可以实现此目的:
添加 Crystal Reports 安装程序作为先决条件。大多数安装创作工具都支持此方法,并且这是推荐的方法。
创建启动第二个安装程序的自定义操作。 Windows Installer 没有用于将其他 MSI 作为常规文件启动的预定义自定义操作,但您可以尝试创建一个使用 ShellExecute 启动 MSI 文件的自定义 EXE。
要在安装结束时运行另一个 MSI 安装程序,您需要将其安排在 InstallFinalize 操作之后,并使用 msidbCustomActionTypeAsync 和 msidbCustomActionTypeContinue 标志运行它:
http://msdn.microsoft.com/en-us/库/aa368071(VS.85).aspx
There are two approaches for this:
Add the Crystal Reports installer as a prerequisite. Most setup authoring tools support this and it's the recommended method.
Create a custom action which launches the second installer. Windows Installer doesn't have a predefined custom action for launching other MSIs as regular files, but you can try creating a custom EXE which uses ShellExecute to launch the MSI file.
To run another MSI installer at the installation end you need to schedule it after InstallFinalize action and run it with the msidbCustomActionTypeAsync and msidbCustomActionTypeContinue flags:
http://msdn.microsoft.com/en-us/library/aa368071(VS.85).aspx