WiX 卸载前关闭应用程序 - 关闭打开的应用程序消息

2023-11-22

我正处于一种痛苦之中。我有一个安装程序安装并启动托盘图标应用程序(通用.exe)

这是正常工作的,但现在我想在这个 UI 告诉用户手动关闭应用程序出现之前停止该应用程序,因为在卸载例程期间,我的托盘图标被删除,但该进程仍在运行。

我应用此自定义操作在卸载之前(甚至卸载期间)关闭应用程序

<CustomAction Id="CloseTrayApp" ExeCommand="-exit" FileKey="TrayApp" Execute="immediate" Return="asyncNoWait" />

<InstallExecuteSequence>
    <Custom Action="CloseTrayApp" Before="InstallValidate" />
</InstallExecuteSequence>

但“关闭所有正在运行的应用程序”对话框仍然弹出,但我认为这会解决我的问题。

我已经尝试使用 CloseAction 但由于编译时出错而急于使用它。它说 WixUtils 命名空间可能丢失,但我仔细检查它是否存在:

xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"

如何避免弹出对话框窗口并触发执行此自定义操作?


您还必须添加对 WixUtilExtension.dll 的引用。如果您使用的是 Visual Studio / Votive,只需右键单击“添加引用”并从 [ProgramFilesFolder]Windows Installer XML v3.5\bin 中选择 DLL。否则,您必须使扩展可供编译器和链接器使用:

candle.exe yourfile.wxs -ext %full path to WixUtilExtension.dll%'
light.exe yourfile.wixobj -ext %full path to WixUtilExtension.dll% –out yourfile.msi yourfile.wixout'

更多信息请访问:

使用标准自定义操作

