2008-10-06 10 views
9

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).Cómo mover un paquete de implementación ClickOnce

Después de copiar/pegar el directorio completo y en funcionamiento las configuraciones en la nueva máquina aparece un mensaje de error que indica que no puede encontrar la ruta antigua:

Activation of ...MyClickOnceApp.application resulted in exception. Following failure messages were detected:

+ Downloading file://oldMachine/c$/MyClickOnceApp.application did not succeed.

+ Could not find a part of the path '\\oldMachine\c$\MyClickOnceApp.application'.

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

Manifest XML signature is not valid.

+ The digital signature of the object did not verify.

he intentado usar MageUI.exe, para modificar el URL de despliegue, pero pide un certificado, que no tengo.

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

Respuesta

10

he encontrado una solución:

En primer lugar, el uso de MageUI, he cambiado el "Inicio Ubicación" 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 han cambiado, me di cuenta de que era solo el único archivo: el archivo de manifiesto de la aplicación (myAppName.application). Las únicas cosas que han cambiado en el archivo eran el proveedor de despliegue y la firma (que es lo que ha cambiado en MageUI).

Una vez que me di cuenta de que era así, 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 he creado para hacer todo esto en la línea de comandos:

REM Set the enviroment
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"

REM Update the deployment provider URL
mage -Update %1.application -pu %2

REM Sign the manifest with our key
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.

1

Creo que usted tiene 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.

3

que se puede esperar a tener que hacer las siguientes: contenido de la carpeta actual

  • Copiar a la nueva ubicación
  • Para cada aplicación: -
    • Cambio 'carpeta de instalación' en 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

nuevas configuraciones van desde la nueva carpeta debe trabajar y actualizar los existentes debe buscar en el lugar correcto.

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

Editar:

Obviamente, usted tendrá que ejecutar estos en paralelo para una cierta cantidad de tiempo , pero como es una aplicación interna, lo peor que sucederá cuando finalmente te 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'

+0

Esto funciona, aunque me pareció más explícito cambiar la "Ruta de actualización" y luego la carpeta Publicar. – bouvard

8

Sin entrar también muchos detalles, esto debería ayudarte.

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 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 puede usar MageUI para editar sus 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 .pplication.

¡Buena suerte!

Cuestiones relacionadas