Tutorial: Implementación manual de una aplicación ClickOnce

Si no puede usar Visual Studio para implementar la aplicación o si necesita usar características de implementación avanzadas, como Implementación de aplicaciones de confianza, debe usar la herramienta de línea de comandosMage.exepara crear los ClickOnce ClickOnce manifiestos. En este tutorial se describe cómo crear una implementación mediante la versión de línea de comandos (Mage.exe) o la versión gráfica ClickOnce (MageUI.exe) del Herramienta de generación y edición de manifiestos.**

Requisitos previos

Este tutorial tiene algunos requisitos previos y opciones que debe elegir antes de compilar una implementación.

  • Instale Mage.exe y MageUI.exe.

    Mage.exe y MageUI.exe forman parte de Kit de desarrollo de software de Windows (SDK) . Debe tener instalado o la versión del incluido Windows SDK Windows SDK con Visual Studio. Para obtener más información, vea Windows SDK en MSDN.

  • Proporcione una aplicación para implementar.

    En este tutorial se supone que tiene una Windows que está listo para implementar. Esta aplicación se denominará AppToDeploy.

  • Determine cómo se distribuirá la implementación.

    Las opciones de distribución incluyen: Web, recurso compartido de archivos o CD. Para obtener más información, consulta ClickOnce Security and Deployment.

  • Determine si la aplicación requiere un nivel elevado de confianza.

    Si la aplicación requiere plena confianza (por ejemplo, acceso completo al sistema del usuario), puede usar la opción deMage.exe-TrustLevel para establecer esto. Si desea definir un conjunto de permisos personalizado para la aplicación, puede copiar la sección de permisos de Internet o intranet de otro manifiesto, modificarlo para adaptarlo a sus necesidades y agregarlo al manifiesto de aplicación mediante un editor de texto oMageUI.exe. Para más información, consulte Introducción a la implementación de aplicaciones de confianza.

  • Obtenga un certificado Authenticode.

    Debe firmar la implementación con un certificado Authenticode. Puede generar un certificado de prueba mediante las herramientas Visual Studio, MageUI.exe o MakeCert.exe yPvk2Pfx.exe, o bien puede obtener un certificado de una entidad de certificación (CA). Si decide usar la implementación de aplicaciones de confianza, también debe realizar una instalación única del certificado en todos los equipos cliente. Para más información, consulte Introducción a la implementación de aplicaciones de confianza.

    Nota

    También puede firmar la implementación con un certificado CNG que puede obtener de una entidad de certificación.

  • Asegúrese de que la aplicación no tiene un manifiesto con información de UAC.

    Debe determinar si la aplicación contiene un manifiesto con información de Control de cuentas de usuario (UAC), como un <dependentAssembly> elemento . Para examinar un manifiesto de aplicación, puede usar la Windows Sysinternals Sigcheck.

    Si la aplicación contiene un manifiesto con detalles de UAC, debe volver a compilarlo sin la información de UAC. Para un proyecto de C# en Visual Studio, abra las propiedades del proyecto y seleccione la pestaña Aplicación. En la lista desplegable Manifiesto, seleccione Crear aplicación sin un manifiesto. Para un proyecto Visual Basic en Visual Studio, abra las propiedades del proyecto, seleccione la pestaña Aplicación y haga clic en Ver UAC Configuración. En el archivo de manifiesto abierto, quite todos los elementos del único <asmv1:assembly> elemento.

  • Determine si la aplicación requiere requisitos previos en el equipo cliente.

    ClickOnceLas aplicaciones implementadas Visual Studio pueden incluir un programa previo de instalación (setup.exe) con la implementación. En este tutorial se crean los dos manifiestos necesarios para una ClickOnce implementación. Puede crear un programa previo mediante la tarea GenerateBootstrapper.

