ClickOnce 应用程序不从任务计划程序执行

ClickOnce app doesn't execute from Task Scheduler

我有一个 ClickOnce 应用程序,我们在登录时启动并重复出现。安装应用程序后,任务工作正常,但如果我重新启动机器,脚本 运行 但它们无法启动我的应用程序。我在 BAT 文件中添加了日志记录,我知道它已执行,但调用 运行dll32 行不会产生任何结果,也不会产生任何错误。

如果我从资源管理器手动 运行 脚本,它会工作并且任务计划程序执行也开始工作。此外,如果我手动 运行 clickonce 快捷方式,脚本将从任务计划程序开始执行。有没有办法验证 dfshim 是否已加载,或者在执行之前加载它?我错过了什么?我尝试清除缓存,这似乎在一台机器上修复了它,但这似乎是巧合,因为它没有在另一台机器上修复它。

首先调用的 VBS 脚本(由任务计划程序调用):

Set WshShell = WScript.CreateObject("WScript.Shell")
obj = WshShell.Run("C:\Users\brnapolitano\AppData\Roaming\FirstAmerican\TaskScheduler\AppReferenceInvoke.bat", 0)
set WshShell = Nothing     

第二次调用BAT脚本(由上面的VBS调用):

rundll32.exe dfshim.dll,ShOpenVerbShortcut 
C:\Users\brnapolitano\AppData\Roaming\Microsoft\Windows\Start 
Menu\Programs\FastLocalService\FastLocalService.appref-ms

我想用脚本修复这个问题,但如果这不可能,我会尝试将它添加到启动项中,看看是否能解决我的问题。

从您的 post 中不清楚重启后发生了什么。重新启动后,您是在登录后还是登录前尝试 运行 计划任务?如果是后者,则您的 vbs 和 bat 文件很可能 运行ning 在与您认为的不同的安全上下文中。登录后也可能是这种情况,具体取决于计划任务中的设置。

Task Scheduler is not supporting option "Run with highest Privilege" and "Run weather user is logged on or not"

我找到了答案(链接如下)。我仍在测试过程中,但它似乎有效。 dfsvc 需要 运行,如果未激活,则在 运行 启动快捷方式的命令之前。

ClickOnce app not starting from the scheduler