J'ai une application .NET déployée via ClickOnce. L'icône de l'application s'affiche correctement dans le menu Démarrer, dans la barre des tâches, etc., mais pas dans les champs Ajout/Suppression de programmes du panneau de configuration. Que dois-je faire pour résoudre ce problème?L'icône de l'application n'apparaît pas dans le panneau de configuration 'Ajout/Suppression de programmes'
4
A
Répondre
5
Ceci n'est pas supporté par ClickOnce (bien que je ne cesse de le demander).
J'ai récupéré le code suivant il y a longtemps, mais je n'ai jamais eu le temps de l'essayer. Je mettrais un try
/catch
autour de lui au cas où cela causerait un problème. Laissez-moi savoir si cela fonctionne. ;-)
RegistryKey myUninstallKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall");
string[] mySubKeyNames = myUninstallKey.GetSubKeyNames();
for (int i = 0; i < mySubKeyNames.Length; i++)
{
RegistryKey myKey = myUninstallKey.OpenSubKey(mySubKeyNames , true);
object myValue = myKey.GetValue("DisplayName");
if (myValue != null && (string)myValue == _ApplicationName)
{
myKey.SetValue("DisplayIcon", _ExecutablePath + @"\App.ico");
break;
}
}
Cela nécessiterait évidemment que vous soyez livré avec des autorisations de confiance ou de registre complètes. C'est ce que font la plupart des gens (confiance totale, je veux dire), mais toujours un bon point à retenir si vous vous êtes soucié de courir dans une confiance inférieure. –
Je pense qu'il pourrait fonctionner avec une confiance partielle, car il modifie la partie HKCU du registre, et une application ClickOnce devrait y avoir accès. – RobinDotNet
Où mettriez-vous ce code - dans le code de démarrage de l'application ou dans un exe post-installation (comment)? – Graeme