Para implementar una aplicación con la herramienta Mage.exe línea de comandos

  1. Cree un directorio donde almacenará los archivos ClickOnce de implementación.

  2. En el directorio de implementación que acaba de crear, cree un subdirectorio de versión. Si es la primera vez que implementa la aplicación, asigne al subdirectorio de versión el nombre 1.0.0.0.

    Nota

    La versión de la implementación puede ser distinta de la versión de la aplicación.

  3. Copie todos los archivos de aplicación en el subdirectorio de versión, incluidos los archivos ejecutables, los ensamblados, los recursos y los archivos de datos. Si es necesario, puede crear subdirectorios adicionales que contengan archivos adicionales.

  4. Abra o Windows SDK abra Visual Studio símbolo del sistema y cambie al subdirectorio de versión.

  5. Cree el manifiesto de aplicación con una llamada a Mage.exe. La siguiente instrucción crea un manifiesto de aplicación para que el código compilado se ejecute en el procesador Intel x86.

    mage -New Application -Processor x86 -ToFile AppToDeploy.exe.manifest -name "My App" -Version 1.0.0.0 -FromDirectory .
    

    Nota

    Asegúrese de incluir el punto (.) después de la -FromDirectory opción , que indica el directorio actual. Si no incluye el punto, debe especificar la ruta de acceso a los archivos de aplicación.

  6. Firme el manifiesto de aplicación con el certificado Authenticode. Reemplace mycert.pfx por la ruta de acceso al archivo de certificado. Reemplace passwd por la contraseña del archivo de certificado.

    mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwd
    

    A partir del SDK de .NET Framework 4.6.2, que se distribuye con Visual Studio y con el SDK de Windows, mage.exe firma manifiestos con CNG y con certificados Authenticode. Use los mismos parámetros de línea de comandos que con los certificados Authenticode.

  7. Cambie a la raíz del directorio de implementación.

  8. Genere el manifiesto de implementación con una llamada a Mage.exe. De forma predeterminada, Mage.exe marcará la implementación como una aplicación instalada, para que se pueda ejecutar tanto en línea ClickOnce como sin conexión. Para que la aplicación esté disponible solo cuando el usuario esté en línea, use la -Install opción con un valor de false . Si usa el valor predeterminado y los usuarios instalarán la aplicación desde un sitio web o recurso compartido de archivos, asegúrese de que el valor de la opción apunta a la ubicación del manifiesto de aplicación en el servidor web o recurso -ProviderUrl compartido.

    mage -New Deployment -Processor x86 -Install true -Publisher "My Co." -ProviderUrl "\\myServer\myShare\AppToDeploy.application" -AppManifest 1.0.0.0\AppToDeploy.exe.manifest -ToFile AppToDeploy.application
    
  9. Firme el manifiesto de implementación con el certificado Authenticode o CNG.

    mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
    
  10. Copie todos los archivos del directorio de implementación en el destino o medio de implementación. Puede ser una carpeta de un sitio web o un sitio FTP, un recurso compartido de archivos o un CD-ROM.

  11. Proporcione a los usuarios la dirección URL, UNC o los medios físicos necesarios para instalar la aplicación. Si proporciona una dirección URL o un UNC, debe proporcionar a los usuarios la ruta de acceso completa al manifiesto de implementación. Por ejemplo, si AppToDeploy se implementa en en el directorio http://webserver01/ AppToDeploy, la ruta de acceso url completa sería http://webserver01/AppToDeploy/AppToDeploy.application .

