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

使用Wix 3.8,使用捆绑包如何在卸载程序打包到可执行文件安装程序中时卸载ExePackage?

在使用Wix 3.8创建安装程序时,如果想要在打包到可执行文件安装程序中时卸载ExePackage,可以按照以下步骤操作:

  1. 首先,确保你已经安装了Wix 3.8,并且了解基本的Wix安装程序创建流程。
  2. 在Wix项目的源文件中,找到你的主安装程序的.wxs文件。
  3. 在.wxs文件中,找到<Product>标签,并在其中添加一个<Property>元素,用于指定ExePackage的安装路径。例如:
代码语言:xml
复制
<Property Id="UNINSTALL_EXEPACKAGE" Value="C:\Path\to\ExePackage.exe" />

请将C:\Path\to\ExePackage.exe替换为实际的ExePackage安装路径。

  1. 在.wxs文件中,找到<InstallExecuteSequence>标签,并在其中添加一个<Custom>元素,用于执行卸载ExePackage的操作。例如:
代码语言:xml
复制
<InstallExecuteSequence>
  <Custom Action="UninstallExePackage" After="InstallInitialize" />
</InstallExecuteSequence>
  1. 在.wxs文件中,找到<Fragment>标签,并在其中添加一个<CustomAction>元素,用于定义卸载ExePackage的操作。例如:
代码语言:xml
复制
<Fragment>
  <CustomAction Id="UninstallExePackage" ExeCommand="/uninstall /quiet" Execute="deferred" Return="ignore" />
</Fragment>

请根据ExePackage的卸载命令进行适当的修改。

  1. 最后,在.wxs文件中,找到<UI>标签,并在其中添加一个<Publish>元素,用于在卸载程序界面中添加卸载ExePackage的选项。例如:
代码语言:xml
复制
<UI>
  <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="DoAction" Value="UninstallExePackage">1</Publish>
</UI>
  1. 保存并编译你的Wix项目,生成安装程序。

通过以上步骤,你就可以在使用Wix 3.8创建的安装程序中实现在卸载程序打包到可执行文件安装程序中时卸载ExePackage的功能。请注意,以上步骤仅适用于Wix 3.8版本,其他版本可能会有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Wix 安装部署(五) Bootstrapper 捆绑安装

原文: Wix 安装部署(五) Bootstrapper 捆绑安装 Wix的xml配置确实很费劲,忍不住有点像吐槽一下,前四篇完成的功能在Windows Installer通过配置能很快的弄出来...但今天要讲的,就是wix的Bootstrapper 项目,制作一个捆绑安装程序,也是Windows Installer没有的。将多个需要安装的文件,按照顺序一次性装完。...一、Bootstrapper 初识 起因:wix的Setup 项目是无法自动安装.net framework的,必须要通过bootstrapper 应用程序去驱动wix的Burn引擎来安装...这里的MsiPackage就是我们自己的打包工程,会在.net版本确定之后安装,且地址对就行了,没有必要复制根目录下,生成的时候他会自动一个exe安装文件。...上面就是一个简单的捆绑安装程序了,我们还可以进一步配置。 可以现在Fragment元素把文件先设置好,在加入链表。 <?xml version="1.0" encoding="UTF-8"?

1.1K20

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

本文是 WiX Toolset 安装制作入门教程 系列的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 msi 安装。...本文操作基于系列教程的一个最简项目,见 准备一个用于学习 WiX 安装制作的 Visual Studio 解决方案。...如果你没准备这样的项目,拿一个现成的项目也行,毕竟打包对目标程序的形式没有任何要求,只要是一个能跑起来的程序即可。...本例的目标程序只有一个文件,因此我们只放了一行,如果你要打包多个文件,可返回本教程目录页查阅其他文章。 编辑基本的安装信息 此时,我们距离完成 msi 打包只剩最后一步了,就是填写基本的安装信息。...,当然也是控制面板“卸载程序的名字。

93460

Python程序打包成exe文件

