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

标签 batch-file task clickonce taskscheduler

我有一个 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

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

最佳答案

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

ClickOnce app not starting from the scheduler

关于batch-file - ClickOnce 应用程序不从任务计划程序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44599106/

相关文章:

c# - Task.Wait() 在静态字段初始化期间调用时从不返回?

c# - 如何使用 ConfigurationManager 通过 ClickOnce 更新来持久化 app.config?

.net - 有没有办法将使用 .appref-ms 的 ClickOnce 应用程序添加到系统路径?

installation - Clickonce - 如何将图像添加到安装程序?

batch-file - 批处理 %%~n1 不返回变量

powershell - 如何使用/Powershell 检索递归目录名称?

javascript - 命名我的选项卡以打开多个网站?

java - 使用批处理解析多个 XML 文件

css - Gulp:缩小 CSS 并更改导入路径中的文件名

c# - 等待任务完成而不阻塞 UI 线程