Как сохранить .NET-приложения прикрепленными к панели задач во время автообновления? - PullRequest
7 голосов
/ 18 марта 2010

Когда приложение, развернутое с помощью ClickOnce AutoUpdate, автоматически обновляется в Windows 7, оно отключается от панели задач.Есть ли способ, чтобы остановить его открепление?

Ответы [ 5 ]

1 голос
/ 29 марта 2010

Я не знаю, как сохранить его от открепления, но есть способ использовать скрипт 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, имеющем запись «Закрепить на панели задач». К сожалению, это делает его специфичным для английского, если у кого-то нет списка всех переводов.

1 голос
/ 28 марта 2010

Когда приложение ClickOnce не установлено, этого, скорее всего, невозможно достичь. Когда он установлен; Я не уверен.

Приложение ClickOnce загружается во временный каталог пользователя. Когда приложение загружает последнюю версию, эта версия сохраняется в новом подкаталоге и не перезаписывается, как в случае «обычных» обновлений приложения.

0 голосов
/ 18 июля 2014

В Visual Studio 2010 на вкладке публикации. Я щелкнул параметры, Выбранные манифесты и нажал Создать ярлык на рабочем столе. Это сохраняется с помощью ярлыков меню «Пуск» после публикации обновления и установки пользователем обновления. Ранее ярлык меню «Пуск» исчезал, и его пришлось повторно закрепить.

0 голосов
/ 02 апреля 2010

Я не уверен, как Windows 7 справляется с этим, но я использую код, подобный this , чтобы скопировать appref-ms в папку автозагрузки в меню «Пуск». Я думаю, что мой код (на моей рабочей машине, и я уезжаю на выходные) также имеет проверку, если это новая установка, поэтому он не меняет ярлык, если это обновление.

0 голосов
/ 30 марта 2010

Я вообще не вижу этой проблемы. Я предполагаю, что вы вручную прикрепили приложение к панели задач при первом запуске.

Вы нацеливаетесь на .NET 3.5 (SP-1)? У вас есть ClickOnce создать ярлык на рабочем столе для вас или вы делаете это программно? Ярлык на рабочем столе исчезает?

Исчезает ли оно из панели задач каждый раз, когда выпускается обновление, или просто так часто?

RobinDotNet

...