gpt4 book ai didi

维克斯。取消安装时回滚自定义操作

转载 作者:行者123 更新时间:2023-12-02 20:44:00 25 4
gpt4 key购买 nike

我有一个自定义操作

<CustomAction Id="myActionId" BinaryKey="myAction" DllEntry="MySimpleAction" Execute="immediate" Return="check" />

<InstallExecuteSequence>
<Custom Action="myActionId" After="InstallInitialize">CHECKBOXCOPYPROP=1</Custom>
</InstallExecuteSequence>

我的自定义操作会备份和解析数据库。取消安装时我需要回滚(删除数据库)。我做了:

<CustomAction Id="myActionId" BinaryKey="myAction" DllEntry="MySimpleAction" Execute="immediate" Return="check" />
<CustomAction Id="myActionRollbackId" BinaryKey="myActionRollback" DllEntry="MySimpleAction" Execute="rollback" Return="check" />

<InstallExecuteSequence>
<Custom Action="myActionId" After="InstallInitialize">CHECKBOXCOPYPROP=1</Custom>
<Custom Action="myActionRollbackId" Before="myActionId">CHECKBOXCOPYPROP=1</Custom>
</InstallExecuteSequence>

但是我遇到了错误。

如果我这样做:

<CustomAction Id="myActionId" BinaryKey="myAction" DllEntry="MySimpleAction" Execute="immediate" Return="check" />
<CustomAction Id="myActionRollbackId" BinaryKey="myActionRollback" DllEntry="MySimpleAction" Execute="immediate" Return="check" />

<InstallExecuteSequence>
<Custom Action="myActionId" After="InstallInitialize">CHECKBOXCOPYPROP=1</Custom>
<Custom Action="myActionRollbackId" After="myActionId">CHECKBOXCOPYPROP=1</Custom>
</InstallExecuteSequence>

我的自定义操作 myActionRollbackId 有效。

取消安装后如何运行回滚?有人可以帮助我吗?

最佳答案

应推迟在安装时运行并对数据库执行某些操作的自定义操作 (Execute='deferred')。其对应的回滚操作应该是Execute='rollback'。当您安排这些自定义操作时,应首先执行回滚操作。

此外,请确保条件设置正确。

关于维克斯。取消安装时回滚自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12543196/

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