使用pyinstaller将python程序打包成exe可执行文件,如果不将程序项目的依赖环境进行隔离,那么pyinstaller会自动将许多不必要的依赖一起打包,会导致原本只要十几M大小的exe...文件变成几十M甚至上百M,因此为了有效减少exe可执行文件的大小,必须使用虚拟环境进行隔离各程序项目环境。.../卸载依赖虚拟环境 在使用前要先更换pipenv的国内源,可选国内源如下: 阿里云:http://mirrors.aliyun.com/pypi/simple/ 豆瓣:http://pypi.douban.com...由于pipenv的pipfile文件默认是用官方源,导致下载速度过慢,如果不换成国内源,安装卸载依赖时会卡住,出现如下报错: Locking [dev-packages] dependencies…...程序依赖 pipenv install 依赖名 将python程序打包成exe可执行文件 pyinstaller -F 程序名.py 执行成功后会在当前目录下生成dist目录,打包好的exe文件就在其中

1.5K40

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

本文是 WiX Toolset 安装制作入门教程 系列的一篇,可前往阅读完整教程。 本文将带大家制作一个简单的 exe 安装。...引用 MSI 项目 我们现在的这个项目生成的是捆绑(Bundle),是为了将多个安装集合到一起进行安装的。...我们需要在这个捆绑里面安装我们上一篇教程创建的 MSI 安装,所以我们需要引用这个创建 MSI 的项目。...Compressed="yes" 表示此 MSI 会被嵌入最终生成的 exe 文件(反之则会松散地放到外部文件)。...▲ 卸载 另外,觉得不错可以提交一下代码,方便后续章节的学习。 附源代码 附上必要的源码,避免你在阅读教程因模板文件的版本差异造成一些意料之外的问题。

70520

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

我们将做这些事情: 创建一个 WPF 项目,用来做安装的 UI 处理一下这个 WPF 项目,使其对接 WiX捆绑 修改用来生成 exe 格式安装捆绑项目,使其接入 WPF UI 项目 创建...然而使用 WiX 的 NuGet 有额外的好处,可以使得团队成员无需每人单独安装 Wix 工具集即可完整编译安装。不过这涉及一些 NuGet 相关的高级操作,我在其他博客里有说到。...在最终生成的捆绑,这个配置文件必须严格使用此名称。...如果发现无法运行,请前往此篇文章调试和解决问题: 使用 WiX 创建最简单的安装过程可能出现的问题和解决方案汇总 如果可以正常运行,那么恭喜你,完成了 WiX 安装入门教程的 Hello World...请回到目录: WiX Toolset 安装制作入门教程 运行效果: 关闭这个界面后,安装程序也将退出。 附源代码 附上必要的源码,避免你在阅读教程因模板文件的版本差异造成一些意料之外的问题。

72420

Pyinstaller打包exe完整教程

打包Python应用程序为独立的可执行文件 安装PyInstaller pypi 镜像使用帮助https://mirrors.tuna.tsinghua.edu.cn/help/pypi/ pip install...参数解释: -D 创建一个包含可执行文件的单文件夹捆绑(不推荐-F单文件形式,原因:单文件每次启动前需要解压操作,会拖慢启动速度) -w 不显示控制台窗口,GUI可视化程序需要此项 -i 指定可执行文件的图标...https://jrsoftware.org/files/istrans/ 下载语言之后,将语言文件放入Inno Setup安装目录里的Languages目录 使用向导生成打包脚本 使用向导生成打包安装程序的脚本...安装pyinstaller和其他第三方依赖 执行pyinstaller进行打包 使用Inno Setup制作安装 具体实现脚本 build.bat pip install -i https://pypi.tuna.tsinghua.edu.cn...侵犯您的权益,请及时通知我,我会及时处理。

1.1K40

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

使用 WiX 的 Burn 引擎制作自定义托管引导程序的 exe 安装,你可能会遇到这种情况:明明目标电脑上已经装好了 .NET Framework,但无论如何就是会提示安装,始终不启动自定义的安装界面...现象 即使是在开发机上(.NET Framework 已经装好),双击制作的 exe 安装也依然会提示安装 .NET Framework: 图片 如果强行安装,装完也依然不会启动自定义的引导程序。...然而这是捆绑的判断,与 Product.wxs 无关;我们默认用的是 WixNetFxExtension.dll 的判断,这很靠谱,也不会出问题,所以也与 InstallCondition 和DetectCondition...Toolset使用技巧——使用Burn引擎安装.NET Framework 官方文档示例的注释要大家改 host/@assemblyName,但实际上按官方文档的改法改好了就会出现本文所述的错误。...参考资料 installation - Wix ExePackage always installs regardless of DetectCondition, InstallCondition, on

