Как мне это сделать keep.NET приложения, прикрепленные к панели задач во время автоматического обновления?


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

5 7

5 ответов:

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

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

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

RobinDotNet

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

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

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