Когда приложение, развернутое ClickOnce AutoUpdate, автоматически обновляется в Windows 7, приложение становится незакрепленным с панели задач. Есть ли способ остановить его от отказа?Как сохранить приложения .NET, прикрепленные к панели задач во время AutoUpdate?
ответ
Я вообще не вижу эту проблему. Я предполагаю, что вы вручную привязали приложение к панели задач при первом запуске.
Вы ориентируетесь на .NET 3.5 (SP-1)? У вас есть ClickOnce создать ярлык для рабочего стола для вас или вы делаете это программно? Отключен ли ярлык на рабочем столе?
Он исчезает с панели задач каждый раз, когда обновление выпущено или просто так часто?
RobinDotNet
Когда приложение ClickOnce не установлено, его, скорее всего, невозможно достичь. Когда он установлен; я не уверен.
Приложение ClickOnce загружается во временную папку пользователя. Когда приложение загружает последнюю версию, эта версия сохраняется в новом подкаталоге и не перезаписывается, как в случае с «нормальными» обновлениями приложений.
Я не знаю, о сохранении его от откреплено, но есть способ, с помощью VBS скрипта, чтобы прикрепить к еху, который не должен быть выполнимым код:
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». Это, к сожалению, делает его специфичным для английского, если у кого-то нет списка всех переводов.
Проблема заключается в том, что вы не хотите прикреплять файл [exe] к приложению CLickOnce. Если вы запустите его, запустив [exe] вместо файла appref-ms, он не будет запущен как приложение ClickOnce и будет искать обновления и проверять файлы развертывания и т. Д. – RobinDotNet
Я не знаю, как Windows 7 обрабатывает его, но я использую код, похожий на this скопировать appref-мс в папку автозагрузки в меню Пуск. Я думаю, что мой код (на моей рабочей машине и я уезжаю на выходные) также проверяет, является ли это новой установкой, поэтому она не меняет ярлык, если это обновление.
С .NET 3.5 SP-1 они добавили возможность быстрого добавления ярлыка на рабочий стол, созданный автоматически. Когда они это сделали, они также добавили немного, что удаляет ярлык каждый раз, когда выдается обновление, и если у вас установлен флажок, он возвращает его. Поэтому, если вы копируете свой ярлык на свой рабочий стол (как и мы, так это фактический ярлык C/O), вы должны делать это каждый раз или он исчезает. Неважно, какую версию .NET вы нацеливаете; произойдет, если на компьютере установлен .NET 3.5 SP-1. Просто FYI. – RobinDotNet
В Visual Studio 2010 на вкладке публикации. Я нажал на опции «Выбранные манифесты» и нажал «Создать ярлык на рабочем столе». Это сохранилось с помощью ярлыков меню «Пуск» после публикации обновления, и пользователи установили обновление. Раньше ярлык меню «Пуск» исчез и должен быть перезаписан.
Да, я вручную привязал приложение. Он исчезает при каждом выпуске обновления. – ryantm
Любые ответы на другие мои вопросы? – RobinDotNet