35120

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

WiX 全称为 Windows Installer XML,是使用 XML 文件创建 Windows 安装程序的一组工具集。它开源且完全免费。...解决方案 使用 WiX 创建一个简单的 msi 安装WiX 制作的 msi 安装添加 .NET Framework 环境检查 使用 WiX 创建一个简单的 exe 安装WiX 制作的...Studio 插件 准备一个用于学习 WiX 安装制作的 Visual Studio 解决方案 使用 WiX 创建一个简单的 msi 安装 使用 WiX 创建一个简单的 exe 安装WiX...制作的 exe 安装添加 .NET Framework 前置的安装步骤 使用 WPF 制作安装界面(入门篇) 你可能在 Hello World 系列遇到的问题和解决办法汇总 方法与汇总 使用 WiX...创建最简单的安装过程可能出现的问题和解决方案汇总 如何查看用 WiX 制作的安装的日志 如何调试用 WiX 制作的安装 具体问题 用 WiX 制作安装:设置的 .NET Framework

1.2K60

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

本文是 WiX Toolset 安装制作入门教程 系列的一篇,可前往阅读完整教程。 前面我们制作完成了一个简单的 msi 安装。...小提示 MSI 只能判断 .NET Framework 是否存在,无法在不存在执行 .NET Framework 的安装操作。...如果需要安装 .NET Framework,你需要继续阅读本教程系列的 exe 打包部分。...[CDATA[ 和 ]]> 包裹起来了,避免判断条件中出现了一些会破坏 XML 语法的字符( 等)出现导致意外的问题(但实际上在本例,我们只用了字母和下划线,所以你也可以直接写 WIX_IS_NETFRAMEWORK...不过,考虑卸载程序时无需检查 .NET Framework(反正也不会再运行了),所以我们可以在判断条件里加上 OR: 1 2 3 4 <Condition Message="This application

50630

Wix制作VSPackage的安装

做完VSPackage后,如何打包发布它?其实有很多种打包的方式,在这里我只介绍在VS2008下用Wix制作VSPackage的安装程序。...为了演示安装后的效果,别忘了在向导给它添加一个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 前置的安装步骤

做两件事情: 将 .NET Framework 的安装加入捆绑安装过程; 将 .NET Framework 的安装文件嵌入捆绑或随放到单独的文件(可选)。...将 .NET Framework 的安装加入捆绑安装过程 WixNetFxExtension.dll 已经自带好了各种版本的 .NET Framework 安装方法,其中每个版本都含在线安装和离线安装两种方法...将 .NET Framework 的安装文件嵌入捆绑 如果你在前一个步骤中选择的是通过 Web 的方式来安装 .NET Framework,那么此步骤就不需要了。...而如果你打算将 .NET Framework 的安装嵌入捆绑或者随放到单独的文件,那么请继续操作。...对于 Bundle 捆绑来说,这个目录指代了两种意思: 跟捆绑的 exe 同一目录下的“redist”文件夹捆绑打包内的虚拟目录“redist”

54510

知名软件火萤视频桌面恶意篡改首页 火绒已拦截

查杀图 根据火绒工程师分析,当用户安装该软件后,启动屏保功能出现屏保遮罩,恶意程序便会在屏幕后公然执行劫持首页的行为,并让用户无法发现;而当用户卸载该软件,其卸载程序会立即向远控服务器发送请求询问,...PConline下载器界面 安装文件数字签名信息 一直以来,不乏类似火萤视频桌面的商业软件,通过捆绑、流氓推广、篡改首页、劫持浏览器甚至收集用户隐私等恶意行为,来攫取更多利益,严重侵害用户的正当权益...除此之外,火绒工程师也提醒大家,在安装软件前,可使用安全软件进行查杀。同时,尽量不要在下载站下载软件,避免遭遇捆绑、推广行为。...以下为恶意模块、组件的详细分析与样本hash: 一、详细分析 1、卸载保留恶意程序winhost.exe 当用户执行火萤视频桌面卸载程序时,卸载程序会向配置服务器发送请求,根据回文判断是否将winhost.exe...发送按键函数,进入主页设置页面,检测设置页面,设置主页代码如下图所示: 发送按键函数 进入主页设置页面 检测设置页面 设置主页 2、火萤屏保功能组件的恶意代码 火萤视频桌面主程序,设置屏保功能使用了文件

1.1K10

实用入门分享:如何基于 OpenCloudOS 制作 RPM 软件

本次实验主要介绍如何在 OpenCloudOS 系统上编译生成并安装 RPM 软件。...该工具通常需要在 RPM 打包环境中使用,可以通过安装 rpm-build 软件来获取。使用 rpm-build 可以有效地管理和维护 RPM ,提高开发人员的工作效率和技能水平。...因此,我们首先需要创建被打包 RPM 可执行文件,这个可执行文件在 RPM 安装就会被拷贝操作系统,进而可被用户调用。...它包含了 RPM 软件的基本信息、依赖关系、安装卸载、文件列表等信息。在使用 rpm-build 构建 RPM , 需要编写 spec 文件,以告诉  rpm-build 如何构建RPM。....安装卸载、文件列表:指定了RPM安装卸载和文件列表等信息。脚本:包含了在安装卸载、升级RPM需要执行的脚本。

20440

何在Debian 9上安装Node.js.

如果你想了解如何在其他关于Node.js文章,你可以参考如何在Ubuntu16.04上安装Node.js 为Debian安装Distro-Stable版本 Debian在其默认存储库包含一个Node.js...要检查在这些初始步骤之后安装了哪个版本的Node.js,请键入: nodejs -v 由于与另一个冲突,所以Debian存储库可执行文件名叫nodejs而不是node。...npm使用主目录的配置文件来跟踪更新。它将在您第一次运行npm创建。...您可以通过键入以下命令来告诉nvm去使用您刚下载的版本: nvm use 8.11.1 当使用nvm安装Node.js可执行文件被命名为node。...express 这将安装: ~/.nvm/versions/node/node_version/lib/node_modules/express 全局安装模块将允许您从命令行运行命令,但是您必须将程序链接到本地范围以从程序请求它

6.1K50

三种方法在CVM安装Node.js

为Ubuntu安装Distro-Stable版本 Ubuntu 18.04在其默认存储库包含一个Node.js版本,可用于跨多个系统提供一致的体验。在撰写本文,存储库的版本为8.10.0。...由于与另一个冲突,因此调用的是Ubuntu存储库可执行文件nodejs而不是node。在运行软件请记住这一点。...这将安装: ~/.nvm/versions/node/node_version/lib/node_modules/express 全局安装模块将允许您从命令行运行命令,但是您必须将程序链接到本地范围以从程序请求它...如果您打算稍后再次安装软件,这些可能对您有用。如果您不想保存配置文件,请输入以下命令: sudo apt purge nodejs 这将卸载程序并删除与其关联的配置文件。...最后一步,您可以删除任何未使用的软件,这些软件是与已删除的软件一起自动安装的: sudo apt autoremove 要使用nvm卸载已启用的Node.js版本,请首先确定要删除的版本是否为当前活动的版本

3.3K50

WiX安装选项--环境变量

通常我们的程序也会使用环境变量,如何在WiX设置环境变量呢?...安装一个环境变量,我们就需要向Environment table添加一条记录,其中有几个字段是必须设置的: Environment - public key to be referenced from...在安装/删除程序的时候需要处理我们的环境变量: 安装程序:  如果相同名称的环境变量名称不存在,则创建一个变量: 如果已经存在一个相同名称的变量: 用新的值代替旧值....卸载程序: 不删除环境变量. 删除环境变量. 下面我们来看一个例子: <?xml version="1.0" encoding="UTF-8"?...编译并安装例子程序,在系统环境变量就可以看到TestMinVar这个环境变量了,卸载这个例子程序,环境变量TestMinVar也会被删除。

1.3K100

AssetBundle 详解

例如,如果音频压缩在 Windows 和 Mac 平台上完全相同,则可以将所有音频数据打包 AssetBundle 并重复使用这些捆绑;而着色器往往使用更多特定于平台的选项进行编译,因此为 Mac...如果捆绑采用的是 LZMA 压缩方式,将在加载解压缩 AssetBundle。LZ4 压缩则会以压缩状态加载。...维护单个对象的引用计数,仅当未使用所有组成对象卸载 AssetBundle。这允许应用程序卸载和重新加载单个对象,而无需复制内存。...如果应用程序必须使用 AssetBundle.Unload(false),则只能以两种方式卸载单个对象: 在场景和代码消除对不需要的对象的所有引用。 以非附加方式加载场景。...常见问题 依赖重复问题 把需要共享的资源打包一起 分割包,这些不是在同一使用的 把共享部分打包成一个单独的 图集重复问题 若不指定 Sprite 的 Packing Tag ,这些 Sprite

2K50

如何部署 Node.js 开发环境

由于与另一个冲突,因此调用的是Ubuntu存储库可执行文件nodejs而不是node。在运行软件请记住这一点。...这将安装: ~/.nvm/versions/node/node_version/lib/node_modules/express 全局安装模块将允许您从命令行运行命令,但是您必须将程序链接到本地范围以从程序请求它...如果您打算稍后再次安装软件,这些可能对您有用。如果您不想保存配置文件,请输入以下命令: sudo apt purge nodejs 这将卸载程序并删除与其关联的配置文件。...最后一步,您可以删除任何未使用的软件,这些软件是与已删除的软件一起自动安装的: sudo apt autoremove 要使用nvm卸载已启用的Node.js版本,请首先确定要删除的版本是否为当前活动的版本...虽然在Ubuntu的存储库中使用打包版本是最简单的方法,但使用nvm灵活性更高。

3.5K67

Linux之软件安装

大家都知道,Windows下安装软件,只需用鼠标双击软件的安装程序,或者用Zip等解压缩软件解压缩即可安装;在android或者apple安装软件,只需要在手机应用商店点击安装即可。...源码安装 3.2 二进制安装 Linux下二进制格式的软件是指事先已经在各种平台编译安装好相关软件,然后压缩打包,在安装只需解压或者执行安装可执行文件即可。...二进制软件提供了很多类型的打包方式,最常见的就是我们RPM格式的,还有以“.tar.gz、.tgz、 .bz2”等形式的二进制软件,最后还有一个就是提供安装程序进行安装的二进制软件。...提供安装程序的软件 这种软件都提供了安装脚本或者安装向导程序,只需在下载此类软件后解压,然后进入安装目录,找到类似的setup、install、install.sh之类的可执行文件运行即可,然后根据提示...-i:安装的含义 -v:安装过程的显示详情 -h:以进度条的形式显示安装进度 e:卸载应用程序(erase) 注意:如果其它软件有依赖关系,卸载时会产生提示信息,可使用--

10.3K20

Tomcat 下载安装教程

安装 3. 卸载 4 启动 5. 关闭 6. 配置 7. 部署 8....一般JavaWeb项目会被打包称war,然后将war放到Webapps目录下,Tomcat会自动解压缩war文件 8....IDEA使用Tomcat 我们在开发的过程,项目中的内容会经常发生变化,如果按照上面这种方式来部署测试,是非常不方便的 如何在IDEA能快速使用Tomcat呢?...在IDEA中集成使用Tomcat有两种方式,分别是集成本地Tomcat和Tomcat Maven插件 8.1 集成本地Tomcat 目标: 将刚才本地安装好的Tomcat集成IDEA,完成项目部署,...Tomcat进行项目部署,相对来说步骤比较繁琐,所以我们需要一种更简便的方式来替换它,那就是直接使用Maven的Tomcat插件来部署项目,具体的实现步骤,只需要两步,分别是: 发布者:全栈程序员栈长

1.1K30
领券