Lorsqu'une application déployée par ClickOnce AutoUpdate est automatiquement mise à jour sous Windows 7, l'application est supprimée de la barre des tâches. Y a-t-il un moyen de l'empêcher de se décoller?Comment conserver les applications .NET épinglées dans la barre des tâches pendant la mise à jour automatique?
Répondre
Je ne vois pas ce problème du tout. Je suppose que vous avez manuellement épinglé l'application à la barre des tâches la première fois que vous l'avez exécutée.
Voulez-vous cibler .NET 3.5 (SP-1)? Avez-vous ClickOnce créer le raccourci sur le bureau pour vous ou faites-vous par programme? Le raccourci du bureau disparaît-il?
Est-ce qu'il disparaît de la barre des tâches chaque fois qu'une mise à jour est publiée, ou juste si souvent?
RobinDotNet
Lorsque l'application ClickOnce n'est pas installée, il est très probablement impossible d'y parvenir. Quand il est installé; je ne suis pas sûr.
Une application ClickOnce est téléchargée dans le répertoire temporaire des utilisateurs. Lorsque l'application télécharge la dernière version, cette version est stockée dans un nouveau sous-répertoire et n'est pas écrasée, ce qui est le cas des mises à jour d'applications «normales».
Je ne sais pas garder d'être désépinglé mais il existe un moyen utilisant un script VBS à la broche un exe qui n'est pas censé être faisable par code:
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
Cela repose essentiellement sur le menu clic droit d'un exe ayant l'entrée "Pin to Taskbar". Il est malheureusement spécifique à l'anglais sauf si quelqu'un a une liste de toutes les traductions.
Le problème est que vous ne voulez pas épingler le fichier [exe] à partir d'une application CLickOnce. Si vous l'exécutez en exécutant [exe] au lieu du fichier appref-ms, il ne s'exécutera pas en tant qu'application ClickOnce et recherchera les mises à jour et vérifiera les fichiers de déploiement, etc. – RobinDotNet
Je ne suis pas sûr de savoir comment Windows 7 gère, mais j'utiliser un code similaire à this pour copier les appRef-ms dans le dossier de démarrage dans le menu de démarrage. Je pense que mon code (sur mon ordinateur de travail et je suis éteint pour le week-end) vérifie également s'il s'agit d'une nouvelle installation, donc il ne change pas le raccourci s'il s'agit d'une mise à jour.
Avec .NET 3.5 SP-1, ils ont ajouté la possibilité d'ajouter un raccourci au bureau créé automatiquement. Quand ils l'ont fait, ils ont également ajouté un peu qui supprime le raccourci chaque fois qu'une mise à jour est émise, et si vous avez coché leur case, il le remet à plus tard. Donc, si vous copiez leur raccourci sur votre bureau (comme nous le faisons, c'est donc le raccourci C/O réel), vous devez le faire à chaque fois ou il disparaît. Peu importe quelle version de .NET vous ciblez; Cela se produira si .NET 3.5 SP-1 est installé sur la machine. Juste FYI. – RobinDotNet
Dans Visual Studio 2010 sur l'onglet de publication. J'ai cliqué sur les options, Manifests sélectionnés et cliqué sur Créer un raccourci sur le bureau. Cela a été conservé par les raccourcis du menu Démarrer après la publication d'une mise à jour et l'installation de la mise à jour par les utilisateurs. Auparavant, le raccourci du menu de démarrage disparaissait et devait être re-épinglé.
Oui, j'ai manuellement épinglé l'application. Il disparaît chaque fois qu'une mise à jour est publiée. – ryantm
Des réponses à mes autres questions? – RobinDotNet