当 ClickOnce AutoUpdate 部署的应用程序在 Windows 7 上自动更新时,该应用程序会从任务栏中取消固定。有没有办法阻止它被取消固定?
5 回答
如果未安装 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 为您创建桌面快捷方式还是以编程方式创建?桌面快捷方式会消失吗?
每次发布更新时它会从任务栏中消失,还是每隔一段时间就会消失?
罗宾点网
我不确定 Windows 7 如何处理它,但我使用与此类似的代码将 appref-ms 复制到开始菜单上的启动文件夹。我认为我的代码(在我的工作机器上,我周末休息)也可以检查这是否是新安装,因此如果它是更新,它不会更改快捷方式。
在 Visual Studio 2010 中的发布选项卡上。我单击选项,选定清单并单击创建桌面快捷方式。在发布更新并且用户安装更新后,这由开始菜单快捷方式保留。以前开始菜单快捷方式会消失,必须重新固定。