visual usar tutorial studio publicar proyecto instalador crear aplicacion c# clickonce manifest

c# - usar - publicar proyecto visual studio 2015



Cómo mover un paquete de implementación de ClickOnce (4)

Creo que tienes un certificado. Necesitas uno para crear una implementación de ClickOnce. Visual Studio puede haber creado automáticamente uno auto-firmado para usted. No estoy muy familiarizado con el proceso, espero que alguien con una respuesta más definitiva lo integre. Además, si ha probado la herramienta MageUI, tal vez sea más obvio lo que necesita hacer con una GUI.

Tengo una colección de paquetes ClickOnce en una carpeta de publicación en una unidad de red y necesito moverlos a todos a otro servidor (nuestra máquina DR).

Después de copiar / pegar todo el directorio y ejecutar las configuraciones en la nueva máquina, recibo un mensaje de error que indica que no puede encontrar la ruta anterior:

La activación de ... MyClickOnceApp.application resultó en una excepción. Se detectaron los siguientes mensajes de falla:

+ La descarga del archivo: //oldMachine/c$/MyClickOnceApp.application no tuvo éxito.

+ No se pudo encontrar una parte de la ruta ''// oldMachine / c $ / MyClickOnceApp.application''.

Una vez que cambio la URL de instalación para apuntar a mi nueva máquina, aparece otro error:

La firma XML manifiesta no es válida.

+ La firma digital del objeto no se verificó.

Intenté usar MageUI.exe para modificar la URL de implementación, pero solicita un certificado, que no tengo.

¿Qué estoy haciendo mal y cómo muevo con éxito los paquetes publicados de ClickOnce?


Esperaría tener que hacer lo siguiente:

  • Copie los contenidos actuales de la carpeta a la nueva ubicación
  • Para cada aplicación:
    • Cambiar la ''carpeta de instalación'' a la nueva ubicación
    • Publicar como una nueva versión
    • Cambiar ''Carpeta de publicación'' a la nueva ubicación
    • Publicar como una nueva versión

Las nuevas configuraciones ejecutadas desde la nueva carpeta deberían funcionar y las existentes deberían actualizarse para buscar en el lugar correcto.

Todo esto no se ha probado, pero estoy bastante seguro de que eso es lo que hice anteriormente ...

Editar:

Obviamente, tendrá que ejecutarlos en paralelo durante un cierto período de tiempo, pero como se trata de una aplicación interna, lo peor que le pasará cuando finalmente se cambie a la nueva ubicación es que tendrá que informar al usuario de la nueva ubicación para obtener una aplicación ''fija''


Sin entrar en demasiados detalles, esto debería ponerlo en marcha.

Los manifiestos de ClickOnce deben estar firmados con un certificado por razones de seguridad. Puede comprar un certificado de firma de código o generar uno de prueba. El principal inconveniente de un certificado de prueba es que el editor de su aplicación aparecerá como "Desconocido" en lugar del nombre de su compañía.

En Visual Studio, abra las propiedades de su proyecto y vaya a la pestaña "Firma", seleccione "Firmar los manifiestos de ClickOnce" y "Crear certificado de prueba". A continuación, haga clic en "Más detalles" para abrir un cuadro de diálogo y haga clic en "Instalar certificado". Esto lo guiará a través de un asistente para obtener su certificado de prueba en su tienda. Asegúrate de ponerlo en la tienda "Personal".

Ahora puedes usar MageUI para editar tus manifiestos. Cada vez que lo guarde, le pedirá que firme los manifiestos, pero ahora debería poder seleccionar el certificado de prueba que acaba de guardar. Siempre edite / firme el manifiesto de la aplicación antes de editar / firmar el manifiesto de implementación. Esto es confuso porque el manifiesto de la aplicación no es el archivo con la extensión .application .

¡Buena suerte!


Encontré una solución:

En primer lugar, al usar MageUI, cambié la "Ubicación de inicio" en "Opciones de implementación". Al guardar, me impulsó a firmar con una clave, que creé allí mismo. Luego ejecuté el archivo setup.exe y funcionó sin falta.

Después de verificar qué archivos habían cambiado, me di cuenta de que era solo un archivo: el archivo de manifiesto de la aplicación ( myAppName.application ). Lo único que cambió en el archivo fue el proveedor de implementación y la firma (que es lo que cambié en MageUI).

Una vez que me di cuenta de que era así, utilicé la versión de línea de comandos de MageUI llamada Mage.exe , que viene con el SDK.

A continuación se muestra el archivo por lotes que creé para hacer todo esto en la línea de comando:

REM Establecer el entorno
llame a "C: / Archivos de programa / Microsoft Visual Studio 9.0 / VC / vcvarsall.bat"

REM Actualizar la URL del proveedor de implementación
mage -Update% 1.application -pu% 2

REM Firma el manifiesto con nuestra clave
mage -Sign% 1.application -CertFile C: / AppKey.pfx -Password myPw

Ahora puedo usar esto para ejecutar en contra de todas mis aplicaciones publicadas de una manera rápida y fácil. Espero que esto ayude.