gpt4 book ai didi

windows - 运行批处理文件,在卸载时使用 Wix 安排任务

转载 作者:可可西里 更新时间:2023-11-01 10:33:42 26 4
gpt4 key购买 nike

我的 .wxs 文件中有以下 XML,用于在卸载时运行批处理文件:

<InstallExecuteSequence>
<Custom Action="uninstall_action" After="InstallInitialize">Installed AND NOT UPGRADINGPRODUCTCODE</Custom>
</InstallExecuteSequence>

<Fragment>
<CustomAction
Id ="uninstall_action"
Directory ="INSTALLDIR"
ExeCommand ="&quot;[INSTALLDIR]uninstallTester.bat&quot;"
Execute ="deferred"
Impersonate="no"
/>
</Fragment>

所以它应该运行位于安装目录中的批处理文件。我的批处理文件如下所示:

schtasks /Create /F /SC ONCE /ST 22:05 /TN exampleUninstall /TR "echo hello" 2> batch_log.log

当我运行卸载程序时,我在 batch_log.log 中得到以下信息:

ERROR: No mapping between account names and security IDs was done.
(40,4):UserId:

似乎只有在创建新的计划任务时才会出现问题,因为如果我更改批处理以删除计划任务,它会正常运行。所以我的问题是:我怎样才能安排这个一次性任务运行?单独运行批处理文件也可以,只是在被卸载程序调用时出现问题。

我也曾尝试用谷歌搜索该特定错误,但没有成功。

我已经简化了我的实际用例,所以我不能仅仅将 schtasks 命令移动到安装程序中的 ExecCommand 中,它必须存在于批处理文件中(实际上它将存在于可执行文件中,但我认为这个批处理示例更容易)

最佳答案

您可以尝试将/RU "SYSTEM"添加到您的 cmd。我从来没有运行过 schtasks 但它可能有用吗?听起来用户登录机器与在系统上下文下运行任务之间存在一些混淆。

关于windows - 运行批处理文件,在卸载时使用 Wix 安排任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39089687/

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