2008-10-06 17 views
9

J'ai une collection de packages ClickOnce dans un dossier de publication sur un lecteur réseau et devez les déplacer tous vers un autre serveur (notre machine DR).Comment faire pour déplacer un package de déploiement ClickOnce

Après copier/coller tout le répertoire et le fonctionnement des installations sur la nouvelle machine, je reçois un message d'erreur indiquant qu'il ne peut pas trouver l'ancien chemin:

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'.

Une fois que je change l'installation URL au point à mon nouvelle machine, je reçois une autre erreur:

Manifest XML signature is not valid.

+ The digital signature of the object did not verify.

J'ai essayé d'utiliser MageUI.exe, de modifier l'URL de déploiement, mais il demande un certificat, que je n'ai pas.

Qu'est-ce que je fais de mal et comment puis-je déplacer avec succès les paquets ClickOnce publiés?

Répondre

10

J'ai trouvé une solution:

Tout d'abord, en utilisant MageUI, j'ai changé le "Point de départ" sous "Options de déploiement". Lors de la sauvegarde, cela m'a incité à signer avec une clé, que j'ai créée sur place. J'ai ensuite couru le fichier setup.exe, et cela a fonctionné sans faute. Après avoir vérifié quels fichiers avaient changé, j'ai réalisé qu'il n'y avait qu'un fichier: le fichier manifeste de l'application (myAppName.application). Les seules choses qui ont changé dans le fichier ont été le fournisseur de déploiement et la signature (qui est ce que j'ai changé en MageUI). Une fois que je me suis rendu compte comment c'était de le faire, j'ai utilisé la version en ligne de commande de MageUI appelée Mage.exe, qui vient avec le SDK.

est en dessous du fichier batch j'ai créé pour faire tout cela sur la ligne de commande:

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

Je peux maintenant utiliser pour exécuter contre toutes mes applications publiées d'une façon rapide et facile. J'espère que ça aide.

1

Je crois que vous avez un certificat. Vous en avez besoin pour créer un déploiement ClickOnce. Visual Studio peut avoir créé automatiquement un autosigné pour vous. Je ne suis pas trop familier avec le processus, j'espère que quelqu'un avec une réponse plus définitive va s'introduire. Aussi, avez-vous essayé l'outil MageUI, peut-être qu'il sera plus évident ce que vous devez faire en utilisant une interface graphique.

3

j'attendre d'avoir à effectuer les tâches suivantes:

  • Copiez le contenu du dossier en cours vers un nouvel emplacement
  • Pour chaque application: -
    • Change « dossier d'installation » au nouvel emplacement
    • Publier comme nouvelle version
    • Modifier le 'Dossier de publication' au nouvel emplacement
    • Publier en tant que nouvelle version

configurations nouvelles exécutées à partir du nouveau dossier devrait fonctionner et mettre à jour ceux qui existent déjà devraient regarder au bon endroit.

Tout cela n'a pas été testé, mais je suis sûr que ce que je l'ai fait auparavant ...

Edit:

De toute évidence, vous aurez à exécuter ces travaux en parallèle pendant un certain laps de temps , mais comme il s'agit d'une application interne, le pire qui se produira lorsque vous basculerez sur le nouvel emplacement est que vous devrez informer l'utilisateur du nouvel emplacement pour obtenir une application 'fixe'

+0

Cela fonctionne, bien que je l'ai trouvé plus explicite pour changer le "chemin de mise à jour", puis le dossier de publication. – bouvard

8

Sans entrer dans le nouveau beaucoup de détails, cela devrait vous aider à démarrer.

Les manifestes ClickOnce doivent être signés avec un certificat pour des raisons de sécurité. Vous pouvez acheter un certificat de signature de code ou générer un certificat de test. L'inconvénient principal d'un certificat de test est que votre éditeur d'application apparaîtra comme "Inconnu" plutôt que le nom de votre entreprise. Dans Visual Studio, ouvrez les propriétés de votre projet et allez dans l'onglet "Signature", sélectionnez "Signer les manifestes ClickOnce" et "Créer un certificat de test". Ensuite, cliquez sur "Plus de détails" pour faire apparaître une boîte de dialogue et cliquez sur "Installer le certificat".Cela vous guidera à travers un assistant pour obtenir votre certificat de test dans votre magasin. Assurez-vous de le mettre dans le magasin "personnel".

Vous pouvez maintenant utiliser MageUI pour éditer vos manifestes. Chaque fois que vous enregistrez, vous serez invité à signer les manifestes, mais vous devriez maintenant pouvoir sélectionner le certificat de test que vous venez de stocker. Toujours modifier/signer le manifeste de l'application avant de modifier/signer le manifeste de déploiement. Ceci est déroutant car le manifeste d'application n'est pas le fichier avec l'extension .application.

Bonne chance!

Questions connexes