首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何调试 WiX Burn 制作的自定义托管引导程序的 exe 安装

WiX 本身很强大,使用本来也没那么难。奈何 WiX 3 的官方文档可读性极差且长期不更新,于是新手在使用 WiX 制作安装包时极容易出问题,导致制作的安装包各种行为不正常。...以下是查看日志的方法: 如何查看用 WiX 制作的安装包的日志 Debugger.Launch() 如果安装过程能执行到你编写的 C# 代码,那么可以在入口处加上 Debugger.Launch()...对比测试 如果出现的问题日志上说明不明显,代码也没执行到自定义引导程序部分,那么可以考虑对照正常状态的 WiX 项目替换组件调查。这可以快速将问题范围定位到某个文件甚至是某行代码上。...例如在制作 WPF 安装包界面的教程,我们有四个项目。这个示例已经开源到 GitHub 上了。于是我们可以尝试将出问题的项目中的部分模块替换成这个正常的项目对应部分。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

23460

使用WiX制作简单MSI安装程序

查看 WiX 帮助文件文档 Package 元素的其他可用属性。请注意,我们可以指定安装程序版本、文件压缩,甚至安装权限(如果面向 Windows Vista)。...但是,更大的安装程序可能需要跨多个磁盘。在这种情况下,您需要在 WiX 源文件定义多个 Media 元素,并根据需要将资源分配到每个磁盘。...复杂引用和反向引用的处理,可能是链接程序必须实现的最难的工作。 下面我们来自定义一个安装程序。 添加安装的图形界面 WiX安装界面使用的是命令行模式,我们现在在增加一个图形的安装界面。...WiX 3的图形界面在一个WixUIExtension里面定义,WixUI对话框库包含一套"stock"多话框,用来提供wizard风格的安装用户界面。用一个UIRef为安装包添加一个界面。...WixUI可以自定义,比如在界面上显示图片或者添加、删除某个界面。

3.4K90
您找到你想要的搜索结果了吗?
是的
没有找到

何在CentOS 7上的主代理安装程序安装Puppet 4

在本教程,我们将介绍如何在CentOS 7上的代理/主设置安装开源Puppet 4。...这些主机将由其专用网络接口引用,这些接口映射到DNS的“.nyc3.example.com”子域。这与准备教程描述的基础结构相同:如何在CentOS 7上将BIND配置为专用网络DNS服务器。...您应该根据主服务器有多少可用内存以及它将管理多少个代理节点来自定义此设置。 首先,在您喜欢的文本编辑器打开/etc/sysconfig/puppetserver。...可以添加不属于默认事实集的自定义事实。 收集的事实在许多情况下都很有用。例如,您可以创建Web服务器配置模板,并自动为特定虚拟主机填写适当的IP地址。...查看以下教程:10分钟带你光速入门运维工具之-Puppet 想要了解更多关于在主代理安装程序安装Puppet 4的相关教程,请前往腾讯云+社区学习更多知识。

78410

何在Ubuntu 14.04上的主代理安装程序安装Puppet 4

在本教程,我们将介绍如何在Ubuntu 14.04上的主代理设置安装开源Puppet 4。...您应该根据主服务器有多少可用内存以及它将管理多少个代理节点来自定义此设置。 首先,在您喜欢的文本编辑器打开/etc/default/puppetserver。...让我们学习如何安装和添加Puppet代理! 安装Puppet Agent Puppet代理软件必须安装在Puppet master将管理的任何服务器上。在大多数情况下,这将包括基础架构的每个服务器。...可以添加不属于默认事实集的自定义事实。 收集的事实在许多情况下都很有用。例如,您可以创建Web服务器配置模板,并自动为特定虚拟主机填写适当的IP地址。...查看以下教程:10分钟带你光速入门运维工具之-Puppet 想要了解更多关于在主代理安装程序安装Puppet 4的相关教程,请前往腾讯云+社区学习更多知识。

78330

Wix制作VSPackage的安装

