【发布时间】:2020-11-22 03:19:55
【问题描述】:
我为我的应用程序编写了一个 wix 脚本,它有 2 个与之关联的延迟自定义操作。
其中一个自定义操作在安装期间运行,另一个在卸载期间运行。
如果在用户手动删除文件后运行卸载程序,则会在卸载期间发生错误。这会导致 msi 查找要作为自定义操作运行的 .exe,但由于文件不存在而失败并导致卸载中止。
如果文件不存在,如何不运行自定义操作?
我没有找到任何类似的查询,所以我在这里发布。如果可以的话请帮帮我
【问题讨论】:
-
请分享错误输出
-
这个可执行文件在卸载时实际上做了什么?真正的解决方案通常是:
1)使用嵌入在设置中的 dll 自定义操作,2)完全不需要自定义操作。请记住,卸载时完成的一些清理可以替换为向用户提供清理的说明(如果他们愿意)。通常,您在卸载时留下的是用户数据文件或设置文件,用户可能希望保留这些文件(例如,如果他们重新安装)。您通常不应删除任何用户数据。这样做通常会导致比保留数据更多的问题。