gpt4 book ai didi

wix - 使用 Wix 安装后删除目录和文件

转载 作者:行者123 更新时间:2023-12-04 22:17:40 25 4
gpt4 key购买 nike

在安装过程中,我需要在 InstallExecuteSequence 标记 asl After="InstallFinalize"中配置的自定义操作中的一些额外文件。

使用文件后,我希望删除文件(和目录)。

我怎样才能做到这一点?

我的 InstallExecuteSequence 看起来像这样:

  <InstallExecuteSequence>
<Custom Action="UNINSTALLSERVICE"
After="InstallInitialize">REMOVE="ALL"</Custom>
<Custom Action="CLEANUP"
Before="RemoveFiles">REMOVE="ALL"</Custom>
<Custom Action="INSTALLSERVICE"
After="InstallFinalize" />
</InstallExecuteSequence>

如果我创建一个自定义操作
ExeCommand="cmd /C RD "somedir" /s /q"

并将其添加到序列中,如下所示:
 <Custom Action="CLEANTEMP" After="InstallFinalize" />

我收到一个构建错误:
Error   596 ICE77: CLEANCONFIG is a in-script custom action.  
It must be sequenced in between the InstallInitialize action
and the InstallFinalize action in the InstallExecuteSequence table

最佳答案

UPDATE: Not sure why this was down-voted just now. The summary below is sound advice. Perhaps it is the lack of a sample? I'll add a couple of links. Also: there can be cases where a custom action is needed to tweak service installations, but that is rarely necessary if you design the service properly - WiX also has constructs to help you for common tweaks:



通常不需要使用自定义操作来安装和配置服务。 由于其完全回滚支持和广泛的功能集,因此内置的 MSI 功能非常优越。使用自定义操作使事情变得非常复杂,增加了不必要的风险,并且在回滚期间几乎总是失败,使系统处于无效状态。

MSI 表有一个学习曲线 - 有很多选择,但根据我的经验,只有少数设置捆绑在一起才有意义。通常在安装过程中停止和重新启动,在卸载和这些变化时停止和删除。过去我添加了自定义操作只是为了在服务正常关闭时等待,但这只是一个等待自定义操作并且不会改变系统。对于这种我不知道的场景,可能有新的 Wix 功能。

MSI 表 ServiceInstallServiceControl用于安装服务。在 Wix 中,您处理等效的 XML 元素: Wix ServiceInstallWix ServiceControl和更新的 Wix ServiceConfigWix ServiceConfigFailureActions .

关于wix - 使用 Wix 安装后删除目录和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24734775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com