这应该是一个重复的问题,但我无法找到答案。 我想在启动ClickOnce安装程序的Vista任务计划程序中添加一个任务。据我所知,该应用程序的.exe是隐藏的?所以我尝试输入桌面快捷方式作为要在“操作”选项卡中启动的项目。但这不起作用。我收到一条错误消息,指出快捷方式是无效的win32应用程序。
现在怎么办?
答案 0 :(得分:3)
在Windows 7中,我发现这个解决方案似乎运行良好......
调度程序操作:“cmd.exe”,参数为“/ c path_to_prgm.appref-ms”。我认为这也适用于Vista或XP。 cmd shell知道如何处理appref-ms文件,但任务调度程序只知道如何运行可执行文件。
答案 1 :(得分:2)
ClickOnce应用程序存储在C:\Documents and Settings\*\Local Settings\Apps\2.0\
(在XP上。我相信你可以在Vista上找出它的位置,或者你正在使用的任何东西。)。此外,每个部署版本都存储在不同的位置,这使得这个问题变得非常有趣。
我在ClickOnce应用程序上自动启动的方式是,每次启动时,它都会检查自动启动注册表设置(如果存在),然后将其设置为当前正在执行的可执行文件的位置,以确保最新版本正在自动启动(它手动处理更新并在完成后重新启动)。
如果这是一个定期安排,那么你将遇到麻烦。如果它是一次性的,那么也许搜索应用程序缓存可能会产生结果。如果你想要定期安排,我想你会发现使用不同的分发机制会更容易。
答案 2 :(得分:2)
但有一点需要注意。如果您希望它作为ClickOnce应用程序运行,即获取更新,则必须调用appref-ms文件,而不是直接调用exe。运行exe只是将它作为常规应用程序运行,它永远不会检查更新。如果您打算这样做,您可能只需将应用程序xcopy并将其粘贴到一个文件夹中并安排它运行。
您可以查看有关自动启动ClickOnce应用程序的此帖子。
http://news.softpedia.com/news/How-To-Add-an-Application-To-Startup-Using-The-Registry-43488.shtml
答案 3 :(得分:0)
使用以下内容创建批处理文件,并安排批处理文件运行
“rundll32.exe dfshim.dll,ShOpenVerbShortcut”