创建 WiX MSI 项目 在解决方案上右键,“添加”->“新建项目…”,然后在“添加新项目”窗口中搜索“WiX”,找到“Setup Project for WiX v3”。...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程中,我取的名字为 Walterlv.Installer.Msi...编辑 Product.wxs 文件 添加要打包的文件 在 Product.wxs 文件中,找到提示你放文件、注册表项和其他资源的注释“”: 把周围的“Component”解除注释(因为我们真的要加打包的文件了); 删除“TODO”注释(本教程会继续教你如何完成打包,不需要 TODO 提示了); 在“Component”块中添加一行...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
Visual Studio的设计时引用组件的窗口中看到的程序集的位置和程序集的运行时位置是不一样的,特别是在全局程序集缓存(GAC)中的程序集,通过WiX制作Winodws安装程序的时候需要处理这个区别...WiX要把一个程序注册到GAC,只需要在File 上增加一个选项 Assembly=".net" 就可以了,但是注册到GAC的dll不会放到安装目录下方了,这就需要通过提供两个Component方式来处理...> <Product Id="a960cf35-0779-43e8-923b-35638f2bfc42...Sample" Comments="This <em>installer</em> database contains the logic and data required to install Minimal Windows...,同时<em>在</em>DTGATest增加了一个<em>注册</em><em>表项</em>目。
停止数据库服务在开始卸载之前,确保数据库服务已经停止。...Installer 工具卸载。...选中要删除的Oracle产品,然后点击删除。点击全部展开,选中Oracle Database 19c。...删除注册表项在Windows系统上,你可能需要手动删除一些注册表项。请小心操作注册表,确保你知道你在做什么。打开注册表编辑器(运行 regedit)。...删除 KEY_OraDB19Home1 或类似的项。重新启动系统在完成上述步骤后,重新启动系统以确保所有更改都生效。
对系统环境的更改将写入注册表,而且通常需要重启计算机才能生效。通常我们的程序中也会使用环境变量,如何在WiX设置环境变量呢?...在安装/删除程序的时候需要处理我们的环境变量: 安装程序: 如果相同名称的环境变量名称不存在,则创建一个变量: 如果已经存在一个相同名称的变量: 用新的值代替旧值....不修改旧值或者忽略新值 在环境变量的值列表开头插入一个新的值. 在环境变量的值列表末尾插入一个新的值. 删除一个环境变量: 不管它的值 只有当它的值和提供的值匹配时....卸载程序: 不删除环境变量. 删除环境变量. 下面我们来看一个例子: <?xml version="1.0" encoding="UTF-8"?...编译并安装例子程序,在系统环境变量就可以看到TestMinVar这个环境变量了,卸载这个例子程序,环境变量TestMinVar也会被删除。
运行visio professional 2013 65.exe安装visio2013出现上述问题解决方法: 问题出现背景: 不小心删除本地运行文件,然后重新安装时出现问题 安装失败原因: 重新安装需要卸载之前版本...方法二,通过注册表卸载之前版本(方法一卸载失败时使用方法二) 1.打开的注册表编辑器窗口中,定位到HKEY_CLASSES_ROOT\Installer\Products注册表项。...在展开的注册表项中,我们找到以00002开头的注册表项,右键点击该项,在弹出菜单中选择“删除”菜单项。 这时会弹出一个确认项删除的窗口,点击“是”按钮即可。...另外我们再删除所有以000051开头的注册表项。 2.定位到HKEY_CURRENT_USER\Software\Microsoft\Office注册表项,然后删除。...然后找到想要卸载的应用程序名Office15.VISPROR的项,双击打开右侧的UninstallString选择复制数值数据中的路径,按下win+R打开运行窗口,将路径粘贴进入,回车确定进行卸载,若没有反应则直接删除该程序注册表项
原文: Wix 安装部署(五) Bootstrapper 捆绑安装 Wix的xml配置确实很费劲,忍不住有点像吐槽一下,前四篇完成的功能在Windows Installer中通过配置能很快的弄出来...wix又是一个极端,完全依赖xml。这两天想解决自动检测.net framework版本没有就自动安装的功能和注册dll的就很费劲。...在Windows Installer中分别在Redistributables和Registry中设置就行了,特别是注册,可以直接把目录从你自己的电脑上拖过来。...但今天要讲的,就是wix中的Bootstrapper 项目,制作一个捆绑安装程序,也是Windows Installer中没有的。将多个需要安装的文件,按照顺序一次性装完。...> 这里的表示的就是在执行Path之后在执行第二个注册表搜索,且结果你存储在Variable中的,而这个Variable就可以作为,是否安装的一个条件。
在“对象类型”下,双击“强制”。 5. 单击“除本地管理员以外的所有用户”,然后单击“确定”。 6. 重新启动计算机。 第二步: 1....在注册表编辑器中,找到并单击下面的注册表项: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers 注意...:在修改此注册表项之前,建议先备份此注册表项。...在命令提示符下,键入以下命令并按 Enter: net stop msiserver 如果 Windows Installer 服务当前正在后台运行,则此命令将停止该服务。...然后,将 PolicyScope 注册表值更改回 0。 9. 如果从域中断开了计算机,请重新加入域,然后重新启动计算机。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
该驱动签名正是此次Rootkit病毒的签名,相关签名信息,如下图所示: 此次Rootkit病毒的驱动签名 Rootkti病毒启动后,会先进行初始化操作如:初始化WFP网络过滤框架,如果之前有获取过C&C配置会重新从注册表中读取出来...相关代码,如下所示: 字符串加密 该Rootkit病毒还会删除某杀毒软件的驱动启动项,来阻止杀毒软件驱动的加载,相关代码,如下图所示: 删除杀毒软件驱动启动项 该病毒会通过注册表回调来拦截指定签名的驱动程序...在注册表回调中会拦截RegNtSetValueKey(设置注册表值)的操作,如果发现正在添加驱动注册表项,会检测对应文件的签名,如果是指定的签名就会进行拦截,相关代码,如下图所示: 注册表回调 不仅在注册表回调中会对指定驱动进行拦截...,在模块加载回调中也会进行检查并拦截指定驱动程序,相关代码,如下图所示: 模块加载回调 该病毒会添加关机回调,在关机回调函数中会执行一些恶意行为如:重新添加驱动注册表项、删除所有要拦截驱动的注册表项等,...相关代码,如下图所示: 关机回调 为了防止关机回调和自身注册表项被删除,还会创建一个单独的线程循环进行检查,如果被删除了就会重新添加一个,相关代码,如下图所示: 看门狗线程 该病毒还会根据配置信息修改系统
在 WiX 安装包制作时,Product.wxs 文件中的 Product 标签中存在一些属性,这些属性应该如何设置才是比较合适的呢?...特别把这几种升级类型的英文名称拿出来说,是因为我们在 Product.wxs 中配置升级策略时会使用到这些名称。了解这些升级方式有助于我们写出符合预期的升级策略。...在没有配置升级策略的情况下,如果有两个不同的 MSI 包设置了相同的 Id 和 Version,那么当安装了其中一个之后,另一个将无法安装。...ProductCode 属性 - Win32 apps - Microsoft Docs 本文会经常更新,请阅读原文: https://blog.walterlv.com/post/windows-installer-using-wix-best-practice-product-id-and-upgrade-code.html...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
创建 WiX EXE 项目 在解决方案上右键,“添加”->“新建项目…”,然后在“添加新项目”窗口中搜索“WiX”,找到“Bootstrapper Project for WiX v3”。...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“EXE”文件 创建完后,记得去项目属性里改一下输出的文件名。...)"/> 注意: 这里的 Walterlv.Installer.Msi 是前一篇教程中引用的项目的名称,你可以改成你自己的生成 MSI 的项目的名称。...前往 EXE 文件的输出目录(在项目目录的 bin\Debug 下): ▲ 前往 EXE 文件的输出目录 双击安装,可以出现默认的安装界面: ▲ 默认的安装界面 安装完后,可以在系统设置“应用和功能...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
系统服务的错误权限配置漏洞 Windows系统服务文件在操作系统启动时会加载执行,并且在后台调用可执行文件。...不安全的注册表权限配置 在Windows中,和Windows服务有关的信息存储在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 注册表项中。...id=23510)工具去检查注册表项的权限。建议本地安装后找到 subinacl.exe 拷贝到目标机器上运行。...成功提权后清理很及时需要删除添加的用户,但是每分钟又会重新执行脚本添加用户。...在大多数情况下,当Windows配置为自动登录时,未加密的凭据存储在注册表项中:HKEY_LOCAL_MACHINE SOFTWARE\Microsoft\Windows NT\CurrentVersion
4.5;而在下一代的Windows 7/Window Server 2008 R2中,将会集成Windows Installer 5.0。...相对与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。...下面是一些Windows Installer 5.0的相关资料: MSDN主题What's new in Windows Installer 5.0 Windows SDK for Windows 7...beta download location (包含了beta版本的Windows Installer 5.0 SDK)
在 WiX 的配置文件 wxs 里,引用一个属性的方法是使用 元素。...Please install the .NET Framework then run this installer again."> ++ -- <!...可供判断的 .NET Framework 版本 WiX 已开源,其中 wix3 的代码在这里: wixtoolset/wix3: WiX Toolset v3.x 在 /src/ext/NetFxExtension...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如果你使用 WiX 制作安装包,并且遇到了问题,一定需要一个趁手的调试方案。本文介绍如何查看 WiX 制作的安装包的日志。...WiX 使用 Burn 引擎来制作 exe 捆绑包,默认情况下 Burn 引擎使用自带的安装界面来执行安装。...\Walterlv.Demo.MainApp.exe -l "debug.log" 其中,Walterlv.Demo.MainApp.exe 是我在 WiX 入门教程系列中使用的安装包名。...59]i007: Exit code: 0x0, restarting: No 本文会经常更新,请阅读原文: https://blog.walterlv.com/post/how-to-view-wix-burn-installer-logs.html...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
” 对生成的快捷键重命名 添加注册表 在“解决方案资源管理器”容器中选中安装项目,单击鼠标右键,在弹出的快捷键菜单中选择“视图”/“注册表”命令 在Windows安装项目的左侧选择“注册表”选项卡,依次展开...HKEY_CURRENT_USER/Software节点,然后对注册表项“[Manufacturer]”进行重命名 ?...选中注册表,单击鼠标右键,在弹出的快捷键菜单中选择“新建”/“字符串值”命令 选中添加的注册表项值,单击鼠标右键,在弹出的快捷键菜单中选择“属性窗口”命令,弹出“属性”窗口。...这里可以对注册表的名称和注册表项的值进行修改 如此便为Windows安装程序添加了一个注册表 4、开始菜单与卸载 在“用户的‘程序’菜单”中添加一个文件夹“某某文件”,然后同样的方式创建一个快捷方式...解决方案->添加->新建项目->类库,命名为ClassLibrary,在项目ClassLibrary下面,删除Class1.cs,添加->新建项目->安装程序类(名称为InstallerDemo.cs)
,可以重新安排。.../v ValueName 指定要添加到指定子项下的注册表项名称。 /ve 指定添加到注册表中的注册表项为空值。 /t Type 指定注册表项的类型。.../d Data 指定新注册表项的数据。 /f 添加注册表项而不要求确认。 /? 在命令提示符处显示 Reg Add 的帮助。 注释: ?...值 描述 0 成功 1 失败 示例: 要删除注册表项 Timeout 以及其所有子项和值,请键入: Reg DELETE HKLM\Software...在命令提示符处显示 Reg Restore 的帮助。 注释: ? 编辑任何注册表项之前,请使用 Reg Save 操作保存父子项。
Windows Installer 出现 对话框提示您 确认。 单击 是 卸载 JDK。 查找 JDK 注册表项和 UninstallString 价值 转到 开始 并键入 注册 。...输入版本字符串作为值以查找相应的注册表 钥匙。 例如,输入 jdk-15 。 注册表项突出显示在 窗格的右侧和各种值 卸载字符串显示在左侧 窗格。...清理注册表后 JDK卸载失败 有时,尝试通过 Windows 卸载 JDK 添加/删除 程序在 未完全删除的注册表。 这些遗留的注册表项可能会导致 安装新版本 Java 的问题。...使用 File->Export的功能 注册表编辑器在删除之前保存注册表项。 如果你删除了 错误的注册表项,您可以从保存的备份文件中恢复注册表,通过 使用 File->Import功能。...要删除注册表项: 确定正确的注册表项。 请参阅 查找 JDK 注册表项和 UninstallString 价值 。 突出显示该键, 右键单击 并选择 删除 。 单击 是 出现提示时 。
对初学 WiX 的开发者来说比较友好。...关于插件 Wix Toolset Visual Studio Extension 为 Visual Studio 带来了这些功能: 通过模板创建 WiX 项目 支持 .wixproj 这个 WiX 专属的项目格式...方法是: 启动 Visual Studio 2019,选“继续但无需代码”; 选菜单“扩展”->“管理扩展”; 在“联机”页中搜索“WiX”,找到“Wix Toolset Visual Studio 2019...Extension”,然后点“下载”; 接下来,关闭所有已经打开的 Visual Studio,等待自动弹出的插件安装界面; 在 VSIX Installer 界面中,点击“Modify”以应用插件的安装...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
WiX是Windows Installer XML的简称,它是用于制作Windows安装包的工具集。它支持命令行环境,开发者可以及将它集成到他们的编译过程中创建MSI和MSM安装包。...更多信息可以参考:http://wix.sourceforge.net/ 最近研究了一下如何使用WiX制作具有时间限制的安装包,下图是demo的效果图。 ?...使用VBScript比较当前日期和限定日期,小于0表示越界,这时调用WScript想注册表添加坏键。...在本文的demo中,我在PrepareDlg之前执行脚本,对于大多数情况而言,这已经是最早的时机了。当然,你也可以选择在AppSearch之前执行。...在FatalError对话框中发布Finish事件,同时将值设置给第五步提到的清除操作。
0x00 前言 在渗透测试中,某些情况下需要用到system权限,例如操作注册表HKEY_LOCAL_MACHINE\SAM\SAM 恰巧最近看到了一篇文章介绍了几种获得system权限的方法,于是决定结合自己的经验对这方面的技巧做系统整理...命令实现 sc Create TestService1 binPath= "cmd /c start" type= own type= interact sc start TestService1 该方法在XP...TestService2 /SC DAILY /ST 00:36 /TR notepad.exe /RU SYSTEM 查看服务状态: schtasks /Query /TN TestService2 删除服务...vs2012直接编译存在bug,可将函数snprintf替换为_snprintf 0x03 利用MSIExec获得System权限 我曾在之前的文章《渗透测试中的msiexec》介绍过利用Advanced Installer...制作msi文件的方法,这里不再赘述 本节对XPN提到的方法做复现,使用wix3制作msi文件 wix3下载地址: https://github.com/wixtoolset/wix3 msigen.wix
领取专属 10元无门槛券
手把手带您无忧上云