Tutorial: Implementar manualmente una aplicación ClickOnce que no requiera el proceso de volver a firmar y que conserve la información de marca comercial
Cuando crea una aplicación ClickOnce y, a continuación, se la proporciona a un cliente para que la publique e implemente, tradicionalmente el cliente tenía que actualizar el manifiesto de implementación y volver a firmarlo. Aunque este sigue siendo el método más recomendable en la mayoría de los casos, .NET Framework 3.5 permite crear implementaciones de ClickOnce que los clientes pueden implementar sin tener que volver a generar un nuevo manifiesto de implementación. Para obtener más información, consulte Implementar aplicaciones ClickOnce para los servidores de pruebas y producción sin nueva firma.
Cuando crea una aplicación ClickOnce y, a continuación, se la da a un cliente para que la publique e implemente, la aplicación puede utilizar la marca comercial del cliente o conservar la suya propia. Por ejemplo, si se trata de una única aplicación propia, es posible que desee mantener su marca comercial. Si la aplicación, por el contrario, está muy personalizada para cada cliente, quizás desee utilizar la marca comercial del cliente. .NET Framework 3.5 le permite conservar su marca comercial, la información del editor y la firma de seguridad cuando proporciona una aplicación a una organización para que la implemente. Para obtener más información, consulte Crear aplicaciones ClickOnce para que las implementen terceros.
Nota
En este tutorial creará manualmente las implementaciones utilizando la herramienta de línea de comandos Mage.exe o la herramienta gráfica MageUI.exe. Para obtener más información sobre las implementaciones manuales, vea Tutorial: Implementar manualmente una aplicación ClickOnce.
Requisitos previos
Para seguir los pasos de este tutorial, necesitará lo siguiente:
Una aplicación de Windows Forms que esté lista para su implementación. Esta aplicación la denominaremos WindowsFormsApp1.
Visual Studio o SDK de Windows.
Para implementar una aplicación ClickOnce que sea compatible con diferentes implementaciones y marcas comerciales mediante Mage.exe
Abra un símbolo del sistema de Visual Studio o del Windows SDK y cambie al directorio donde va a guardar los archivos de ClickOnce.
Cree un directorio con el nombre de la versión actual de la implementación. Si esta es la primera vez que implementa la aplicación, es probable que elija 1.0.0.0.
Nota
La versión de la implementación puede ser distinta de la versión de los archivos de aplicación.
Cree un subdirectorio denominado bin y copie allí todos los archivos de la aplicación, incluidos los archivos ejecutables, ensamblados, recursos y archivos de datos.
Genere el manifiesto de aplicación con una llamada a Mage.exe.
mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin -UseManifestForTrust true -Publisher "A. Datum Corporation"
Firme el manifiesto de aplicación con el certificado digital.
mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
Genere el manifiesto de implementación con una llamada a Mage.exe. De forma predeterminada, Mage.exe marcará la implementación de ClickOnce como una aplicación instalada para que se pueda ejecutar tanto en línea como sin conexión. Para hacer que la aplicación esté disponible solo cuando el usuario esté en línea, utilice el argumento -i con el valor f. Como esta aplicación aprovechará las ventajas de la característica de utilizar varias implementaciones, excluya el argumento -providerUrl en Mage.exe. (En las versiones de .NET Framework anteriores a la versión 3.5, si se excluyera el argumento -providerUrl de una aplicación sin conexión, se produciría un error).
mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest
No firme el manifiesto de implementación.
Proporcione todos los archivos al cliente, que implementará la aplicación en su red.
En este punto, el cliente debe firmar el manifiesto de implementación con su propio certificado. Por ejemplo, si el cliente trabaja para una compañía llamada Adventure Works, puede generar un certificado autofirmado mediante la herramienta MakeCert.exe. A continuación, utilizará la herramienta Pvk2pfx.exe para combinar los archivos creados por MakeCert.exe en un archivo PFX que se puede pasar a Mage.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
El cliente utilizará después este certificado para firmar el manifiesto de implementación.
mage -Sign WindowsFormsApp1.application -CertFile MyCert.pfx
El cliente implementa la aplicación para sus usuarios.
Para implementar una aplicación ClickOnce que sea compatible con diferentes implementaciones y marcas comerciales mediante MageUI.exe
Abra un símbolo del sistema de Visual Studio o del Windows SDK y navegue al directorio donde va a guardar los archivos de ClickOnce.
Cree un subdirectorio denominado bin y copie allí todos los archivos de la aplicación, incluidos los archivos ejecutables, ensamblados, recursos y archivos de datos.
Cree un subdirectorio con el nombre de la versión actual de la implementación. Si esta es la primera vez que implementa la aplicación, es probable que elija 1.0.0.0.
Nota
La versión de la implementación puede ser distinta de la versión de los archivos de aplicación.
Mueva el directorio \bin al directorio que creó en el paso 2.
Inicie la herramienta gráfica MageUI.exe.
MageUI.exe
Cree un nuevo manifiesto de aplicación seleccionando Archivo, Nuevo, Manifiesto de la aplicación en el menú.
En la ficha Nombre predeterminada, escriba el nombre y el número de versión de esta implementación. Proporcione también un valor para Editor, que se utilizará como nombre de carpeta en el vínculo de acceso directo de la aplicación del menú Inicio cuando se implemente.
Seleccione la ficha Opciones de la aplicación y haga clic en Usar manifiesto de la aplicación para la información de confianza. De este modo, permitirá que terceras personas personalicen la marca comercial de esta aplicación ClickOnce.
Seleccione la ficha Archivos y haga clic en el botón Examinar situado junto al cuadro de texto Directorio de aplicación.
Seleccione el directorio que contiene los archivos de aplicación que creó en el paso 2 y haga clic en Aceptar en el cuadro de diálogo de selección de la carpeta.
Haga clic en el botón Rellenar para agregar todos sus archivos de aplicación a la lista de archivos. Si la aplicación contiene más de un archivo ejecutable, marque el archivo ejecutable principal de esta implementación como la aplicación de inicio seleccionando Punto de entrada en la lista desplegable Tipo de archivo. (Si sólo contiene un archivo ejecutable, MageUI.exe lo marcará para usted.)
Seleccione la ficha Permisos necesarios y seleccione el nivel de confianza que la aplicación necesita afirmar. El valor predeterminado es Plena confianza, que se adecuará a la mayoría de las aplicaciones.
Seleccione Archivo, Guardar en el menú, y guarde el manifiesto de aplicación. Se le solicitará que firme el manifiesto de aplicación al guardarlo.
Si tiene un certificado almacenado como un archivo en el sistema de archivos, utilice la opción Firmar como archivo de certificados y seleccione el certificado en el sistema de archivos a través del botón de puntos suspensivos (...).
O bien
Si el certificado se guarda en un almacén de certificados al que se puede obtener acceso desde el equipo, seleccione la opción Firmar con certificado almacenado y seleccione después el certificado en la lista suministrada.
Seleccione Archivo, Nuevo, Manifiesto de implementación en el menú para crear el manifiesto de implementación y, en la pestaña Nombre, especifique un nombre y un número de versión (en este ejemplo, 1.0.0.0).
Cambie a la ficha Actualizar y especifique la frecuencia de actualización que desea para esta aplicación. Si la aplicación utiliza la API de implementación de ClickOnce para comprobar las actualizaciones, desactive la casilla Esta aplicación debe buscar actualizaciones.
Vaya a la ficha Referencia de la aplicación. Se pueden rellenar previamente todos los valores de esta ficha haciendo clic en el botón Seleccionar manifiesto y seleccionando el manifiesto de aplicación que ha creado en los pasos anteriores.
Elija Guardar y guarde el manifiesto de implementación en el disco. Se le solicitará que firme el manifiesto de aplicación al guardarlo. Haga clic en Cancelar para guardar el manifiesto sin firmarlo.
Proporcione todos los archivos de la aplicación al cliente.
En este punto, el cliente debe firmar el manifiesto de implementación con su propio certificado. Por ejemplo, si el cliente trabaja para una compañía llamada Adventure Works, puede generar un certificado autofirmado mediante la herramienta MakeCert.exe. A continuación, utilizará la herramienta Pvk2pfx.exe para combinar los archivos creados por MakeCert.exe en un archivo PFX que se puede pasar a MageUI.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Una vez que se ha generado el certificado, el cliente puede firmar el manifiesto de implementación; para ello, debe abrirlo en MageUI.exe y después guardarlo. Cuando aparezca el cuadro de diálogo de la firma, el cliente debe seleccionar la opción Firmar como archivo de certificados y elegir el archivo PFX que guardó en disco.
El cliente implementa la aplicación para sus usuarios.
Vea también
Referencia
Mage.exe (Herramienta de generación y edición de manifiestos)
MageUI.exe (Herramienta de generación y edición de manifiestos, cliente gráfico)