请注意,CloseApp 自定义操作有一个限制,即它不会“终止”您的应用程序。它只会礼貌地向您的应用程序发送 WM_CLOSE 消息,并且由您的托盘应用程序在关闭时接收和处理该消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WiX 卸载前关闭应用程序 - 关闭打开的应用程序消息 的相关文章

  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 如何在 WIX 中引用用户的主目录

    我正在为 SDK 创建一个安装程序 其中包括由最终用户编译的源代码 我希望我的 Wix 安装程序默认将其放入用户的主目录中 但我找不到要使用的正确属性名称 您还可以参考HOMEPATH环境变量与 HOMEPATH 有关用于属性的语法的更多详
  • 如何使用 Productbuild 构建具有自定义背景的 OS X 安装程序包?

    我有一个项目依赖现已弃用的 PackageMaker 工具来创建 OS X 安装程序 我正在努力更新它以使用pkgbuild http developer apple com library mac documentation Darwin
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • rvm编译安装ruby 2.5.0出错

    我正在尝试使用 rvm 安装 ruby 2 5 0 但出现错误 我在 Ubuntu 18 16 和现在的 Linux Mint Cinnamon 上尝试过 基本上我在运行安装 ruby 的代码之前所做的是 打开 GPG 密钥https rv
  • 为什么vcredist_x86.exe不能安静安装?

    我需要安静地安装 vcredist x86 exe Microsoft Visual C 2010 Redistributable Package 我在 cmd exe 上输入 vcredist x86 exe q 但是 vcredist
  • 如何在安装过程中运行“.bat”文件?

    在安装项目中 诸如 exe dll js vbs 之类的可执行文件是可以接受的 但无法运行 bat自定义操作中的文件 问题是如何运行 bat安装过程中的文件 好吧 经过大量搜索和反复试验 我解决了这个问题 我不确定这是否是最好的方法 但它确
  • Magento 设置脚本中的 ALTER TABLE 不使用 SQL

    乔纳森 戴 https stackoverflow com users 336905 jonathan day says 更新不应采用以下形式 SQL命令 我没遇到过 任何 DDL 或 DML 语句不能 通过 Magento 的配置执行 结
  • 在每台计算机安装中删除 HKCU 下的注册表项

    我使用 WiX 3 6 构建了一个 perMachine 安装程序来安装我尚未开发的软件 不幸的是 该软件在执行期间在 HKCU 下创建了一些注册表项 卸载时 还应删除自行创建的密钥 移除这些钥匙似乎并不那么容易 我正在与 ICE57 和
  • 如何使用 Visual Studio 将文件版本嵌入 MSI 文件中?

    我的 C 程序有一个安装项目 该安装项目的属性中有一个版本 我希望生成的 MSI 文件嵌入此版本 这样我就可以在资源管理器中将鼠标悬停在该文件上并查看该文件的版本 我用的是VS2008 我怎样才能做到这一点 如果您只是将 版本 1 5 0
  • Android 设备上的静默安装

    我已经接受了一段时间了 在 Android 上静默安装应用程序是不可能的 也就是说 让程序安装捆绑为 APK 的应用程序 而不提供标准操作系统安装提示并完成应用程序安装程序活动 但现在我已经拿到了 Appbrain 快速网络安装程序的副本
  • 是否有其他方法可以访问延迟自定义操作中的会话详细信息?

    我有一个自定义操作 需要获取以下值才能将某些部分从安装文件夹复制到 VS2010 文件夹 VS2010目录路径 VS2010DEVENV财产 安装路径 INSTALLLOCATION财产 为了提供足够的权限 我将自定义操作设置为Execut
  • 如何在 conda 中从一个文件安装多个包而不创建新环境?

    我从当前环境缺少的包的 yml 文件中获取了这些 我如何在当前环境中安装这些 channels defaults dependencies appdirs 1 4 3 py36h28b3542 0 asn1crypto 0 24 0 py3
  • Python setuptools:如何在 setup.py 中添加私有存储库 (gitlab)?

    我上传了 2 个包 它们位于我的 gitlab 存储库中 如果我想使用 pip 将它们安装在我的系统中 这很容易 因为 gitlab 可以帮助您 https docs gitlab com ee user packages pypi rep
  • ISEXP:警告:-6248:找不到依赖文件 libc.dll,或其组件的依赖项之一

    这个问题有很多变体 但我的问题是特定的libc dll 我不关心解决依赖性 我想要一种解决方法来避免该警告 我的表格申请中有 30 个项目 当我使用 InstallshieldLE 发布设置时 我得到ISEXP warning 6248 C
  • CUDA NSight 未随 Windows 8 上的 CUDA 5.0 安装文件一起安装? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 据我所知 Nvidia 网站上没有 Nsight Eclipse 的下载链接 它说它将由 CUDA 5 安装本机安装 但并没有随CUDA安装一起安装
  • Wix 4 收获目录的解释?

    我正在尝试学习 Wix 4 0 来为我正在开发的应用程序创建安装程序 构建我的应用程序后 我在一个文件夹中有一堆文件 我想将它们安装到程序文件中 我已经读到收获功能允许我简化此过程并为整个目录创建组件映射 但我不确定这是什么example
  • 为什么 Python 中的“pip install”会引发语法错误?

    我正在尝试使用 pip 安装软件包 我试着跑pip install从Python shell 但我得到了SyntaxError 为什么我会收到此错误 如何使用 pip 安装软件包 gt gt gt pip install selenium
  • 安装后步骤未成功完成 MySQL Mac OS Sierra

    pyEnv Anants MacBook Pro litibackend anantchandra brew postinstall mysql gt Postinstalling mysql gt usr local Cellar mys
  • VS 代码 ssh;服务器安装路径

    我正在尝试更改 VS Code 服务器文件夹安装位置 该功能最近已实现 我找到了以下参考资料 1 https github com microsoft vscode remote release issues 472 2 https sta

