2008-09-30 15 views

Respuesta

12

En Visual Studio     2005, ClickOnce no tiene la capacidad de crear un icono en el escritorio, pero ahora está disponible en Visual Studio     2008 SP1. En Visual   Studio   2005, puede usar el siguiente código para crear un icono de escritorio para usted cuando se inicia la aplicación.

He usado este código en varios proyectos durante un par de meses sin ningún problema. Debo decir que todas mis aplicaciones se han implementado en una intranet en un entorno controlado. Además, el icono no se elimina cuando la aplicación se desinstala. Este código crea un acceso directo al acceso directo en el menú de inicio que ClickOnce crea.

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); 
      } 
     } 
    } 
} 
+26

Si copia el código, debe al menos hacer referencia al autor: http://geekswithblogs.net/murraybgordon/archive/2006/10/04/ 93203.aspx – cgreeno

0

El icono del escritorio puede ser un acceso directo al archivo .application. Instala esto como una de las primeras cosas que hace tu aplicación.

11

Parece que hay una manera de colocar un icono en el escritorio en ClickOnce.

  1. actualización a Visual Studio     2008 SP 1, y habrá un colocaron un icono en el escritorio casilla de verificación en la página de opciones de la sección de publicación de la ventana de propiedades del proyecto.
  2. La segunda opción es agregar código a su aplicación que copia el acceso directo al escritorio en la primera ejecución de la aplicación. Vea la publicación del blog How to add Desktop Shortcut to ClickOnce Deployment Application.
+3

Perfecto. La misma configuración está en VS2010 si alguien más se está preguntando. – dkarzon

+1

VS2015 también: Propiedades del proyecto> Publicar> Opciones> Manifestos> Crear acceso directo en el escritorio – kdbanman

Cuestiones relacionadas