首页
学习
活动
专区
工具
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.3K20

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

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

2K60
  • 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 文件中(反之则会松散地放到外部文件中)。...▲ 卸载包 另外,觉得不错可以提交一下代码,方便后续章节的学习。 附源代码 附上必要的源码,避免你在阅读教程时因模板文件的版本差异造成一些意料之外的问题。

    1.5K20

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

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

    1.1K20

    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.3K40

    用 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

    48920

    用 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

    1.2K30

    用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.5K20

    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

    3.3K60

    用 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”中。

    85510

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

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

    37340

    如何在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.2K50

    AssetBundle 详解

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

    2.3K50

    三种方法在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.4K50

    【Python系列】使用 Poetry 进行 Python 项目管理

    这篇文章详细解释了文件包含漏洞的原理,以及如何在实际的Web应用程序中发现和验证这类漏洞。...在大多数 Unix-like 系统(如 Linux 和 macOS)和 Windows 上,安装命令如下: pip install poetry 安装完成后,可以通过以下命令来卸载 Poetry: pip...可以通过以下命令来查看 Poetry 的版本: poetry --version 此外,如果你需要查看系统中安装的 Python 包的详细信息,包括 Poetry,可以使用 pip 的show命令: pip...在 Unix-like 系统中,可以使用which命令来查找 Poetry 的路径: which poetry 这个命令会返回 Poetry 可执行文件的完整路径,这对于调试和配置环境变量非常有用。...包发布:Poetry 简化了包的发布流程,使得将项目发布到 PyPI 变得简单。 依赖更新:Poetry 提供了依赖更新的功能,帮助开发者保持依赖的最新状态。

    15010

    如何部署 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.6K67

    Linux之软件安装

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

    10.3K21
    领券