Question

J'ai lu dans certains articles de ClickOnce que ClickOnce ne vous permettait pas de créer une icône de bureau pour votre application. Y a-t-il un moyen de contourner cela?

Était-ce utile?

La solution

Dans Visual & nbsp; Studio & nbsp; 2005, ClickOnce ne permet pas de créer une icône de bureau. , mais il est maintenant disponible dans Visual & Studio & 2008 & SP1. Dans Visual Studio & 2005, vous pouvez utiliser le code suivant pour créer une icône de bureau pour vous au démarrage de l’application.

J'ai utilisé ce code sur plusieurs projets pendant quelques mois maintenant sans aucun problème. Je dois dire que toutes mes applications ont été déployées sur un intranet dans un environnement contrôlé. En outre, l'icône n'est pas supprimée lors de la désinstallation de l'application. Ce code crée un raccourci vers le raccourci sur le menu Démarrer créé par ClickOnce.

private void CreateDesktopIcon()
{
    ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;

        if (ad.IsFirstRun)
        {
            Assembly assembly = Assembly.GetEntryAssembly();
            string company = string.Empty;
            string description = string.Empty;

            if (Attribute.IsDefined(assembly, typeof(AssemblyCompanyAttribute)))
            {
                AssemblyCompanyAttribute ascompany =
                  (AssemblyCompanyAttribute)Attribute.GetCustomAttribute(
                    assembly, typeof(AssemblyCompanyAttribute));

                company = ascompany.Company;
            }
            if (Attribute.IsDefined(assembly, typeof(AssemblyDescriptionAttribute)))
            {
                AssemblyDescriptionAttribute asdescription =
                  (AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(
                    assembly, typeof(AssemblyDescriptionAttribute));

                description = asdescription.Description;
            }
            if (!string.IsNullOrEmpty(company))
            {
                string desktopPath = string.Empty;
                desktopPath = string.Concat(
                                Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                                "\\",
                                description,
                                ".appref-ms");

                string shortcutName = string.Empty;
                shortcutName = string.Concat(
                                 Environment.GetFolderPath(Environment.SpecialFolder.Programs),
                                 "\\",
                                 company,
                                 "\\",
                                 description,
                                 ".appref-ms");

                System.IO.File.Copy(shortcutName, desktopPath, true);
            }
        }
    }
}

Autres conseils

Il semble qu'il existe un moyen de placer une icône sur le bureau dans ClickOnce.

  1. Effectuez une mise à niveau vers Visual Studio & 2008 & SP1. Une case à cocher représentant une icône apparaîtra sur le bureau dans la page Options de la section de publication de la fenêtre des propriétés du projet.
  2. La deuxième option consiste à ajouter à votre application un code qui copie le raccourci sur le bureau lors de la première exécution de l'application. Voir l'article de blog Comment ajouter un raccourci sur le bureau à l'application de déploiement ClickOnce .

L'icône du bureau peut être un raccourci vers le fichier .application . Installez-le comme l'une des premières tâches de votre application.

Dans Visual Studio 2017 et 2019, vous pouvez effectuer les opérations suivantes:

Allez à Propriétés du projet - > Publier - > Manifestes et sélectionnez l'option Créer un raccourci sur le bureau

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top