【问题标题】:ClickOnce app doesn't execute from Task SchedulerClickOnce 应用程序不会从任务计划程序执行
【发布时间】:2017-11-19 19:30:48
【问题描述】:

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

如果我从资源管理器手动运行脚本,它可以工作并且任务调度程序执行也开始工作。此外,如果我手动运行 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

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

【问题讨论】:

标签: batch-file task clickonce taskscheduler


【解决方案1】:

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

ClickOnce app not starting from the scheduler

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 计划登录和重复任务,重启后都开始失败。脚本已执行,但进程未启动。我在另一个线程上找到了答案。感谢您的宝贵时间。
    猜你喜欢
    • 2012-12-12
    • 2017-08-22
    • 2014-06-19
    • 2023-03-13
    • 2021-09-17
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    相关资源
    最近更新 更多