首页
学习
活动
专区
圈层
工具
发布

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

本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 前面我们制作完成了一个简单的 msi 安装包。...本文将指导你在 msi 安装前检查 .NET Framework 的版本。...本文基于前一篇文章已经建好的项目继续: 用 WiX 制作安装包:创建一个简单的 msi 安装包 添加 WixNetFxExtension 引用 在 msi 安装包项目的“Reference”上右键,“添加引用...决定此 MSI 包是否能被安装 紧接在刚刚那句的后面,我们再添加一句: 1 2 3 4 5 6 7 WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED...测试效果 现在,编译 MSI 项目,然后运行输出目录下的 msi 文件,你会……呃……看不到任何效果……因为我们的开发机上具备 .NET Framework 4.8 的环境,可完美运行 .NET Framework

2.5K30

C# Windows桌面应用打包指南

安装 Visual Studio Installer Projects 扩展(如果未安装)。在解决方案中,右键点击项目,选择 “添加” -> “新建项目”。...在安装项目中添加需要打包的文件(例如应用程序文件、依赖库等)。配置安装包的属性(如版本号、安装路径等)。生成安装包,Visual Studio 会创建 .msi 文件。...使用 WiX 的命令行工具编译 XML,生成 .msi 安装包。WiX Toolset 的优势:高度可定制,适用于复杂的安装需求。支持丰富的安装功能,如服务安装、注册表管理、系统权限设置等。...使用 NSIS 编译器生成安装程序。第三方工具的优势:灵活、轻量,可以通过脚本实现高度自定义。支持压缩安装包,生成体积较小的安装程序。第三方工具的局限性:需要手动编写脚本,配置过程较为复杂。...对于较为简单的应用,可以选择 ClickOnce 或 Visual Studio Installer Projects,而对于复杂的应用程序,可以考虑使用 MSI 安装包或 WiX Toolset 来满足定制化安装的需求

