原文: Wix 安装部署(五) Bootstrapper 捆绑安装 Wix的xml配置确实很费劲,忍不住有点像吐槽一下,前四篇完成的功能在Windows Installer中通过配置能很快的弄出来...在Windows Installer中分别在Redistributables和Registry中设置就行了,特别是注册,可以直接把目录从你自己的电脑上拖过来。...但今天要讲的,就是wix中的Bootstrapper 项目,制作一个捆绑安装程序,也是Windows Installer中没有的。将多个需要安装的文件,按照顺序一次性装完。...二、如何捆绑 目的:检测.net版本,没有匹配的就自动安装,然后再安装我们自己的工程。...Permanent=”yes” 表示如果是卸载的话,这个文件会保留,为no的话,用户卸载的时候会一起卸载掉。VersionNT 变量代表系统,5.1指的是xp 4.判断是否注册。
小提示 Bundle(exe 格式)的判断方法和 Product(msi 格式)的不一样,因此 为 WiX 制作的 msi 安装包添加 .NET Framework 环境检查 一文中所编写的代码对本文没有任何影响...-- 其他元素 --> 这里引入了两个很重要的概念:产品(Product)和捆绑包(Bundle)。...做两件事情: 将 .NET Framework 的安装加入到捆绑包的安装过程中; 将 .NET Framework 的安装包文件嵌入到捆绑包中或随包放到单独的文件中(可选)。...对于 Bundle 捆绑包来说,这个目录指代了两种意思: 跟捆绑包的 exe 同一目录下的“redist”文件夹中; 捆绑包打包后包内的虚拟目录“redist”中。...每个 .NET Framework 版本都有自己对应的文件名称,如果还想继续用 WixNetFxExtension.dll 中提供的安装 .NET Framework 的功能,那么从官网下载文件后就不能改名字
本文开始前,请确保你已经可以生成一个最简单的 msi 安装包了: 用 WiX 制作安装包:创建一个简单的 msi 安装包 由于 exe 格式的安装包自己带了 UI,所以 msi 中的 UI 怎么样都是可以不用管的...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“EXE”文件 创建完后,记得去项目属性里改一下输出的文件名。...例如可以改成主项目的名称,也可以改成“XXX_Setup”这些大家喜欢用的名称。 引用 MSI 项目 我们现在的这个项目生成的是捆绑包(Bundle),是为了将多个安装包集合到一起进行安装的。...我们需要在这个捆绑包里面安装我们上一篇教程中创建的 MSI 安装包,所以我们需要引用这个创建 MSI 的项目。...可选值为 yes no default,对于 MSI 文件会默认嵌入,所以也可以不指定。
对安装包技术零基础的开发者,甚至仅凭阅读官方文档的教程系列也难以完成 Hello World 级别的安装包制作。...你可以挑自己想做的安装包类型,然后直接在这个类别里面从第一篇读至最后一篇。...解决方案 使用 WiX 创建一个简单的 msi 安装包 为 WiX 制作的 msi 安装包添加 .NET Framework 环境检查 使用 WiX 创建一个简单的 exe 安装包 为 WiX 制作的...- 已处理证书链,但是在不受信任提供程序信任的根证书中终止。...完成主要安装流程 // 未完待续… 可供查阅的资料汇总 可在 wxs 中编写的项目引用变量 $(var.ProjectName.Xxx) 系列) 其他 WiX Toolset 教程系列 WiX Toolset
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 msi 安装包。...创建 WiX MSI 项目 在解决方案上右键,“添加”->“新建项目…”,然后在“添加新项目”窗口中搜索“WiX”,找到“Setup Project for WiX v3”。...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程中,我取的名字为 Walterlv.Installer.Msi...毕竟谁也不希望系统“应用和功能”里显示的名字不是真正的产品名吧…… 另外,其他属性的值也值得留意。但在你明白他们的真实含义之前,不建议修改其值。...如果希望更改 MSI 安装包的文件名,则需要去项目的属性页里去修改,如下图: 测试效果 现在,我们完成了一个最简单的 MSI 安装包,测试安装一下。
我们将做这些事情: 创建一个 WPF 项目,用来做安装包的 UI 处理一下这个 WPF 项目,使其对接 WiX 的捆绑包 修改用来生成 exe 格式安装包的捆绑包项目,使其接入 WPF UI 项目 创建...将 WPF UI 项目对接 WiX 捆绑包 1....双击 WPF UI 的项目名称以修改项目文件,将绝对路径改成环境变量引用 $(WIX)(注意这里引用的是环境变量,而不是之前的 MSBuild 属性,虽然写法一模一样): 1 2 3 4 5 6 host->supportedFramework 中的 version 值请始终设为 v4...不要设置成任何类似 v4.6.2、v4.8、.NETFramework,Version=v4.5 之类的值。
在 WiX 安装包制作时,Product.wxs 文件中的 Product 标签中存在一些属性,这些属性应该如何设置才是比较合适的呢?...本文是对我另一篇入门教程博客的一点补充: 用 WiX 制作安装包:创建一个简单的 msi 安装包 Id、Version Id:产品 Id。 Version:产品版本。...关于这两个值的变化: 如果这两个值都没有更改而构建出一个新的 MSI 安装包,那么 Windows Installer 会认为这两个包之间属于“小型更新”(Update)。...如果这两个值都更改了,那么 Windows Installer 会认为这两个包之间属于“主要升级”(MajorUpgrade)。...在没有配置升级策略的情况下,如果有两个不同的 MSI 包设置了相同的 Id 和 Version,那么当安装了其中一个之后,另一个将无法安装。
新建 Compose 项目 你可以更新到最新的 idea 2020.3,或者从 Github[3] 上拉取它的模板。这里我选择使用 idea。...经过排查,这是由 Gradle 和 java 14 引起的,Gradle 6.6 的版本会引起该问题,可以将 gradle 更改到 6.7 或者 6.5 重新进行构建。...}) { Text(text) } } } 通过通过点击按钮,来更改 text,从而来刷新界面。...这里会下载 wix3[6] 。 这里可能会出现下载失败,如果下载失败,请手动到 Github 下载 wix311-binaries.zip。...打包后的 msi 在 build\compose\binaries\main\msi\Hello World-0.1.0.msi。 一个简单的 Hello World 大小在 40 mb 左右。
Windows Vista 和SP 1, Windows XP SP3, Windows Server 2008 RTM/SP1, Windows Server 2003 SP1和SP2中,微软捆绑了...相对与4.5版本,Windows Installer 5.0主要是在安全性上作了改进,从5.0开始,Windows Installer将会为用户提供账户、文件、服务和注册表等全方位的保护。...同时,也会带来全新的标准、安装包功能、卷数据类型、属性、数据库平台以及自动化界面等等。...Bob Arnson 在他的博客上宣布MSI v5.0 features in WiX v3.0 在 3.0.4917.0 build 支持Windows Installer 5.0。...beta download location (包含了beta版本的Windows Installer 5.0 SDK)
版本以下的,不要下载6及其6以上的版本,否则无法打包成功) wix(打包成msi必须下载,没有下载javapackager会提示缺少wix) JDK8 用法 javapackager command...-Bbundler-argument=value: 向用于打包自包含应用程序的捆绑程序提供信息。有关每个捆绑器的参数的信息,请参阅自包含应用程序捆绑器的参数。...应用程序捆绑的参数 这些自定义的bundle参数在使用的时候要注意,-B加上参数名=值 例如 icon 使用的时候就是 -Bicon=“path 该命令的-B选项用于-deploy指定用于创建自包含应用程序的捆绑程序的参数...classPath=path :相对于组装的应用程序目录的类路径。javapackager该路径通常从 JAR 文件清单中提取,如果您使用其他命令,则不需要设置。...Windows MSI Bundler 参数 menuHint=boolean:指示快捷方式是否安装在开始菜单或开始屏幕上的标志。设置为true安装快捷方式。默认值为true.
MSI和MSM测试wix工具箱.它提供了直观的、轻松的对话方式编辑wix文件来源。...该包介绍了作为部分 .msi 摘要流提供的属性,在资源管理器中将鼠标停留在 .msi 上方时就会看到这些属性。 查看 WiX 帮助文件文档中 Package 元素的其他可用属性。...此属性的值应为下列值之一: 受限 设置为此值表明该程序包无需提升权限即可安装。 提升 设置为此值表明该程序包需要提升权限才能进行安装。此为默认值。 制造商 字符串 发布此包的供应商。...用户直接从许可协议界面进入feature customization界面。当默认情况下安装全部特性时,WixUI_FeatureTree比WixUI_Mondo更合适。...Note: 要使用WixUI_InstallDir,你必须为WIXUI_INSTALLDIR设置一个值,该值由Directory的Id确定,作为初始的安装路径。
从被开发出来至今,它还没有什么新特性,但现在是时候做出改变了。 首先,让我们瞧瞧现版本安装程序的使用经验。 第1步 启动安装程序 ?...这是使用 WiX Toolset Windows 安装程序的默认界面外观,算不上太好看,而且没有太多对安装程序进行说明的品牌信息。 第2步 安装目录 ? 同样,没有太多的品牌信息。 第3步 安装 ?...用户不能选择 Jenkins 作为 Windows 服务启动时的端口以及账户。 安装程序捆绑了32位的 Java Runtime,而没有使用已存在的 JRE。...安装程序现在不再捆绑 JRE,而是在系统上搜索兼容的 JRE (现在是 JRE 8)。 如果你想使用与安装程序搜索到不同的 JRE,你可以浏览目录并指定它。...除了基于 MSI 的 Windows 安装程序的更新之外,平台特别兴趣小组还在努力接管 Chocolatey Jenkins 软件包并为每次更新发布一个版本。
使用 WiX 的 Burn 引擎制作自定义托管引导程序的 exe 安装包时,你可能会遇到这种情况:明明目标电脑上已经装好了 .NET Framework,但无论如何就是会提示安装,始终不启动自定义的安装界面...然而这是捆绑包中的判断,与 Product.wxs 无关;我们默认用的是 WixNetFxExtension.dll 中的判断,这很靠谱,也不会出问题,所以也与 InstallCondition 和DetectCondition...Present, cached: None [14A4:9F04][2021-07-16T11:13:58]i101: Detected package: Walterlv.Demo.MainApp.msi...确保里面的 assemblyName 和 supportedRuntime 属性赋值正确(可参见我入门教程中写的配置和可用值说明)。...解决 可按下面的配置作为参考,将你的配置改到正确(参见我的 WiX 入门教程): 1 2 3 4 5 6 7 8 9 10 11 12 13 <?
其实有很多种打包的方式,在这里我只介绍在VS2008下用Wix制作VSPackage的安装程序。您首先要下载并安装Wix toolset(http://wix.codeplex.com/)。...创建Wix项目 新建一个项目,项目类型选择Wix-》Wix Project,如下图: ? 完成后的解决方案视图如下: ?...改为 中Id对应的值。...然后修改Product.wxs文件,把Product节点的Language从1033改为2052,并添加一个CodePage=“936”的属性。...再重新编译VSPackageInstaller项目,会在bin\debug\zh-cn目录下找到新编译出来的msi。
最近有个项目需要生成一个自动打包安装App和数据库的MSI文件,经同事推荐WIX,于是乎就试了一试。...遇到了一些问题觉得有分享的价值,所以写篇博客记录一下 :) 使用感觉: WIX特点:功能很强大,用XML配置实现,没有界面,弹性很大,但learning curve比较长。...WIX貌似对LocalDB不支持,如果是其它版本的SQL Server,WIX有内置配置支持,很简单。...问题一: WIX内置不支持SQL LocalDB,怎么实现对SQL LocalDB安装及配置 解决方案: 我的第一想法和现在的做法是用Powershell调用SQL Scripts,然后再用WIX调用Powershell...\LocalDBTestSchema.sql" -v varMDF= $RingDB varLDF= $RingLog LocalDBTestSchema.sql 中对应的变量写法如下: USE [master
渗透技巧——从github下载文件的多种方法 0x00 前言 ---- 本文源于一个有趣的问题: 已知exe文件:https://github.com/3gstudent/test/raw/master...《渗透测试中的msiexec》《渗透技巧——从Admin权限切换到System权限》有过介绍,细节不再赘述 首先将powershell实现下载执行的代码作base64编码: $fileContent =...> 将其编译,生成msi文件,命令如下: candle.exe msigen.wix light.exe msigen.wixobj 生成test.msi 实现功能: msiexec /q /i https...自定义级别`,找到`通过域访问数据源`,选择`启用 如下图 ?
系统环境变量由 Windows 定义并应用到所有计算机用户。对系统环境的更改将写入注册表,而且通常需要重启计算机才能生效。通常我们的程序中也会使用环境变量,如何在WiX设置环境变量呢?...在安装/删除程序的时候需要处理我们的环境变量: 安装程序: 如果相同名称的环境变量名称不存在,则创建一个变量: 如果已经存在一个相同名称的变量: 用新的值代替旧值....不修改旧值或者忽略新值 在环境变量的值列表开头插入一个新的值. 在环境变量的值列表末尾插入一个新的值. 删除一个环境变量: 不管它的值 只有当它的值和提供的值匹配时....Environment table 也是一个 formatted field,这也就是说环境变量的值可以是来自一个属性,另一个环境变量,或者是任何一个formatted 字符串,下面的例子就是把环境变量设置成...System="no" Value="[INSTALLLOCATION]" /> 下面这个例子是用新的值代替已经存在的值
最简单的方法是从微软网站下载和运行常青版引导程序。 Rust Tauri 需要 WebView2 才能在 Windows 上呈现网页内容,所以您必须先安装 WebView2。...最简单的方法是从微软网站下载和运行常青版引导程序。...请注意,为了使更改生效,您必须重新启动终端,在某些情况下需要重新启动 Windows 本身。...,注意 APPDATA 变量的使用。...该值在运行时注入,解析为应用程序数据目录。
CSS中使用JS将CSS抽象到组件级别本身,使用JavaScript以声明性和可维护的方式描述样式。...提示:Styled-components也可以与Bit组合,在应用程序之间共享它们并在可视化的游乐场中进行开发。看一看。 另请参阅:Wix-Eng的Stylable仍处于开发阶段。 2....在6.5K星,由FormidableLabs创建,Radium被定义为“React组件样式的工具链”。它是使用React而不使用CSS来管理内联样式的工具集。...Radium提供标准接口和抽象,用于处理内联样式无法轻松容纳的CSS功能。 Radium允许您将样式与React组件捆绑在一起,将javascript,html和样式结合在一起。...它快速高效,独立于框架,服务器端/静态渲染,并添加了供应商前缀/后备值。这是一篇简短的 API docs 介绍,Glamour中CSS技术的比较和Gatsby Glamby的有用教程 。
WiX MSI: The WiX MSI target builds .msi files, which are "traditional" Windows installer files....For more info, check out "Should I use WiX MSI?"....You can only build the WiX MSI target on machines with light and candle installed from the WiX toolkit...默认值为 true。...默认值为 false. 主进程日志问题 我们在Electron的main.js中通过console.log打印日志,以便查看调试应用。
领取专属 10元无门槛券
手把手带您无忧上云