Pregunta

Tengo una colección de paquetes ClickOnce en una carpeta de publicación en una unidad de red y necesito moverlos 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, aparece un mensaje de error que indica que no puede encontrar la ruta anterior:

  

Activación de   ... resultado de la aplicación MyClickOnceApp.pp   en excepcion Siguiendo el fracaso   se detectaron mensajes:

     

+ El archivo de descarga: //oldMachine/c$/MyClickOnceApp.application no tuvo éxito.

     

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

Una vez que cambie la instalación URL para que apunte a mi nueva máquina, recibo otro error :

  

La firma XML del manifiesto no es válida.

     

+ La firma digital del objeto no se verificó.

He intentado usar MageUI.exe , para modificar La URL de implementación, pero solicita un certificado, que no tengo.

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

¿Fue útil?

Solución

Encontré una solución:

En primer lugar, usando MageUI, cambié la " Ubicación de inicio " en " Opciones de implementación " ;. Al guardar, me pidió que firmara con una clave, que creé allí y luego. Luego ejecuté el archivo setup.exe , y funcionó sin fallar.

Después de comprobar qué archivos habían cambiado, me di cuenta de que solo era un archivo: el archivo de manifiesto de la aplicación ( myAppName.application ). Las únicas cosas que cambiaron en el archivo fueron proveedor de implementación y signature (que es lo que cambié en MageUI).

Una vez que me di cuenta de que era cómo hacerlo, usé 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 Establece el entorno
  llame a " C: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ VC \ vcvarsall.bat "

     

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

     

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

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

Otros consejos

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

Los manifiestos ClickOnce deben firmarse con un certificado por razones de seguridad. Puedes 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 empresa.

En Visual Studio, abra las propiedades de su proyecto y vaya a " Firma " pestaña, seleccione " Firmar los manifiestos 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 llevará a través de un asistente para obtener su certificado de prueba en su tienda. Asegúrate de ponerlo en el " Personal " tienda.

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 almacenar. 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!

Espero tener que hacer lo siguiente:

  • Copie el contenido de la carpeta actual a una nueva ubicación
  • Para cada aplicación: -
    • Cambie 'Carpeta de instalación' a la nueva ubicación
    • Publicar como una nueva versión
    • Cambie '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 fue lo que hice anteriormente ...

Editar:

Obviamente, tendrás que ejecutar estos en paralelo durante un período de tiempo determinado, pero como es una aplicación interna, lo peor que sucederá cuando finalmente cambies a la nueva ubicación es que tendrás que informar al usuario de la nueva ubicación para obtener una aplicación 'fija'

Creo que tienes un certificado. Necesitas uno para crear una implementación ClickOnce. Es posible que Visual Studio haya creado automáticamente uno autofirmado para usted. No estoy muy familiarizado con el proceso, espero que alguien con una respuesta más definitiva se incorpore. Además, si ha probado la herramienta MageUI, quizás sea más obvio lo que debe hacer usando una GUI.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top