2.3K32
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    WiX完全用xml描述,使用命令行来生成。只要用任何一个文本编辑器就可以了。但是为了开发效率,我们还是借助于辅助工具比较好。...MSI和MSM测试wix工具箱.它提供了直观的、轻松的对话方式编辑wix文件来源。...该包介绍了作为部分 .msi 摘要流提供的属性,在资源管理器中将鼠标停留在 .msi 上方时就会看到这些属性。 查看 WiX 帮助文件文档中 Package 元素的其他可用属性。...压缩 YesNoType 如果设置为“是”,则源中可包含压缩文件。 说明 字符串 产品的完整名称或说明。...是 Cabinet 字符串 Cabinet 的名称(如果将存储在媒体上的部分文件或所有文件都压缩到了 Cabinet 文件中)。如果未使用任何 Cabinet,此属性必须为空。

    4.7K90

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

    本文是 WiX Toolset 安装包制作入门教程 系列中的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 msi 安装包。...本文操作基于系列教程中的一个最简项目,见 准备一个用于学习 WiX 安装包制作的 Visual Studio 解决方案。...创建 WiX MSI 项目 在解决方案上右键,“添加”->“新建项目…”,然后在“添加新项目”窗口中搜索“WiX”,找到“Setup Project for WiX v3”。...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程中,我取的名字为 Walterlv.Installer.Msi...如果希望更改 MSI 安装包的文件名,则需要去项目的属性页里去修改,如下图: 测试效果 现在,我们完成了一个最简单的 MSI 安装包,测试安装一下。

    4.2K60

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

    如果我们要安装的程序运行需要 .NET Framework 环境,那么可以检查 .NET Framework 是否安装,如果未安装则可将其装上。...小提示 Bundle(exe 格式)的判断方法和 Product(msi 格式)的不一样,因此 为 WiX 制作的 msi 安装包添加 .NET Framework 环境检查 一文中所编写的代码对本文没有任何影响...他们分别是用来打 msi 包的 Product.wxs 和用来打 exe 包的 Bundle.wxs。这两个文件的结构分别像这样: 1 2 3 4 5 6 7 WiX 已开源,其中 wix3 的代码在这里: wixtoolset/wix3: WiX Toolset v3.x 在 /src/ext/NetFxExtension/wixlib 目录下有已定义好的各种...而如果你跳过前面加 的步骤,那么最终生成的的 exe 将不含 .NET Framework 的安装包。

    1.9K10

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

    本文开始前,请确保你已经可以生成一个最简单的 msi 安装包了: 用 WiX 制作安装包:创建一个简单的 msi 安装包 由于 exe 格式的安装包自己带了 UI,所以 msi 中的 UI 怎么样都是可以不用管的...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“EXE”文件 创建完后,记得去项目属性里改一下输出的文件名。...例如可以改成主项目的名称,也可以改成“XXX_Setup”这些大家喜欢用的名称。 引用 MSI 项目 我们现在的这个项目生成的是捆绑包(Bundle),是为了将多个安装包集合到一起进行安装的。...是前一篇教程中引用的项目的名称,你可以改成你自己的生成 MSI 的项目的名称。...Compressed="yes" 表示此 MSI 包会被嵌入到最终生成的 exe 文件中(反之则会松散地放到外部文件中)。

    2.7K20

    绕过360进行Word文档钓鱼

    0x01   首先下载该脚本,利用方法github上说的很清楚了,这里说下 -i 参数,test.rtf为你的输入文档,即运行下方代码后,生成的Doc文档内容和test.rtf一致。...安装完Wix工具后执行下列前两条命令,会在同目录下生成一个calc.msi文件,最后一条命令表示远程下载并利用msiexec运行calc.msi文件。...首先配置好empire,具体的配置内容可以参考这篇文章[https://mari0er.club/post/empire.html],之后将生成的powershell代码复制粘贴到wix模板的第15行,...替换之前打开计算器的代码,然后,用第二步的方法制作成msi文件,最后利用RTF脚本生成doc文件。...其实还有很多其他的利用方法,比如利用msiexec直接下载并运行msfvenom制作的msi木马文件,可以直接获得meterpreter会话。但是,需要提前对msi木马文件进行免杀处理。 ? ?

    3K50

    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

    1.5K80

    SystemVerilog(九)-网络和变量的未压缩数组

    数字硬件建模SystemVerilog(九)-网络和变量的未压缩数组 SystemVerilog有两种类型的数组:压缩数组和非压缩数组。压缩数组是连续存储的位的集合,通常称为向量。...非压缩数组是网络或变量的集合。 集合中的每个网络或变量称为数组元素。未压缩数组的每个元素的类型、数据类型和向量大小都完全相同。每个未压缩的数组元素可以独立于其他元素存储;这些元素不需要连续存储。...软件工具,如仿真器和综合编译器,可以以工具认为最佳的任何形式组织未压缩数组的存储。 未压缩数组的基本声明语法为: 数组的维度定义了数组可以存储的元素总数。...未压缩的数组可以用任意数量的维度声明,每个维度存储指定数量的元素。声明数组维度有两种编码样式:显式地址和数组大小。...复制数组(阵列) 如果两个数组(阵列)具有相同的布局,则可以使用赋值语句将一个未压缩的数组(阵列)复制到另一个未压缩的数组(阵列)。

    2.9K30

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

    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

    6.8K61

    渗透技巧——从Admin权限切换到System权限

    《渗透测试中的msiexec》介绍过利用Advanced Installer制作msi文件的方法,这里不再赘述 本节对XPN提到的方法做复现,使用wix3制作msi文件 wix3下载地址: https:...//github.com/wixtoolset/wix3 msigen.wix的代码可参考如下地址: https://gist.github.com/xpn/d1ef20dfd266053227d3e992ae84c64e...,使用torch.exe将msigen.wixobj编译成msigen.msi文件会报错,如下图 使用light.exe能够成功生成msigen.msi,如下图 虽然报错,但不影响文件的生成和功能的执行...也就是说,完整编译命令如下: 直接双击执行msigen.msi会弹框,启动的calc.exe为system权限 命令行下执行: msiexec /q /i msigen.msi 启动的calc.exe...0x05 小结 本文对常用的System权限获取方法做了整理,最后感谢xpn的博客和他的开源代码。

    2.1K70

    WiX 安装包制作最佳实践:Id、UpgradeCode 应该怎么设置?

    在 WiX 安装包制作时,Product.wxs 文件中的 Product 标签中存在一些属性,这些属性应该如何设置才是比较合适的呢?...本文是对我另一篇入门教程博客的一点补充: 用 WiX 制作安装包:创建一个简单的 msi 安装包 Id、Version Id:产品 Id。 Version:产品版本。...关于这两个值的变化: 如果这两个值都没有更改而构建出一个新的 MSI 安装包,那么 Windows Installer 会认为这两个包之间属于“小型更新”(Update)。...如果保持 Product.wxs 文件的 Product 元素的 Id 属性为 *,那么每次构建一个 MSI 文件都会视为一次“主要升级”(MajorUpgrade)。...在没有配置升级策略的情况下,如果有两个不同的 MSI 包设置了相同的 Id 和 Version,那么当安装了其中一个之后,另一个将无法安装。

    1.2K80

    Python AI小项目打包通关:Pyinstaller和Wix都用上了

    \cv2" 可是我之前用的方式是生成了main.spec配置文件的方式啊,上面的命令感觉不适合我 机智如我,那我到main.spec里看看呗 找到了pathex, 一看就是配置额外扫描地址的 果断把cv2...的位置放了进去 pyinstaller main.spec重新生成exe。...Step3: 打包成一个一键安装的程序,第一感觉就想到了Wix,然后找到了两篇文章 把Python代码打包成电脑软件和手机App [Wix] 安装部署——起步 想着程序是用pyinstaller打包成exe...的要么还是用第一篇文章中描述的方式先试试 稍微试了一下,后来发现文章中要下载Git,然后例子是打包的.py文件,和我生成的exe有点区别 果断放弃,有点费时。...引用地址,还有需要的桌面快捷方式 build之后,生成了msi安装包和一个.cab文件  双击.cab文件之后发现,原来之前的exe藏在这里面了 双击msi一键安装之后,发现3件套全了,桌面快捷方式

    1.4K30

    用Wix制作VSPackage的安装包

    其实有很多种打包的方式,在这里我只介绍在VS2008下用Wix制作VSPackage的安装程序。您首先要下载并安装Wix toolset(http://wix.codeplex.com/)。...创建Wix项目 新建一个项目,项目类型选择Wix-》Wix Project,如下图: ? 完成后的解决方案视图如下: ?...生成用于注册VSPackage的wxs文件 VSPackage要想使用,必须往注册表里添加一些信息,我们用regpkg这个命令来帮助我们把这些信息生成到一个wxs文件里。...这个命令运行成功后,会在相同目录下生成一个VSPackage1.wxs的文件,我们需要把这个文件添加到VSPackageInstaller项目下面。...再重新编译VSPackageInstaller项目,会在bin\debug\zh-cn目录下找到新编译出来的msi。

    3.2K20

    YUI Compressor插件压缩后war中的jscss文件未压缩的解决方法(被maven打包顶替了)

    ,但在输出文件夹或者war包中js和css文件都还是未压缩的原始文件。...这样执行 mvn install 命令之后发现虽然执行了压缩任务,但是在目标目录下和war包中的js和css文件都是未经过压缩的文件。...经过分析应该是执行顺序的问题,即yuicompress是在process-resources阶段首先执行的,然后是war命令拷贝原始的资源文件到目标目录,这个时候就将前面压缩过的文件覆盖了。...,但是war包里面的还是未压缩的。...将phase修改为install是将压缩的执行顺序放到最后阶段,也就是说复制资源文件在前,压缩在后,但在war包生成之后,因此war包中的js和css文件是未经过压缩的。 项目.

    1.3K20
    领券