WiX – 安装先决条件和第三方应用程序
我的C#应用程序有一个wix Windows Installer。 事情正在发挥作用,我能够安装和卸载应用程序。 但是我想要在我的应用程序中安装一些先决条件和其他第三方应用程序。
先决条件:
- Microsoft .NET Framework 4(x86和x64) – dotNetFx40_Full_x86_x64.exe
- SQL Server 2008 Express
- SQLEXPR_x64_ENU.EXE
- SQLEXPR32_x86_ENU.EXE
- SQL Server Compact 3.5 SP2
- SSCERuntime-ENU.MSI
- SSCERuntime-ENU-x64.msi
第三方申请:
- TeamViewer – TeamViewer_Setup.exe
当然,我并不是在寻找所有先决条件和第三方应用程序的完整指南。 我只需要大家帮忙搞清楚我是如何将这些exe
和msi
设置嵌入到我的wix
安装中的一部分。
此外,一些用于x64
,一些用于x86
,因此它应该足以处理操作系统版本和体系结构。 如何用wix实现这一目标。
我一直在互联网上搜索一段时间,似乎没有什么具体的东西适合我。
我需要确保如果没有安装这些应用程序,那么软件也应该不安装。 除此之外,如果已安装任何先决条件或第三方应用程序,则不应再次安装。
我想这可以使用一些wix工具完成,但我无法获得有关howto的任何具体说明。
编辑1
好的我安装了Microsoft .NET Framework 4 (x86 and x64)
,而我现在面临的问题是我无法安装SQL Server Compact 3.5 SP2
。 我正在逐一做事让我更清楚。 在这下我分享我的代码,以便人们可以查看:
注意:上面的代码安装.NET Framework
,它不安装SQL Server Compact 3.5 SP2
编辑-2
在参考Tom Blodget
回答之后我已经达到了这个目的,但是我无法理解如何为我的SQL Exe包提供安装命令,对于我的MSI包也是如此。 我也经历过Mr. Neil Sleightholm
回答https://stackoverflow.com/a/19010097/1182021但是这个是针对SQL 2012
,我怎么能用SQL 2008 Server
和CE
做同样的事情(条件和脚步)
但安装程序无法完成。 我想这是因为安装命令一直有效,直到接受许可协议。
请参阅有关“构建安装包软件包”的WiX 3.7文档。 如果您使用的是MSBuild,SharpDevelop或Visual Studio(非Express),则可以使用WiX Bootstrapper项目模板。 如果您更喜欢自己调用工具集命令行工具,那么它们就像蜡烛和光一样,就像构建MSI文件一样。
请参阅有关“如何:使用刻录安装.NET Framework”的WiX 3.7文档。 注意:WiX为.NET 4.0提供了两个预定义的软件包,两者都是在安装时从Microsoft下载的。 一个是完整的包,另一个是下载器包,只需在用户的系统上下载。 如果您不希望安装程序依赖于Internet访问,则可以编写自己的程序包,因为您必须处理任何捆绑的任意exe。 显然,WiX源代码可以帮助.NET 4.0软件包,因为它具有您需要的检测条件,安装命令和卸载命令。
请参阅其他每个软件包的安装文档,以了解应将哪些软件包放入其检测条件,安装命令和卸载命令。 而且,您可以选择是否在每个包中放置下载URL。
SQL Server CE
WiX刻录故障排除
Burn为自己以及运行的任何MsiPackage创建一个日志文件。 检查%TEMP%文件夹。