随机推荐

  • java.lang.ClassNotFoundException:在更新 sdk 后未在路径上找到类: DexPathList

    大家好 我的应用程序一直工作正常 直到昨天 我昨天更新了我的 SDK 它首先开始出现错误 然后出现错误 在值 v24 处找不到资源 像这样的事情我通过更改 build gradle 中的以下行来搜索并解决它 compileSdkVersio
  • iPhone:如何使用平移手势移动状态栏

    就像 Instagram 探索 选项卡一样 当我滚动内容时 状态栏也会移动 总是打电话全屏滚动 like here 当用户滚动tableView时 NavigationBar TabBar同时滚动显示或隐藏 我的问题是 不仅是Navigat
  • SRV 记录的 Java DNS 查找

    在下面的 java 代码中 我进行 DNS SRV 记录查找 以解析给定域名 例如 root 1000000000 blubluzone com 的目标域名和关联端口 用 表示的查找函数HERE 下面以某种方式返回 null 我无法获得查询
  • 为什么我必须在所有响应中传递 RequestContext?

    我想在导航菜单中突出显示当前页面 显然 当您在菜单链接的页面上时 我需要为菜单链接提供一个类似 活动 的类 这是一个经典问题 我见过很多解决方案proposed 我的问题是我讨厌他们所有人 并且认为他们都不是很干 例如 register s
  • 将图像内容从相机加载到文件

    我正在使用phonegap API使用以下指令拍照 或从库中选择 MyApp directive Camera function return restrict A require ngModel link function scope e
  • 为什么具有委派域访问权限的服务帐户仍然需要模拟?

    我正在考虑使用 OAuth 2 0服务帐户 and 域范围内的授权将我们的服务与 Google Apps 集成 一个特定的用例是 当 Google Apps 客户注册我们的服务时 请利用客户现有的组织结构或资源 组织单位 群组 设备 用户
  • 将对象与左侧的常量相乘

    我有一个Matrix类并且它已经超载了 用于标量和矩阵乘法的运算符 template
  • 等待任何未来的异步

    我正在尝试使用 asyncio 来处理并发网络 I O 大量的功能将被安排在一个点上 而每个功能完成所需的时间差异很大 然后 接收到的数据将在每个输出的单独进程中进行处理 处理数据的顺序不相关 因此考虑到输出的等待时间可能很长 我想awai
  • 根据当前时区将 UTC 日期/时间显示为日期/时间

    我从网络上获取格式为 yyyy mm dd T HH MM SS Z 的日期 时间字符串 并且采用 UTC 格式 现在我必须确定设备的当前时区 然后将该时间转换为我的当地时间 我该怎么做 仅供参考 目前 UTC 时间为上午 10 25 印度
  • 如何从 Postgres 中的动态 SQL 获取结果?

    原始表 其规则存储在名为 md formula 的表中 用于映射到目标表 删除 创建 插入raw dbs transactiondetailscash DROP TABLE raw dbs transactiondetailscash CR
  • 如何从页面加载和鼠标移动跟踪鼠标位置?

    我使用以下 JavaScript 跟踪鼠标移动 var mouseX 0 var mouseY 0 document onmousemove function e mouseX e clientX mouseY e clientY 我的问题
  • AsyncTaskLoader.deliverResult() 实际上做了什么?

    我试图理解一些更细微的观点异步任务加载器 这对其他人来说可能是显而易见的 但我找不到明确的示例或定义来演示和解释当您覆盖时会发生什么deliverResult 方法 实际交付了什么 它如何与调用对象交互 我可以看到使用super deliv
  • 为什么 Javascript 在 iPhone 上运行这么慢?

    我一直在研究为 iPhone 编写应用程序 我真的很喜欢PhoneGap它基本上允许您在应用程序中包含网页 我的技能主要是 HTML Javascript 因此这个工具使我能够充分利用我的技能 而无需花费大量时间学习如何为 iPhone 编
  • 从堆栈项目生成 Nix 包

    我有一个可以构建和安装的软件应用程序stack 我还想提供适用于 Linux 和 Mac 的二进制包 为此我正在考虑nix 因为除其他外 它可以在 Linux 和 Mac 中使用 这将省去我维护两种包类型的麻烦 阅读完有关如何nix包已定义
  • Spring Boot 骆驼测试

    我需要在 Spring Boot 应用程序中测试 Camel 路由 我有 Spring boot 主类 其中声明了所有必需的 bean 我正在使用 CamelSpringJUnit4ClassRunner class 在 ContextCo
  • 为什么我的 jquery cookie 无法跨多个页面使用?

    本周我研究并组合了一些 jquery 这是我第一次使用 jquery 来控制自定义 WordPress sidebar php 文件中的可折叠菜单 菜单是动态生成的 使用 wp query 通过自定义分类法和自定义排序顺序等来选择和排序自定
  • 获取 iOS 控制中心当前播放的曲目

    我希望无论哪个应用程序正在播放该曲目 都能在 iOS 上播放当前曲目 我的意思是 例如 如果我在手机上使用 SoundCloud 或 Spotify 控制中心上的播放器是相同的 所以我认为可以获得当前的曲目名称 但我不知道该怎么做 也许有人
  • 将其传递给基本构造函数

    我正在尝试为我正在编写的程序实现良好的设计模式 我有一个这样的类结构 abstract class SomeBase public SomeObject obj get protected set protected SomeBase So
  • 如何将一个 C# 项目中的类与另一个 C# 项目一起使用

    在同一个解决方案中 我有两个项目 P1 和 P2 如何在 P2 中使用 P1 类 In the Solution Explorer tree expand the P2 project right click Shift F10 the D
  • WiX 卸载前关闭应用程序 - 关闭打开的应用程序消息

    我正处于一种痛苦之中 我有一个安装程序安装并启动托盘图标应用程序 通用 exe 这是正常工作的 但现在我想在这个 UI 告诉用户手动关闭应用程序出现之前停止该应用程序 因为在卸载例程期间 我的托盘图标被删除 但该进程仍在运行 我应用此自定义