【发布时间】: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