当使用ClickOnce AutoUpdate部署的应用程序在Windows 7上自动更新时,该应用程序会从任务栏中取消固定。有没有办法阻止它被取消固定?
当使用ClickOnce AutoUpdate部署的应用程序在Windows 7上自动更新时,该应用程序会从任务栏中取消固定。有没有办法阻止它被取消固定?
当未安装 ClickOnce 应用程序时,很可能无法实现此操作。 如果已安装,则不确定。
ClickOnce 应用程序将下载到用户的临时目录中。当应用程序下载最新版本时,该版本将储存在一个新的子目录中,并不会被覆盖,这与“正常”应用程序更新的情况不同。
我不知道如何防止取消固定,但是可以使用 vbs 脚本的方式来固定一个本不允许通过代码固定的 exe 文件:
Call AddToTaskbar("C:\temp\", "MyExe.exe")
Function AddToTaskbar (Path, File)
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(Path)
Set objFolderItem = objFolder.ParseName(File)
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then
'WScript.Echo objVerb
objVerb.DoIt
End If
Next
End Function
这基本上依赖于 exe 的右键菜单具有“固定到任务栏”条目。除非有所有翻译的清单,否则很遗憾它仅适用于英语。
我完全没有看到这个问题。我假设您第一次运行应用程序时手动将其固定到任务栏。
您是否针对.NET 3.5(SP-1)进行了定位?您是让ClickOnce为您创建桌面快捷方式还是以编程方式执行?桌面快捷方式会消失吗?
每次发布更新时它都会从任务栏消失,还是只是偶尔消失?
RobinDotNet
我不确定Windows 7如何处理它,但我使用类似于this的代码将appref-ms复制到开始菜单上的启动文件夹中。我想我的代码(在我的工作机器上,我周末休息)还检查是否是新安装,因此如果是更新,则不更改快捷方式。