WIX 生成的 MSI 的自定义卸载程序 [英] Custom uninstaller for a WIX generated MSI

查看:32
本文介绍了WIX 生成的 MSI 的自定义卸载程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个从 WIX 脚本生成的 MSI.

I have an MSI that is being generated from WIX scripts.

我的问题与此类似 问题.

我想创建一个自定义卸载程序,而不是使用默认的 MSI 卸载程序.

I want to create a custom uninstaller instead of using the default MSI uninstaller.

我正在考虑添加一个在 PublishProduct 之后或 InstallFinalize 之前执行的自定义操作,该操作只会修改指定要使用的卸载字符串的注册表项.

I am thinking of adding a custom action that executes after PublishProduct or before InstallFinalize that just goes and modifies the registry entry that specifies the uninstall string to use.

我不担心与 SMS 或类似产品的兼容性.

I am not worried about compatibility with SMS or similar products.

您对这种方法有何看法?

What are your thoughts on this method?

推荐答案

事情没那么简单.无论出于何种原因,ARP 都不尊重 MSI 软件包上的 UninstallString.因此,要更改它,您必须设置 ARPSYSTEMCOMPONENT 并验证您可能希望支持的所有各种升级和删除路径.Heath Stewart 有一个 系列博文 与此相关,有助于列举可能的场景和常见问题.

It's not that simple. For whatever reason, the ARP doesn't respect the UninstallString on MSI packages. So to change it you would have to set ARPSYSTEMCOMPONENT and validate all the various upgrade and removal paths you may ever wish to support. Heath Stewart has a series of blog posts related to this which help enumerate the possible scenarios and common problems with them.

我相信这个系列是在 MSI 3.x 时代编写的,所以它可能没有解决 Windows Vista 或更高版本的任何新问题,并且无法利用 MSI 4.5 补丁卸载自定义操作标志.

I believe this series was written in the MSI 3.x era, so it likely does not address any new concerns on Windows Vista or later, and could not take advantage of the MSI 4.5 patch-uninstall custom action flag.

这篇关于WIX 生成的 MSI 的自定义卸载程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