Generar aplicaciones ClickOnce desde la línea de comandos
Actualización: Julio de 2008
En Visual Studio puede generar proyectos desde la línea de comandos aunque se hayan creado en el entorno de desarrollo integrado (IDE). De hecho, puede volver a generar un proyecto creado con Visual Studio en otro equipo que tenga sólo .NET Framework instalado. Esto le permitirá reproducir una compilación mediante un proceso automatizado, por ejemplo, en un laboratorio de generación central o mediante técnicas avanzadas de scripting sin limitarse únicamente a generar el proyecto en sí.
Usar MSBuild para reproducir las implementaciones de las aplicaciones ClickOnce
Al escribir msbuild /target:publish en la línea de comandos, se indica al sistema MSBuild que genere el proyecto y cree una aplicación ClickOnce en la carpeta de publicación. Esto equivale a seleccionar el comando Publicar en el IDE.
Este comando ejecuta msbuild.exe, que está en la ruta de acceso del entorno de símbolo del sistema de Visual Studio.
Un "destino" es un indicador para MSBuild acerca de cómo procesar el comando. Los destinos clave son el destino de "generación" y el de "publicación". El destino de generación es el equivalente a seleccionar el comando Build (o presionar F5) en el IDE. Si sólo desea generar su proyecto, escriba msbuild. Este comando funciona porque el destino de generación es el destino predeterminado para todos los proyectos generados por Visual Studio. Esto significa que no es necesario especificar explícitamente el destino de la generación. Por consiguiente, escribir msbuild es la misma operación que escribir msbuild /target:build.
El comando /target:publish indica a MSBuild que invoque el destino de publicación. El destino de publicación depende del destino de generación. Esto significa que la operación de publicación es un supraconjunto de la operación de generación. Por ejemplo, si realizara un cambio en uno de sus archivos de código fuente de Visual Basic o C#, el ensamblado correspondiente volvería a ser generado automáticamente por la operación de publicación.
Para obtener información acerca de cómo generar una implementación completa de ClickOnce utilizando la herramienta de línea de comandos Mage.exe para crear su manifiesto de ClickOnce, vea Tutorial: Implementar manualmente una aplicación ClickOnce.
Crear y generar una aplicación ClickOnce de Basic con MSBuild
Para crear y publicar un proyecto de ClickOnce
Haga clic en Nuevo proyecto en el menú Archivo. Aparecerá el cuadro de diálogo Nuevo proyecto.
Seleccione Aplicación para Windows y asígnele el nombre CmdLineDemo.
En el menú Generar, haga clic en el comando Publicar.
Este paso asegura que el proyecto está correctamente configurado para generar una implementación de aplicaciones ClickOnce.
Aparece el Asistente para publicación.
En el Asistente para publicación, haga clic en Finalizar.
Visual Studio genera y muestra la página Web predeterminada, denominada Publish.htm.
Guarde su proyecto y anote la ubicación de la carpeta en la que se almacena.
Los pasos anteriores crean un proyecto de ClickOnce que se ha publicado por primera vez. Ahora se puede reproducir la generación fuera del IDE.
Para reproducir la generación desde la línea de comandos
Salga de Visual Studio.
En el menú Inicio de Windows, haga clic en Todos los programas, en Microsoft Visual Studio 2008, en Visual Studio Tools y después en Símbolo del sistema de Visual Studio 2008. Esto debe abrir un símbolo del sistema en la carpeta raíz del usuario actual.
En el Símbolo del sistema de Visual Studio 2008, cambie el directorio actual a la ubicación del proyecto que generó anteriormente. Por ejemplo, escriba chdir Mis Documentos\Visual Studio\Projects\CmdLineDemo.
Para quitar los archivos existentes generados en "Para crear y publicar un proyecto de ClickOnce ", escriba rmdir /s publish.
Este paso es opcional, pero garantiza que todos los archivos nuevos fueron creados por el sistema de generación de línea de comandos.
Escriba msbuild /target: publish.
Los pasos anteriores generarán una implementación de aplicaciones ClickOnce completa en una subcarpeta del proyecto denominada Publish. CmdLineDemo.application es el manifiesto de implementación de ClickOnce. La carpeta CmdLineDemo_1.0.0.0 contiene los archivos CmdLineDemo.exe y CmdLineDemo.exe.manifest, el manifiesto de la aplicación ClickOnce. Setup.exe es el programa previo, que de manera predeterminada está configurado para instalar .NET Framework. La carpeta DotNetFX contiene los archivos redistribuibles para .NET Framework. Éste es el conjunto de archivos completo que necesita para implementar su aplicación en el Web o mediante UNC o CD/DVD.
Propiedades de publicación
Al publicar la aplicación siguiendo los procedimientos anteriores, el Asistente para publicación inserta las propiedades siguientes en el archivo de proyecto. Estas propiedades influyen directamente en cómo se genera la aplicación ClickOnce.
En CmdLineDemo.vbproj / CmdLineDemo.csproj:
<AssemblyOriginatorKeyFile>WindowsApplication3.snk</AssemblyOriginatorKeyFile>
<GenerateManifests>true</GenerateManifests>
<TargetZone>LocalIntranet</TargetZone>
<PublisherName>Microsoft</PublisherName>
<ProductName>CmdLineDemo</ProductName>
<PublishUrl>https://localhost/CmdLineDemo</PublishUrl>
<Install>true</Install>
<ApplicationVersion>1.0.0.*</ApplicationVersion>
<ApplicationRevision>1</ApplicationRevision>
<UpdateEnabled>true</UpdateEnabled>
<UpdateRequired>false</UpdateRequired>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdateUrlEnabled>false</UpdateUrlEnabled>
<IsWebBootstrapper>true</IsWebBootstrapper>
<BootstrapperEnabled>true</BootstrapperEnabled>
Puede reemplazar cualquiera de estas propiedades en la línea de comandos sin modificar el propio archivo de proyecto. Por ejemplo, el texto siguiente generará la implementación de la aplicación ClickOnce sin el programa previo:
msbuild /target:publish /property:BootstrapperEnabled=false
Las propiedades de publicación se controlan en Visual Studio desde las páginas de propiedades Publicar, Seguridad y Firma del Diseñador de proyectos. A continuación se incluye una descripción de las propiedades de publicación, junto con una indicación de cómo se establece cada una en las diversas páginas de propiedades del diseñador de aplicaciones:
- AssemblyOriginatorKeyFile determina el archivo clave utilizado para firmar sus manifiestos de la aplicación ClickOnce. Esta misma clave se puede utilizar también para asignar un nombre seguro a sus ensamblados. Esta propiedad se establece en la página Firma del Diseñador de proyectos.
Las propiedades siguientes se establecen en la página Seguridad:
Habilitar configuración de seguridad de ClickOnce determina si se generan manifiestos de ClickOnce. Cuando se crea un proyecto inicialmente, la generación de manifiestos de ClickOnce está desactivada de manera predeterminada. El asistente activará automáticamente este marcador cuando publique por primera vez.
TargetZone determina el nivel de confianza que se va a emitir en su manifiesto de la aplicación ClickOnce. Los valores posibles son "Internet", "LocalIntranet" y "Custom". Internet y LocalIntranet producirán un conjunto de permisos predeterminado que se emitirá en su manifiesto de la aplicación ClickOnce. LocalIntranet es el valor predeterminado y básicamente significa plena confianza. Custom indica que sólo los permisos especificados explícitamente en el archivo app.manifest base se emitirán en el manifiesto de la aplicación ClickOnce. El archivo app.manifest es un archivo de manifiesto parcial que contiene simplemente las definiciones de información de confianza. Es un archivo oculto que se agrega automáticamente al proyecto cuando se configuran los permisos en la página Seguridad.
Las propiedades siguientes se establecen en la página Publicar:
PublishUrl es la ubicación donde se publicará la aplicación en el IDE. Se inserta en el manifiesto de la aplicación ClickOnce si no se especifica la propiedad InstallUrl o UpdateUrl.
ApplicationVersion especifica la versión de la aplicación ClickOnce. Éste es un número de versión de cuatro dígitos. Si el último dígito es "*", ApplicationRevision se sustituye por el valor insertado en el manifiesto durante la generación.
ApplicationRevision especifica la revisión. Se trata de un número entero que se incrementará cada vez que publique en el IDE. Observe que no se incrementa automáticamente para las generaciones realizadas desde la línea de comandos.
Install determina si la aplicación es una aplicación instalada o una aplicación de ejecución en Web.
InstallUrl (no se muestra) es la ubicación desde donde los usuarios instalarán la aplicación. Si especificó algún valor, éste se grabará en el programa previo de setup.exe si está habilitada la propiedad IsWebBootstrapper. También se inserta en el manifiesto de la aplicación si no se especifica la propiedad UpdateUrl.
SupportUrl (no se muestra) es la ubicación vinculada en el cuadro de diálogo Agregar o quitar programas para una aplicación instalada.
Las propiedades siguientes se establecen en el cuadro de diálogo Actualizaciones de la aplicación, a las que se tiene acceso desde la página Publicar.
UpdateEnabled indica si la aplicación debe comprobar o no la existencia de actualizaciones.
UpdateMode especifica que las actualizaciones sean de primer plano o de fondo.
UpdateInterval especifica la frecuencia con qué la aplicación debe comprobar si existen actualizaciones.
UpdateIntervalUnits especifica si el valor de UpdateInterval está en unidades de horas, días o semanas.
UpdateUrl (no se muestra) es la ubicación desde la que la aplicación recibirá las actualizaciones. Si especificó algún valor, éste se insertará en el manifiesto de la aplicación.
Las propiedades siguientes se establecen en el cuadro de diálogo Opciones de publicación, a las que se tiene acceso desde la página Publicar.
PublisherName especifica el nombre del editor mostrado en el indicador que aparece al instalar o ejecutar la aplicación. En el caso de una aplicación instalada, se utiliza también para especificar el nombre de la carpeta en el menú Inicio.
ProductName especifica el nombre del producto mostrado en el indicador que aparece al instalar o ejecutar la aplicación. En el caso de una aplicación instalada, se utiliza también para especificar el nombre del acceso directo que aparecerá en el menú Inicio.
Las propiedades siguientes se establecen en el cuadro de diálogo Requisitos previos, al que se tiene acceso desde la página Publicar.
BootstrapperEnabled determina si generar o no el programa previo de setup.exe.
IsWebBootstrapper determina si el programa previo de setup.exe funciona sobre el Web o en modo basado en discos.
InstallURL, SupportUrl y PublishURL
Puede especificar tres direcciones URL: InstallURL, SupportUrl y PublishURL. Si está publicando en una dirección URL de Web, únicamente debe especificar la dirección de PublishURL. Sólo necesita especificar las otras direcciones URL si son diferentes de PublishURL. En el IDE, quizá desee publicar en una ruta de acceso diferente a la que usan los usuarios finales para la instalación. Por ejemplo, puede establecer PublishURL en una ruta de acceso de FTP e InstallURL en una Dirección URL de Web. En este caso, PublishURL sólo se utiliza en el IDE para transferir los archivos, pero no en las generaciones de la línea de comandos. Finalmente, puede utilizar UpdateUrl si desea publicar una aplicación ClickOnce que se actualice automáticamente desde una ubicación distinta a la de instalación.
Vea también
Tareas
Tutorial: Implementar manualmente una aplicación ClickOnce
Conceptos
Información general sobre MSBuild
Otros recursos
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Julio de 2008 |
Se ha actualizado la lista de valores válidos para la propiedad TargetZone. |
Corrección de errores de contenido. |