本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 前面我们制作完成了一个简单的 msi 安装包。...本文基于前一篇文章已经建好的项目继续: 用 WiX 制作安装包:创建一个简单的 msi 安装包 添加 WixNetFxExtension 引用 在 msi 安装包项目的“Reference”上右键,“添加引用...做两件事情: 得知当前系统环境是否已具备 .NET Framework 某版本; 根据判断结果决定此 MSI 包是否能被安装。...小提示 MSI 包只能判断 .NET Framework 是否存在,无法在不存在时执行 .NET Framework 的安装操作。...决定此 MSI 包是否能被安装 紧接在刚刚那句的后面,我们再添加一句: 1 2 3 4 5 6 7 WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 msi 安装包。...创建 WiX MSI 项目 在解决方案上右键,“添加”->“新建项目…”,然后在“添加新项目”窗口中搜索“WiX”,找到“Setup Project for WiX v3”。...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程中,我取的名字为 Walterlv.Installer.Msi...编辑基本的安装包信息 此时,我们距离完成 msi 打包只剩最后一步了,就是填写基本的安装包信息。...如果希望更改 MSI 安装包的文件名,则需要去项目的属性页里去修改,如下图: 测试效果 现在,我们完成了一个最简单的 MSI 安装包,测试安装一下。
本文是 WiX Toolset 安装包制作入门教程 系列中的首篇,可前往阅读完整教程。 WiX 提供一组工具集,我们的安装包正是通过这一组工具集来编译生成的。...这份安装包可帮助我们更简单地部署好 WiX Toolset 的构建环境。...nuget 安装 以上方式均为全局安装,如果是团队合作,要求所有维护 WiX 安装包的开发人员都安装好 WiX Toolset。...你也可以考虑将 WiX 安装到你的某个 Visual Studio 项目中,这样打开此项目的所有开发人员在还原 NuGet 包后都自动拥有了 WiX 全套工具集。...安装了此 NuGet 包的项目将可完全使用 WiX 工具集(因为包里包含了构建安装包需要的 MSBuild 属性)。
小提示 Bundle(exe 格式)的判断方法和 Product(msi 格式)的不一样,因此 为 WiX 制作的 msi 安装包添加 .NET Framework 环境检查 一文中所编写的代码对本文没有任何影响...-- 其他元素 --> Wix> 这里引入了两个很重要的概念:产品(Product)和捆绑包(Bundle)。...做两件事情: 将 .NET Framework 的安装加入到捆绑包的安装过程中; 将 .NET Framework 的安装包文件嵌入到捆绑包中或随包放到单独的文件中(可选)。...而如果你打算将 .NET Framework 的安装包嵌入到捆绑包中或者随包放到单独的文件中,那么请继续操作。...对于 Bundle 捆绑包来说,这个目录指代了两种意思: 跟捆绑包的 exe 同一目录下的“redist”文件夹中; 捆绑包打包后包内的虚拟目录“redist”中。
在制作安装包的时候,要求检查软件安装必备的软件,例如安装visual studio的时候需要检测.net frmaework等,通过WiX完成不了这样的工作,那么如何完成这样的工作呢。...这就需要制作一个bootstrapper,检查必备的软件包,并下载安装软件包,然后安装你的MSI安装文件。...可以参考以下两个: http://wix.mindcapers.com/wiki/Bootstrapper http://www.clariusconsulting.net/blogs/pga/comments
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 exe 安装包。...本文开始前,请确保你已经可以生成一个最简单的 msi 安装包了: 用 WiX 制作安装包:创建一个简单的 msi 安装包 由于 exe 格式的安装包自己带了 UI,所以 msi 中的 UI 怎么样都是可以不用管的...引用 MSI 项目 我们现在的这个项目生成的是捆绑包(Bundle),是为了将多个安装包集合到一起进行安装的。...我们需要在这个捆绑包里面安装我们上一篇教程中创建的 MSI 安装包,所以我们需要引用这个创建 MSI 的项目。...当然,对于一个 Bundle 来说可以集合多个安装包。当要一次安装多个 MSI 包的时候,建议选不一样的 UpgradeCode。
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。...本文介绍安装 WiX Toolset 的两款 Visual Studio 插件,以便你能直接在 Visual Studio 里完整整套安装包的制作,无需使用命令行工具。...对初学 WiX 的开发者来说比较友好。...关于插件 Wix Toolset Visual Studio Extension 为 Visual Studio 带来了这些功能: 通过模板创建 WiX 项目 支持 .wixproj 这个 WiX 专属的项目格式...(只是新扩展名,里面的内容还是其他各种项目格式都用的那种) 为 WiX 打包项目提供专属的属性面板页,可供设置一些基本的属性 反正,装了这款插件能让你更容易编写和管理 WiX 安装包相关文件。
其实有很多种打包的方式,在这里我只介绍在VS2008下用Wix制作VSPackage的安装程序。您首先要下载并安装Wix toolset(http://wix.codeplex.com/)。...创建Wix项目 新建一个项目,项目类型选择Wix-》Wix Project,如下图: ? 完成后的解决方案视图如下: ?...测试安装包 到此为止,我们的安装包已经可以用了,编译VSPackageInstaller项目,并运行VSPackageInstaller.msi,可以看到安装界面已经出来了。 ?...改进安装包 虽然我们的安装包已经可以用了,但还存在几个问题: 它是英文的 如果用户没装VS2008,安装程序会报错 安装时,不想出现license对话框 执行devenv.exe /setup...再重新编译VSPackageInstaller项目,会在bin\debug\zh-cn目录下找到新编译出来的msi。
我们将做这些事情: 创建一个 WPF 项目,用来做安装包的 UI 处理一下这个 WPF 项目,使其对接 WiX 的捆绑包 修改用来生成 exe 格式安装包的捆绑包项目,使其接入 WPF UI 项目 创建...捆绑包,我们先建一个 Program.cs 文件作为启动文件。...将 WPF UI 项目对接 WiX 捆绑包 1....在最终生成的捆绑包中,这个配置文件必须严格使用此名称。...); 将此 WPF UI 作为捆绑包负载放入捆绑包中; 将前面编写的 BootstrapperCore.config 文件作为捆绑包负载放入捆绑包中。
原文: Wix 安装部署(五) Bootstrapper 捆绑安装 Wix的xml配置确实很费劲,忍不住有点像吐槽一下,前四篇完成的功能在Windows Installer中通过配置能很快的弄出来...但今天要讲的,就是wix中的Bootstrapper 项目,制作一个捆绑安装程序,也是Windows Installer中没有的。将多个需要安装的文件,按照顺序一次性装完。...-- msi" /> --> Wix> View Code...二、如何捆绑 目的:检测.net版本,没有匹配的就自动安装,然后再安装我们自己的工程。...说几个重要的属性:Compress=“yes” 表示是压缩,no的话,debug中这个安装包就会独立出来,全部是yes的话最终就一个exe文件。
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 严格来说,本文算不得教程,只是带大家创建一个需要被打包的项目。...▲ 创建 Git 存储库 ▲ 仅限本地 现在,我们已经准备了一个最简单的项目,可以开始后续 WiX 打包的正式学习了。...本文会经常更新,请阅读原文: https://blog.walterlv.com/post/getting-started-with-wix-toolset-create-a-new-learning-vs-solution.html
如果你使用 WiX 制作安装包,并且遇到了问题,一定需要一个趁手的调试方案。本文介绍如何查看 WiX 制作的安装包的日志。...WiX 使用 Burn 引擎来制作 exe 捆绑包,默认情况下 Burn 引擎使用自带的安装界面来执行安装。...比如 用 WPF 来制作安装包界面。 因此,我们有通用的方法来查看安装日志,只需要在启动安装程序时传入参数: 1 > ....\Walterlv.Demo.MainApp.exe -l "debug.log" 其中,Walterlv.Demo.MainApp.exe 是我在 WiX 入门教程系列中使用的安装包名。...以下是一个成功运行的自定义捆绑包的日志: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [476C:2F20
msi 格式安装包的 Hello World 安装 WiX Toolset 工具集 安装 WiX Toolset Visual Studio 插件 准备一个用于学习 WiX 安装包制作的 Visual...Studio 解决方案 使用 WiX 创建一个简单的 msi 安装包 exe 格式安装包的 Hello World 安装 WiX Toolset 工具集 安装 WiX Toolset Visual Studio...插件 准备一个用于学习 WiX 安装包制作的 Visual Studio 解决方案 使用 WiX 创建一个简单的 msi 安装包 使用 WiX 创建一个简单的 exe 安装包 要求 .NET Framework...解决方案 使用 WiX 创建一个简单的 msi 安装包 为 WiX 制作的 msi 安装包添加 .NET Framework 环境检查 使用 WiX 创建一个简单的 exe 安装包 为 WiX 制作的...Studio 插件 准备一个用于学习 WiX 安装包制作的 Visual Studio 解决方案 使用 WiX 创建一个简单的 msi 安装包 使用 WiX 创建一个简单的 exe 安装包 为 WiX
WiX是Windows Installer XML的简称,它是用于制作Windows安装包的工具集。它支持命令行环境,开发者可以及将它集成到他们的编译过程中创建MSI和MSM安装包。...更多信息可以参考:http://wix.sourceforge.net/ 最近研究了一下如何使用WiX制作具有时间限制的安装包,下图是demo的效果图。 ?
有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义msi安装包的执行过程。 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品。...通过下面的调用就可以去掉msi中自带的UI: NativeMethods.MsiSetInternalUI(2, IntPtr.Zero) [DllImport("msi.dll", CharSet =...或者通过它传递我们的消息给msi,比如说告诉msi,停止安装,执行cancel操作。使用这个方法需要注意的是,当你完成安装后一定要把原来的handler设回去。否则以后执行msi安装包可能会出问题。...在安装进行的过程中可以把cancel信息传递给MsiProgressHandler,当MsiProgressHandler检测到cancel信息后通过返回值告诉msi的执行引擎,执行cancel操作(msi...如果要安装多个msi只需在Install方法中循环就可以了。 总结一下,通过调用几个windows API,我们可以实现对msi安装过程的控制。
在 WiX 安装包制作时,Product.wxs 文件中的 Product 标签中存在一些属性,这些属性应该如何设置才是比较合适的呢?...本文是对我另一篇入门教程博客的一点补充: 用 WiX 制作安装包:创建一个简单的 msi 安装包 Id、Version Id:产品 Id。 Version:产品版本。...关于这两个值的变化: 如果这两个值都没有更改而构建出一个新的 MSI 安装包,那么 Windows Installer 会认为这两个包之间属于“小型更新”(Update)。...在没有配置升级策略的情况下,如果有两个不同的 MSI 包设置了相同的 Id 和 Version,那么当安装了其中一个之后,另一个将无法安装。...参考资料 修补和升级 - Win32 apps - Microsoft Docs Product Identification (ProductCode and UpgradeCode) In WiX,
Windows Vista 和SP 1, Windows XP SP3, Windows Server 2008 RTM/SP1, Windows Server 2003 SP1和SP2中,微软捆绑了...同时,也会带来全新的标准、安装包功能、卷数据类型、属性、数据库平台以及自动化界面等等。...Bob Arnson 在他的博客上宣布MSI v5.0 features in WiX v3.0 在 3.0.4917.0 build 支持Windows Installer 5.0。
本文将详细介绍 C# 应用打包的各种方法,包括 ClickOnce、MSI 安装包、Visual Studio Installer Projects、WiX Toolset 和一些第三方工具(如 Inno...使用 MSI 安装包MSI(Microsoft Installer)是 Windows 系统原生的安装包格式,适合更复杂的应用程序。...MSI 包可以通过工具如 Visual Studio Installer Projects 或 WiX Toolset 创建。...配置安装包的属性(如版本号、安装路径等)。生成安装包,Visual Studio 会创建 .msi 文件。MSI 安装包的优势:支持自定义安装步骤,例如用户协议、组件选择等。...使用 WiX 的命令行工具编译 XML,生成 .msi 安装包。WiX Toolset 的优势:高度可定制,适用于复杂的安装需求。支持丰富的安装功能,如服务安装、注册表管理、系统权限设置等。
Windows Installer XML(WiX) 这里所介绍的是Wix 3.0版本,目前还是beta....Wix 是 Windows Installer XML 的缩写,它是微软提供的一组工具和规范的集合,用来制作MSI格式的安装包。另外值得一提的是,Wix是微软少有的开源软件之一。...制作MSI的工作有InstallShield,Wise,他们都是商业程序,需要付费,你也可以使用WiX来完成安装程序制作。...WiX和这些MSI的工具比较有不同的地方: 它完全用xml描述,使用命令行来生成,这非常容易整合到开发流程中,通过Nant,Msbuild调用 WiX是开源的,定制性非常好,你能够做用Wise或者InstallShield...Deployment Tools Foundation (DTF) DTF就是msi.dll(Windows installer library)的.net包装,DTF使得为MSI安装包编写自定义Actions
使用 WiX 的 Burn 引擎制作自定义托管引导程序的 exe 安装包时,双击生成的安装包没有反应。如果查看日志可以发现有 0x80070002 错误。本文介绍其调查和解决方法。...现象 双击制作的自定义引导程序的 exe 安装包没有反应,通过查看 Burn 引擎的输出日志可以发现如下关键的错误码: 1 2 3 4 5 6 7 8 9 ... [1874:8D8C][2021-07...这篇入门教程中,涉及到找不到托管引导程序(WiX 官方喜欢称之为 MBA,Managed Bootstrapper Application)的地方可能有这些: Bundle.wxs 文件中将托管引导程序加入到负载的地方...本文会经常更新,请阅读原文: https://blog.walterlv.com/post/wix-managed-bootstrapper-application-error-80070002.html
领取专属 10元无门槛券
手把手带您无忧上云