其实有很多种打包的方式,在这里我只介绍在VS2008下用Wix制作VSPackage的安装程序。您首先要下载并安装Wix toolset(http://wix.codeplex.com/)。...为了演示安装后的效果,别忘了在向导给它添加一个Menu Command。 创建Wix项目 新建一个项目,项目类型选择Wix-》Wix Project,如下图: ?...安装成功之后,重启VS,点击工具菜单,可以看到我们的Package已经被安装进去了: ? 重新运行这个安装程序可以卸载掉我们的Package。...改进安装包 虽然我们的安装包已经可以用了,但还存在几个问题: 它是英文的 如果用户没装VS2008,安装程序会报错 安装时,不想出现license对话框 执行devenv.exe /setup...(请稍等几分钟) 如果想在安装时先判断客户端有没有安装VS2008,需要指定Condition,: <Condition Message="[ProductName

2.4K20

WiX 制作安装包:为 WiX 制作的 exe 安装包添加 .NET Framework 前置的安装步骤

本文是 WiX Toolset 安装包制作入门教程 系列的一篇,可前往阅读完整教程。 前面我们制作完成了一个简单的 exe 安装包。...如果我们要安装程序运行需要 .NET Framework 环境,那么可以检查 .NET Framework 是否安装,如果未安装则可将其装上。...也就是说,如果哪天你在网上某处扒出来某份 WiX 安装包代码,你需要清楚到底应该把这份代码放到哪个文件。...做两件事情: 将 .NET Framework 的安装加入到捆绑包的安装过程; 将 .NET Framework 的安装包文件嵌入到捆绑包或随包放到单独的文件(可选)。...如果用户此时双击这个 exe 安装文件并且当前的 .NET Framework 版本不满足要求,则会弹出一个文件选择对话框,要求用户选择正确的 .NET Framework 安装文件以继续安装过程。

54510

WiX 制作安装包:设置的 .NET Framework 前置会始终安装,即使目标电脑已经自带或装好

使用 WiX 的 Burn 引擎制作自定义托管引导程序的 exe 安装包时,你可能会遇到这种情况:明明目标电脑上已经装好了 .NET Framework,但无论如何就是会提示安装,始终不启动自定义安装界面...现象 即使是在开发机上(.NET Framework 已经装好),双击制作的 exe 安装包也依然会提示安装 .NET Framework: 图片 如果强行安装,装完也依然不会启动自定义的引导程序。...加载安装前置的引导程序,因为托管宿主无法被加载,错误代码 0x80070490。...所以导致弹出 .NET Framework 安装界面的原因是引导程序无法加载我们的自定义界面,误认为前置没有装好,所以弹出了前置安装界面。...也就是说无论你的代码怎么写,托管引导程序都能把你引导起来,而不会出现此日志输出的那样“无法加载托管宿主”。

35120

WiX和DTF介绍

Wix 是 Windows Installer XML 的缩写,它是微软提供的一组工具和规范的集合,用来制作MSI格式的安装包。另外值得一提的是,Wix是微软少有的开源软件之一。...制作MSI的工作有InstallShield,Wise,他们都是商业程序,需要付费,你也可以使用WiX来完成安装程序制作。...WiX和这些MSI的工具比较有不同的地方: 它完全用xml描述,使用命令行来生成,这非常容易整合到开发流程,通过Nant,Msbuild调用 WiX是开源的,定制性非常好,你能够做用Wise或者InstallShield...微软内部的程序打包也是使用WiX的。...Deployment Tools Foundation (DTF) DTF就是msi.dll(Windows installer library)的.net包装,DTF使得为MSI安装包编写自定义Actions

1K80

WiX 制作安装包:为 WiX 制作的 msi 安装包添加 .NET Framework 环境检查

本文是 WiX Toolset 安装包制作入门教程 系列的一篇,可前往阅读完整教程。 前面我们制作完成了一个简单的 msi 安装包。...如果我们要安装程序运行需要 .NET Framework 环境,那么也可以先进行 .NET Framework 版本检查。...[CDATA[ 和 ]]> 包裹起来了,避免判断条件中出现了一些会破坏 XML 语法的字符( 等)出现导致意外的问题(但实际上在本例,我们只用了字母和下划线,所以你也可以直接写 WIX_IS_NETFRAMEWORK...更低版本的 .NET Framework 没有直接的“是否安装”判断方法,需要根据版本号比较来判断,所以我不在此入门教程列出。...下图是我魔改了 DEMO 后在 Windows 11 上的截图(放上来就是为了平衡美感的): 不过为了真实性,我还是找了台 Windows 7 纯净系统来测试: 如果点击“OK”,安装程序将直接退出

50630

WiX Burn 制作托管安装包:出现 0x80070002 错误

使用 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 文件中将托管引导程序加入到负载的地方...那么只剩下原因 2 了,如果发现其名称与实际程序集名称不一样(例如改了项目名,或者从教程复制了代码却没有对应改成自己项目中的名字),那么原因就是这个了。...解决 修改 BootstrapperCore.config 文件(在这篇教程是 App.config 文件),将 assemblyName 的值改为正确的托管引导程序(MBA)的名字。

26240

WiX Toolset 安装包制作入门教程(目录篇)

WiX 全称为 Windows Installer XML,是使用 XML 文件创建 Windows 安装程序的一组工具集。它开源且完全免费。...制作的 exe 安装包添加 .NET Framework 前置的安装步骤 使用 WPF 制作安装界面(入门篇) 你可能在 Hello World 系列遇到的问题和解决办法汇总 方法与汇总 使用 WiX...创建最简单的安装包过程可能出现的问题和解决方案汇总 如何查看用 WiX 制作的安装包的日志 如何调试用 WiX 制作的安装包 具体问题 用 WiX 制作安装包:设置的 .NET Framework...- 已处理证书链,但是在不受信任提供程序信任的根证书中终止。...完成主要安装流程 // 未完待续… 可供查阅的资料汇总 可在 wxs 编写的项目引用变量 $(var.ProjectName.Xxx) 系列) 其他 WiX Toolset 教程系列 WiX Toolset

1.2K60

Jpackage-制作无需预装Java环境的Jar可执行程序

如果没有预先安装 JRE 环境,又想直接运行 Java 程序,该怎么办呢? 这篇文章我们会先学习如何将 Java 程序打包成一个可执行的 Java JAR 文件。...工具还提供了常见的自定义操作,应用名,应用图标等。...Winx3.14 下载:https://github.com/wixtoolset/wix3/releases/tag/wix314rtm 由于 hello.jar 是一个命令行程序,没有 UI界面,因此打包时使用...常见的 Windows 下 jpackage 参数还有: • --type : 指定打包后的格式, msi、exe,默认 exe。...• --win-console:使用控制台窗口启动我们的应用程序 • --win-shortcut : 在 Windows 开始菜单创建快捷方式文件 • --win-dir-chooser:让最终用户指定自定义目录来安装可执行文件

21710

6种事件驱动的架构模式

Wix,我们的 MetaSite 服务就面临着这样的情况,它为 Wix 用户创建的每个站点保存了大量的元数据,比如站点版本、站点所有者以及站点上安装了哪些应用程序——已安装应用上下文(The Installed...其次,他们创建了一个有自己数据库的“只写”服务(反向查找写入器),该服务使用站点元数据对象,但只获取已安装应用上下文并写入数据库。即将站点元数据的某个“视图”(已安装的应用程序)投影到数据库。...已安装应用上下文消费与投影 第三,他们创建了一个“只读”服务,只接受与已安装应用上下文相关的请求,通过查询存储着“已安装应用程序”视图的数据库来满足请求。...在 Wix,我们将这些压缩主题用作内存的 kv-store,我们在应用程序启动时加载(消费)来自主题的数据。这有一个 Redis 没有提供的好处,这个主题还可以被其他想要获得更新的用户使用。  ...内置的重试生成器将在出错时生成一条下一个重试主题的消息,该消息带有一个自定义头,指定在下一次调用处理程序代码之前应该延迟多少时间。 还有一个死信队列,用于重试次数耗尽的情况。

2.3K20

WiX Burn 制作托管安装包:出现 0x80131508 错误

使用 WiX 的 Burn 引擎制作自定义托管引导程序的 exe 安装包时,双击生成的安装包没有反应。如果查看日志可以发现有 0x80131508 错误。...本文介绍其调查和解决方法 现象 双击制作的自定义引导程序的 exe 安装包没有反应,通过查看 Burn 引擎的输出日志可以发现如下关键的错误码: 1 2 3 4 5 6 7 8 9 ......参考这篇入门教程的代码,如果 AssemblyInfo.cs 文件缺少标记 BootstrapperApplication 类型的特性,那么就会出现此错误。...然而呀,官方在教大家写托管引导程序的时候,翻遍了整个文档都没有提醒过要写这个特性!所以特别容易被官方文档带偏,这里记录此文章避免大家踩坑。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

22350

基于Kafka的六种事件驱动的微服务架构模式

Wix,我们的MetaSite服务就是这种情况,它为 Wix 用户创建的每个站点保存了大量元数据,例如站点版本、站点所有者以及站点上安装了哪些应用程序-已安装的应用程序上下文。...即,它将站点元数据的某个“视图”(已安装的应用程序)投射到数据库。...使用和项目安装的应用程序上下文 第三,他们创建了一个“只读”服务,只接受与已安装应用程序上下文相关的请求,他们可以通过查询存储计划的“已安装应用程序”视图的数据库来完成这些请求。...为此,Wix 自定义Job Scheduler服务调用由Payments Subscription服务预先配置的 REST 端点。 订阅续订过程发生在幕后,无需(人类)用户参与。...内置的重试生产者将在出错时生成消息到下一个重试主题,并带有一个自定义标头,指定在下一次处理程序代码调用之前应该发生多少延迟。 对于所有重试尝试都已用尽的情况,还有一个死信队列。

2.1K10

WiX 制作安装包:制作 WPF 安装包界面(入门篇)

本文是 WiX Toolset 安装包制作入门教程 系列的一篇,可前往阅读完整教程。...在这段代码,我们做了这些事情: 在 Run 方法全程记录日志(使用 BootstrapperApplication 基类 Engine 属性的 Log 方法来记); 做了全局异常处理(避免因出现未知异常导致安装程序无法退出又看不到界面...); 正常退出安装过程(通过调用 Engine.Quit); 设置 WPF 资源程序集(默认情况下 WPF 会去入口程序集中找,但在 WiX 引导启动后入口程序集为 null,所以我们需要手动指定资源程序集为本程序集...接下来,在 AssemblyInfo.cs 文件,我们将 Program 类标记为自定义的引导程序: 1 2 3 4 5 6 7 ... ++ using Microsoft.Tools.WindowsInstallerXml.Bootstrapper...如果发现无法运行,请前往此篇文章调试和解决问题: 使用 WiX 创建最简单的安装包过程可能出现的问题和解决方案汇总 如果可以正常运行,那么恭喜你,完成了 WiX 安装包入门教程的 Hello World

72420

聊聊事件驱动的架构模式

Wix,我们的 MetaSite 服务就面临着这样的情况,它为 Wix 用户创建的每个站点保存了大量的元数据,比如站点版本、站点所有者以及站点上安装了哪些应用程序——已安装应用上下文(The Installed...即将站点元数据的某个“视图”(已安装的应用程序)投影到数据库。...已安装应用上下文消费与投影 第三,他们创建了一个“只读”服务,只接受与已安装应用上下文相关的请求,通过查询存储着“已安装应用程序”视图的数据库来满足请求。...Wix 开发人员使用我们自定义的Greyhound消费者,因此,他们只需指定一个 BlockingPolicy,并根据需要指定适当的重试间隔。...内置的重试生成器将在出错时生成一条下一个重试主题的消息,该消息带有一个自定义头,指定在下一次调用处理程序代码之前应该延迟多少时间。 还有一个死信队列,用于重试次数耗尽的情况。

1.4K30

WiX 制作安装包:创建一个简单的 msi 安装

本文是 WiX Toolset 安装包制作入门教程 系列的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 msi 安装包。...本文操作基于系列教程的一个最简项目,见 准备一个用于学习 WiX 安装包制作的 Visual Studio 解决方案。...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程,我取的名字为 Walterlv.Installer.Msi...本例的目标程序只有一个文件,因此我们只放了一行,如果你要打包多个文件,可返回本教程目录页查阅其他文章。 编辑基本的安装包信息 此时,我们距离完成 msi 打包只剩最后一步了,就是填写基本的安装包信息。...,当然也是控制面板“卸载程序的名字。

93460
领券