发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162248.html原文链接:https://javaforall.cn
最近有个项目需要生成一个自动打包安装App和数据库的MSI文件,经同事推荐WIX,于是乎就试了一试。...WIX貌似对LocalDB不支持,如果是其它版本的SQL Server,WIX有内置配置支持,很简单。...问题一: WIX内置不支持SQL LocalDB,怎么实现对SQL LocalDB安装及配置 解决方案: 我的第一想法和现在的做法是用Powershell调用SQL Scripts,然后再用WIX调用Powershell...running the PowerShell script--> CAQuietExec.../> 问题二: Window 7 对权限管控比较严,SQL Scripts对C:盘大多数目录没有创建文件的权限 解决方案: 查找了一下,发现%UserProfile%目录好像SQL有读写权限,因为我们程序首先需要安装
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 msi 安装包。...本文操作基于系列教程中的一个最简项目,见 准备一个用于学习 WiX 安装包制作的 Visual Studio 解决方案。...如果你没准备这样的项目,拿一个现成的项目也行,毕竟打包对目标程序的形式没有任何要求,只要是一个能跑起来的程序即可。...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程中,我取的名字为 Walterlv.Installer.Msi...本例的目标程序只有一个文件,因此我们只放了一行,如果你要打包多个文件,可返回本教程目录页查阅其他文章。 编辑基本的安装包信息 此时,我们距离完成 msi 打包只剩最后一步了,就是填写基本的安装包信息。
WiX 全称为 Windows Installer XML,是使用 XML 文件创建 Windows 安装程序的一组工具集。它开源且完全免费。...如果你在阅读教程时发现有些步骤不对(或者按步骤完成后依然无法跑通,或者遇到了各种奇葩问题),欢迎在评论区留言,或加我的 QQ 交流(450711383)。...msi 格式安装包的 Hello World 安装 WiX Toolset 工具集 安装 WiX Toolset Visual Studio 插件 准备一个用于学习 WiX 安装包制作的 Visual...前置会始终安装,即使目标电脑已经自带或装好 用 WiX Burn 制作托管安装包:出现 0x80070002 错误 用 WiX Burn 制作托管安装包:出现 0x80131508 错误 0x800b0109...- 已处理证书链,但是在不受信任提供程序信任的根证书中终止。
的总结: 以下为译文 Wix围绕扩展性上的努力可以用“定制化”三个字来总结——在仔细地审视了系统之后,以高可用和高性能为目标对系统进行了改善。...最坏的情况下,即使数据被破坏到无法修复,我们也可以将之恢复到修订版本。 阻止不可用情况发生。区别于桌面应用程序,网站必须可以被随时随地地访问。...公用部分的高可用性 虽然目标是一直可用,但是总会发生一些意外情况 通常情况下:请求由浏览器发出,随之会被传输到一个数据中心,通过一个负载均衡器,它将会给发送到一个公共服务器,解析路由,传送给渲染器,随后返回到浏览器...Wix通过定制负载均衡器代码来解决这个问题,在公共服务器丢失时,他们会将档案服务器路由到高速缓存,即使系统在警报后已经进行故障恢复。...在网络很卡的情况下,文件返回可能无法进行。JavaScript则会做出选择:如果主要位置无法获得文件,代码则会在档案服务中获取。
本文是 WiX Toolset 安装包制作入门教程 系列中的番外篇,可前往阅读完整教程。 用 WiX 制作安装包还是有些门槛的。...如果你没有完全按照我教程中提供的步骤来执行(例如你用了自己的项目名,却在复制关键代码时没有改成自己的),那么极有可能在最终生成安装包后无法运行。...如果看完还没有解决你的问题,欢迎留言探讨,也可以尝试 调试 WiX 制作的安装包。...无法启动 exe 安装包 用 WiX Burn 制作托管安装包:出现 0x80070002 错误 用 WiX Burn 制作托管安装包:出现 0x80131508 错误 .NET Framework 始终会安装...用 WiX 制作安装包:设置的 .NET Framework 前置会始终安装,即使目标电脑已经自带或装好 本文会经常更新,请阅读原文: https://blog.walterlv.com/post/
使用 WiX 的 Burn 引擎制作自定义托管引导程序的 exe 安装包时,你可能会遇到这种情况:明明目标电脑上已经装好了 .NET Framework,但无论如何就是会提示安装,始终不启动自定义的安装界面...现象 即使是在开发机上(.NET Framework 已经装好),双击制作的 exe 安装包也依然会提示安装 .NET Framework: 图片 如果强行安装,装完也依然不会启动自定义的引导程序。...加载安装前置的引导程序,因为托管宿主无法被加载,错误代码 0x80070490。...所以导致弹出 .NET Framework 安装界面的原因是引导程序无法加载我们的自定义界面,误认为前置没有装好,所以弹出了前置安装界面。...也就是说无论你的代码怎么写,托管引导程序都能把你引导起来,而不会出现此日志中输出的那样“无法加载托管宿主”。
打包不仅能确保应用程序易于安装,还能包含所有必要的依赖项,为用户提供流畅的体验。...在弹出的窗口中,选择发布位置,可以是本地文件夹、网络路径或者 FTP 服务器。配置应用程序的更新方式,如是否启用自动更新。...使用 WiX Toolset 打包WiX Toolset 是一个开源的工具集,允许开发者通过 XML 定义复杂的安装包。WiX 支持高级功能,如安装多个组件、创建注册表项、服务安装等。...编写 NSIS 安装脚本,配置安装过程中的各项细节。使用 NSIS 编译器生成安装程序。第三方工具的优势:灵活、轻量,可以通过脚本实现高度自定义。支持压缩安装包,生成体积较小的安装程序。...对于较为简单的应用,可以选择 ClickOnce 或 Visual Studio Installer Projects,而对于复杂的应用程序,可以考虑使用 MSI 安装包或 WiX Toolset 来满足定制化安装的需求
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 严格来说,本文算不得教程,只是带大家创建一个需要被打包的项目。...▲ 启动 Visual Studio 创建新项目 ▲ 选择控制台应用程序作为模板 ▲ 输入好项目和解决方案名称 ▲ 选好目标框架 那么,我们就创建好了一个最简单的项目: 我们后续学习打包时...加入 git 版本管理 为了避免学习过程中各种修改导致文件无法还原,建议大家将此新项目加入到 git 版本管理中。...▲ 创建 Git 存储库 ▲ 仅限本地 现在,我们已经准备了一个最简单的项目,可以开始后续 WiX 打包的正式学习了。...本文会经常更新,请阅读原文: https://blog.walterlv.com/post/getting-started-with-wix-toolset-create-a-new-learning-vs-solution.html
原文: Wix 安装部署(五) Bootstrapper 捆绑安装 Wix的xml配置确实很费劲,忍不住有点像吐槽一下,前四篇完成的功能在Windows Installer中通过配置能很快的弄出来...但基本满足安装需求了。按照这个目录(下图)一个一个去配,配出来的也像样了(这里就不说了)。但是无法定制行为,以及打补丁等。wix又是一个极端,完全依赖xml。...但今天要讲的,就是wix中的Bootstrapper 项目,制作一个捆绑安装程序,也是Windows Installer中没有的。将多个需要安装的文件,按照顺序一次性装完。...一、Bootstrapper 初识 起因:wix的Setup 项目是无法自动安装.net framework的,必须要通过bootstrapper 应用程序去驱动wix中的Burn引擎来安装...但是 所以在Bootstrapper中的安装程序都是没有窗口的。安装顺序一个个默默的装完,没有上一步,下一步。和Click Once部署的一样。一次性装完。
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 前面我们制作完成了一个简单的 msi 安装包。...如果我们要安装的程序运行需要 .NET Framework 环境,那么也可以先进行 .NET Framework 版本检查。...本文基于前一篇文章已经建好的项目继续: 用 WiX 制作安装包:创建一个简单的 msi 安装包 添加 WixNetFxExtension 引用 在 msi 安装包项目的“Reference”上右键,“添加引用...小提示 MSI 包只能判断 .NET Framework 是否存在,无法在不存在时执行 .NET Framework 的安装操作。...下图是我魔改了 DEMO 后在 Windows 11 上的截图(放上来就是为了平衡美感的): 不过为了真实性,我还是找了台 Windows 7 纯净系统来测试: 如果点击“OK”,安装程序将直接退出
其实有很多种打包的方式,在这里我只介绍在VS2008下用Wix制作VSPackage的安装程序。您首先要下载并安装Wix toolset(http://wix.codeplex.com/)。...为了演示安装后的效果,别忘了在向导中给它添加一个Menu Command。 创建Wix项目 新建一个项目,项目类型选择Wix-》Wix Project,如下图: ?...> 和修改前相比,我们主要在Product.wxs里增加了如下内容: 搜索注册表,取出vs2008的devenv.exe程序的路径 把VSPackage.dll复制到目标目录 把注册表信息(VSPackage1...安装成功之后,重启VS,点击工具菜单,可以看到我们的Package已经被安装进去了: ? 重新运行这个安装程序可以卸载掉我们的Package。...改进安装包 虽然我们的安装包已经可以用了,但还存在几个问题: 它是英文的 如果用户没装VS2008,安装程序会报错 安装时,不想出现license对话框 执行devenv.exe /setup
本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。...在这段代码中,我们做了这些事情: 在 Run 方法中全程记录日志(使用 BootstrapperApplication 基类 Engine 属性的 Log 方法来记); 做了全局异常处理(避免因出现未知异常导致安装程序无法退出又看不到界面...); 正常退出安装过程(通过调用 Engine.Quit); 设置 WPF 资源程序集(默认情况下 WPF 会去入口程序集中找,但在 WiX 引导启动后入口程序集为 null,所以我们需要手动指定资源程序集为本程序集...如果发现无法运行,请前往此篇文章调试和解决问题: 使用 WiX 创建最简单的安装包过程中可能出现的问题和解决方案汇总 如果可以正常运行,那么恭喜你,完成了 WiX 安装包入门教程的 Hello World...请回到目录: WiX Toolset 安装包制作入门教程 运行效果: 关闭这个界面后,安装程序也将退出。 附源代码 附上必要的源码,避免你在阅读教程时因模板文件的版本差异造成一些意料之外的问题。
在 Wix,我们的 MetaSite 服务就面临着这样的情况,它为 Wix 用户创建的每个站点保存了大量的元数据,比如站点版本、站点所有者以及站点上安装了哪些应用程序——已安装应用上下文(The Installed...其次,他们创建了一个有自己数据库的“只写”服务(反向查找写入器),该服务使用站点元数据对象,但只获取已安装应用上下文并写入数据库。即将站点元数据的某个“视图”(已安装的应用程序)投影到数据库中。...已安装应用上下文消费与投影 第三,他们创建了一个“只读”服务,只接受与已安装应用上下文相关的请求,通过查询存储着“已安装应用程序”视图的数据库来满足请求。...2端到端事件驱动 针对简单业务流程的状态更新 请求 - 应答模型在浏览器 - 服务器交互中特别常见。...这个解决方案效果很好,但是通过网络取值存在无法避免的延迟。它更适合于更大的数据集,而不仅仅是配置数据。
在 Wix,我们的 MetaSite 服务就面临着这样的情况,它为 Wix 用户创建的每个站点保存了大量的元数据,比如站点版本、站点所有者以及站点上安装了哪些应用程序——已安装应用上下文(The Installed...即将站点元数据的某个“视图”(已安装的应用程序)投影到数据库中。...已安装应用上下文消费与投影 第三,他们创建了一个“只读”服务,只接受与已安装应用上下文相关的请求,通过查询存储着“已安装应用程序”视图的数据库来满足请求。...2.端到端事件驱动 针对简单业务流程的状态更新 请求-应答模型在浏览器-服务器交互中特别常见。借助 Kafka 和WebSocket,我们就有了一个完整的事件流驱动,包括浏览器-服务器交互。...这个解决方案效果很好,但是通过网络取值存在无法避免的延迟。它更适合于更大的数据集,而不仅仅是配置数据。 另一种方法是有一个位于内存但同样具有持久性的键/值缓存——Redis AOF提供了这种能力。
在 Wix,我们的MetaSite服务就是这种情况,它为 Wix 用户创建的每个站点保存了大量元数据,例如站点版本、站点所有者以及站点上安装了哪些应用程序-已安装的应用程序上下文。...其次,他们使用自己的数据库创建了一个“只写”服务(反向查找写入器),该服务使用站点元数据对象,但仅获取已安装应用程序上下文并将其写入数据库。...即,它将站点元数据的某个“视图”(已安装的应用程序)投射到数据库中。...使用和项目安装的应用程序上下文 第三,他们创建了一个“只读”服务,只接受与已安装应用程序上下文相关的请求,他们可以通过查询存储计划的“已安装应用程序”视图的数据库来完成这些请求。...2.端到端的事件驱动 …便于业务流程状态更新 请求-回复模型在浏览器-服务器交互中特别常见。通过将 Kafka 与websocket一起使用,我们可以驱动整个流事件,包括浏览器-服务器交互。
之前通过域或者宏功能进行攻击的钓鱼文档,需要目标用鼠标进行点击交互,并且会有明显的弹窗提示,容易被察觉,并且现在已经被大部分杀软查杀。...例如之前常用的的powershell,mshta,regsvr32,这些方法都不会报毒,但是会有弹窗提示用户有风险程序需要运行,很明显一般人都会点击阻止程序运行,谁会点击允许啊?神经病啊!!! ?...安装完Wix工具后执行下列前两条命令,会在同目录下生成一个calc.msi文件,最后一条命令表示远程下载并利用msiexec运行calc.msi文件。...此时打开Word文档就会远程执行下载和安装msi木马的命令,进一步运行powershell进行反弹。...这里说一下,经过我的测试发现,直接利用RTF脚本运行命令,在360存在的情况下一定会弹窗,但通过msi安装文件却不会,其次RTF脚本 -c 参数有109字节数限制。
n Wix:设计党狂喜!800 多个模板随便挑,连 "宠物殡葬" 这种小众行业都有专属模板。但国内用户要注意:服务器在海外,高峰期打开速度能慢到 10 秒以上,做国内业务的慎选。...电脑、平板、手机、公众号、小程序五端合一,一次制作全平台同步,再也不用单独开发小程序了。最香的是价格 ——每年只要几百块,一顿饭钱就能搞定全年费用。...自由度高但坑也多开源工具相当于 "毛坯房",可以随便改造,但需要自己买 "水泥钢筋"(服务器、插件),技术门槛比较高。...安装包才 3MB,对服务器要求不高,中小电商站够用了。但多语言设置能逼疯人 —— 每个单词都要手动翻译,想做日韩市场的话,光翻译就得花上几天时间。三、综合工具:买域名送建站?...一张表说清楚用户类型推荐工具预算参考避坑点新手 / 本地企业云官网建站几百元 / 年别用免费子域名,影响品牌可信度跨境电商Shopify+Fixon3000-5000 元 / 年提前测试目标市场的打开速度技术团队
易极赞有如下特点提供了 400多个行业案例模板,包含传统零售商城,外卖,美妆,家政,中英文站点,表单支付,跨境电商,酒店票务商城提供SSL安全证书,开通https协议,浏览器显示带安全锁提供服务器托管,...无需安装冗余的插件和主题即可完成强大的业务功能支持在线支付工具,你可以使用微信,支付宝,paypal,stripe等工具来完成在线收款#2 Wix: 是一款能助你实现理想网站的构建器。...若想为网站增添更多功能,Wix 还有庞大的应用程序市场,包含 250 多个本地和第三方扩展。...其中许多应用程序免费,可用于添加基本功能,如简单的联系人表单或社交媒体集成,也可实现更高级的功能,如全面的电子商务功能或播客和直播的集成。这一切似乎让人觉得 Wix 是为技术达人而设计,其实不然。...#3 SITE123 以专注于单一目标而在网站建设器市场闻名:帮助企业和专业人士快速高效地建立一个漂亮丶功能齐全的网站。
关于在 Power 架构上运行 .NET 并使用 ODBC 驱动程序连接到 MariaDB 的文章。...用于检查 .NET 运行时的安装状态并安装它的自定义安装程序。...本文涵盖了运行时分发、独立分发、共享运行时以及安装程序的实现说明。...关于 WiX v4 的概述文章。...它解释了 WiX 使用的文件以及如何构建它。