Para implementar una aplicación con la MageUI.exe gráfica

  1. Cree un directorio donde almacenará los archivos ClickOnce de implementación.

  2. En el directorio de implementación que acaba de crear, cree un subdirectorio de versión. Si es la primera vez que implementa la aplicación, asigne al subdirectorio de versión el nombre 1.0.0.0.

    Nota

    La versión de la implementación probablemente sea distinta de la versión de la aplicación.

  3. Copie todos los archivos de aplicación en el subdirectorio de versión, incluidos los archivos ejecutables, los ensamblados, los recursos y los archivos de datos. Si es necesario, puede crear subdirectorios adicionales que contengan archivos adicionales.

  4. Inicie la MageUI.exe gráfica.

    MageUI.exe
    
  5. Cree un nuevo manifiesto de aplicación seleccionando Archivo, Nuevo, Manifiesto de aplicación en el menú.

  6. En la pestaña Nombre predeterminada, escriba el nombre y el número de versión de esta implementación. Especifique también el procesador para el que se ha creado la aplicación, como x86.

  7. Seleccione la pestaña Archivos y, a continuación, seleccione el botón de puntos suspensivos (...) situado junto al cuadro de texto Directorio de la aplicación. Aparece un cuadro de diálogo Buscar carpeta.

  8. Seleccione el subdirectorio de versión que contiene los archivos de aplicación y, a continuación, seleccione Aceptar.

  9. Si va a implementar desde Internet Information Services (IIS), active la casilla Al rellenar para agregar la extensión .deploy a cualquier archivo que no la tenga.

  10. Vaya al botón Rellenar para agregar todos los 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 para esta implementación como aplicación de inicio seleccionando Punto de entrada en la lista desplegable Tipo de archivo. (Si la aplicación solo contiene un archivo ejecutable, MageUI.exe lo marcará por usted).

  11. Seleccione la pestaña Permisos necesarios y seleccione el nivel de confianza que necesita que la aplicación aserte. El valor predeterminado es FullTrust, que será adecuado para la mayoría de las aplicaciones.

  12. Seleccione Archivo, Guardar como en el menú. Aparece un cuadro de diálogo Opciones de firma en el que se le pide que firme el manifiesto de aplicación.

  13. Si tiene un certificado almacenado como un archivo en el sistema de archivos, use la opción Firmar con archivo de certificado y seleccione el certificado en el sistema de archivos mediante el botón de puntos suspensivos (...). A continuación, escriba la contraseña del certificado.

    O bien

    Si el certificado se mantiene en un almacén de certificados accesible desde el equipo, seleccione la opción Firmar con certificado almacenado y seleccione el certificado en la lista proporcionada.

  14. Seleccione Aceptar para firmar el manifiesto de aplicación. Aparece el cuadro de diálogo Guardar como .

  15. En el cuadro de diálogo Guardar como , especifique el directorio de versión y, a continuación, seleccione Guardar.

  16. Seleccione Archivo, Nuevo, Manifiesto de implementación en el menú para crear el manifiesto de implementación.

  17. En la pestaña Nombre, especifique un nombre y un número de versión para esta implementación (1.0.0.0 en este ejemplo). Especifique también el procesador para el que se ha creado la aplicación, como x86.

  18. Seleccione la pestaña Descripción y especifique los valores para Publisher y Product. ( El producto es el nombre que se da a la aplicación en el Windows menú Inicio cuando la aplicación se instala en un equipo cliente para su uso sin conexión).

  19. Seleccione la pestaña Opciones de implementación y, en el cuadro de texto Ubicación de inicio , especifique la ubicación del manifiesto de aplicación en el servidor web o recurso compartido. Por ejemplo, \ \myServer\myShare\AppToDeploy.application.

  20. Si agregó la extensión .deploy en un paso anterior, seleccione también Use .deploy file name extension here (Usar la extensión de nombre de archivo .deploy aquí).

  21. Seleccione la pestaña Opciones de actualización y especifique la frecuencia con la que desea que esta aplicación se actualice. Si la aplicación usa para buscar actualizaciones, desactive la casilla Esta UpdateCheckInfo aplicación debe buscar actualizaciones.

  22. Seleccione la pestaña Referencia de la aplicación y, a continuación, vaya al botón Seleccionar manifiesto. Aparece un cuadro de diálogo abrir.

  23. Seleccione el manifiesto de aplicación que creó anteriormente y, a continuación, seleccione Abrir.

  24. Seleccione Archivo, Guardar como en el menú. Aparece un cuadro de diálogo Opciones de firma que le pide que firme el manifiesto de implementación.

  25. Si tiene un certificado almacenado como un archivo en el sistema de archivos, use la opción Firmar con archivo de certificado y seleccione el certificado en el sistema de archivos mediante el botón de puntos suspensivos (...). A continuación, escriba la contraseña del certificado.

    O bien

    Si el certificado se mantiene en un almacén de certificados accesible desde el equipo, seleccione la opción Firmar con certificado almacenado y seleccione el certificado en la lista proporcionada.

  26. Vaya a Aceptar para firmar el manifiesto de implementación. Aparece el cuadro de diálogo Guardar como .

  27. En el cuadro de diálogo Guardar como , suba un directorio a la raíz de la implementación y, a continuación, seleccione Guardar.

  28. Copie todos los archivos del directorio de implementación en el destino o el medio de implementación. Puede ser una carpeta de un sitio web o un sitio FTP, un recurso compartido de archivos o un CD-ROM.

  29. Proporcione a los usuarios la dirección URL, el UNC o los medios físicos necesarios para instalar la aplicación. Si proporciona una dirección URL o un UNC, debe proporcionar a los usuarios la ruta de acceso completa al manifiesto de implementación. Por ejemplo, si AppToDeploy se implementa en http://webserver01/ en el directorio AppToDeploy, la ruta de acceso de dirección URL completa sería http://webserver01/AppToDeploy/AppToDeploy.application .

Pasos siguientes

Cuando necesite implementar una nueva versión de la aplicación, cree un nuevo directorio denominado después de la nueva versión (por ejemplo, 1.0.0.1) y copie los nuevos archivos de aplicación en el nuevo directorio. A continuación, debe seguir los pasos anteriores para crear y firmar un nuevo manifiesto de aplicación, y actualizar y firmar el manifiesto de implementación. Tenga cuidado de especificar la misma versión superior tanto en elMage.execomo en las llamadas, ya que solo actualiza las versiones superiores, con el entero más a la -New izquierda más -Update ClickOnce significativo. Si usóMageUI.exe, puede actualizar el manifiesto de implementación si lo abre, selecciona la pestaña Referencia de la aplicación, vaya al botón Seleccionar manifiesto y, a continuación, seleccione el manifiesto de aplicación actualizado.

Vea también