Domanda

Ho letto in alcuni dei post di ClickOnce che ClickOnce non ti consente di creare un'icona desktop per la tua applicazione. C'è un modo per aggirare questo?

È stato utile?

Soluzione

In Visual & nbsp; Studio & nbsp; 2005, ClickOnce non ha la possibilità di creare un'icona desktop , ma ora è disponibile in Visual & nbsp; Studio & nbsp; 2008 SP1. In Visual & nbsp; Studio & nbsp; 2005, puoi utilizzare il codice seguente per creare un'icona desktop all'avvio dell'applicazione.

Ho usato questo codice su diversi progetti per un paio di mesi senza alcun problema. Devo dire che tutte le mie applicazioni sono state distribuite su una rete intranet in un ambiente controllato. Inoltre, l'icona non viene rimossa quando l'applicazione viene disinstallata. Questo codice crea un collegamento al collegamento nel menu di avvio creato da 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);
            }
        }
    }
}

Altri suggerimenti

Sembra che ci sia un modo per posizionare un'icona sul desktop in ClickOnce.

  1. Esegui l'upgrade a Visual & nbsp; Studio & nbsp; 2008 SP 1 e verrà visualizzata un'icona nella casella di controllo sul desktop nella pagina delle opzioni della sezione di pubblicazione della finestra delle proprietà del progetto.
  2. La seconda opzione è quella di aggiungere codice all'applicazione che copia il collegamento sul desktop alla prima esecuzione dell'applicazione. Vedi il post sul blog Come aggiungere un collegamento sul desktop all'applicazione di distribuzione ClickOnce .

L'icona del desktop può essere un collegamento al file .application . Installa questo come una delle prime cose che fa la tua applicazione.

In Visual Studio 2017 e 2019 è possibile effettuare le seguenti operazioni:

Vai a Proprietà del progetto - > Pubblica - > Mostra e seleziona l'opzione Crea collegamento sul desktop

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top