【发布时间】:2014-01-10 09:38:59
【问题描述】:
我正在尝试让我的安装程序在删除应用程序时使用自定义操作来删除计划任务。创建“CreateScheduledTask”的自定义操作正常工作,但删除失败。
MSI (s) (B4:D8) [09:28:45:761]: Note: 1: 1721 2: RemoveScheduledTask 3: C:\Foobar\ 4: "C:\Windows\SysWOW64\SCHTASKS.EXE" /DELETE /TN "Automated Admin" /F
信息 1721。此 Windows 安装程序包有问题。无法运行完成此安装所需的程序。请联系您的支持人员或软件包供应商。操作:RemoveScheduledTask,位置:C:\Foobar\,命令:"C:\Windows\SysWOW64\SCHTASKS.EXE" /DELETE /TN "Automated Admin" /F MSI (s) (B4:44) [09:28:45:777]:调用远程自定义操作。 DLL:C:\Windows\Installer\MSIBB52.tmp,入口点:CommitIIS7ConfigTransaction
如果我运行,语法是正确的
"C:\Windows\SysWOW64\SCHTASKS.EXE" /DELETE /TN "Automated Admin" /F
从命令行正确删除任务。
<!-- Code for setting the automated task-->
<CustomAction Id="CreateScheduledTask"
Return="check"
Impersonate="no"
Execute="deferred"
Directory="INSTALLLOCATION"
ExeCommand=""[SystemFolder]SCHTASKS.EXE" /CREATE /SC MINUTE /MO 15 /TN "Automated Admin" /TR "[AutomatedAdmin]FooBar.exe" /RU "NT Authority\System" /RP /RL HIGHEST" />
Wix 片段是
<CustomAction Id="RemoveScheduledTask"
Return="ignore"
Impersonate="no"
Execute="deferred"
Directory="INSTALLLOCATION"
ExeCommand=""[SystemFolder]SCHTASKS.EXE" /DELETE /TN "Automated Admin" /F" />
<InstallExecuteSequence>
<Custom Action="CreateScheduledTask" Before="InstallFinalize">NOT Installed</Custom>
<Custom Action="RemoveScheduledTask" Before="RemoveFiles">REMOVE="ALL"</Custom>
</InstallExecuteSequence>
【问题讨论】:
-
我有完全相同的问题和配置。安装程序是 x86,在多台 x64 计算机上运行良好,但在 x86 Win 8 Pro 平板电脑上首次安装时出现此问题。
-
看起来我的 x86 平板电脑的 CustomAction 可能没有以管理员身份运行。 (即使 UAC 管理员提示安装)当我手动添加任务时它不会被安装删除。
-
@Brent 你能删除正常安装的任务吗?删除对我永远不起作用。你能发布你的wix片段吗?
-
之前一切正常,我想那是因为我完全禁用了 UAC。我正在努力让它与启用默认级别的 UAC 一起工作。我稍后会发布配置作为答案。试图弄清楚这一点。
-
哦,平板电脑上的卸载不起作用的问题是我安装了以前的版本(相当旧)并且卸载程序挂起。因此,一旦我修复了依赖项并将其卸载,现在一切都可以正常工作了。