Question

J'ai une collection de packages ClickOnce dans un dossier de publication sur un lecteur réseau et je dois les déplacer tous sur un autre serveur (notre machine DR).

Après avoir copié / collé tout le répertoire et exécuté les réglages sur le nouvel ordinateur, un message d'erreur indiquant qu'il ne trouve pas l'ancien chemin d'accès s'affiche:

  

Activation de   ... l'application MyClickOnceApp. résultait   en exception. Suite à un échec   des messages ont été détectés:

     

+ Le fichier de téléchargement: //oldMachine/c$/MyClickOnceApp.application n'a pas abouti.

     

+ Impossible de trouver une partie du chemin '\\ oldMachine \ c $ \ MyClickOnceApp.application'.

Une fois que je modifie l'installation avec URL pour pointer sur ma nouvelle machine, une autre erreur s'est produite. :

  

La signature XML du manifeste n'est pas valide.

     

+ La signature numérique de l'objet n'a pas été vérifiée.

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

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

Était-ce utile?

La solution

J'ai trouvé une solution:

Tout d'abord, à l'aide de MageUI, j'ai modifié le " Start Location " sous "Options de déploiement". Lors de la sauvegarde, cela m’a incité à signer avec une clé que j’ai créée ici et là. J'ai ensuite exécuté le fichier setup.exe , qui a fonctionné sans échec.

Après avoir vérifié quels fichiers avaient changé, j'ai compris qu'il ne s'agissait que d'un seul fichier: le fichier manifeste d'application ( myAppName.application ). Les seules choses qui ont changé dans le fichier sont le fournisseur de déploiement et la signature (c'est ce que j'ai changé dans MageUI).

Une fois que j'ai compris que c'était la procédure à suivre, j'ai utilisé la version en ligne de commande de MageUI appelée Mage.exe , fournie avec le SDK.

Ci-dessous le fichier de commandes que j'ai créé pour faire tout cela en ligne de commande:

  

REM Définir l'environnement
  appelez "C: \ Programmes \ Microsoft Visual Studio 9.0 \ VC \ vcvarsall.bat"

     

REM Mettre à jour l'URL du fournisseur de déploiement
  mage -Update% 1.application -pu% 2

     

REM Signer le manifeste avec notre clé
  mage -Sign% 1.application -CertFile C: \ AppKey.pfx -Password myPw

Je peux maintenant l'utiliser pour s'exécuter rapidement et facilement avec toutes mes applications publiées. J'espère que cela aide.

Autres conseils

Sans entrer dans les détails, cela devrait vous faire avancer.

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 en générer un. Le principal inconvénient d’un certificat de test est que votre éditeur d’application apparaîtra sous la forme "Inconnu". plutôt que le nom de votre entreprise.

Dans Visual Studio, ouvrez les propriétés de votre projet et accédez à la section "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, cliquez sur "Installer le certificat". Cela vous mènera à travers un assistant pour obtenir votre certificat de test dans votre magasin. Assurez-vous de le placer dans le champ "Personnel". stocker.

Vous pouvez maintenant utiliser MageUI pour modifier vos manifestes. Chaque fois que vous enregistrez, il vous demandera de signer les manifestes, mais vous devriez maintenant pouvoir sélectionner le certificat de test que vous venez de stocker. Editez / signez toujours le manifeste d'application avant de le modifier / signer. Cela est source de confusion car le manifeste d'application n'est pas le fichier portant l'extension .application .

Bonne chance!

Je m'attendrais à devoir procéder comme suit:

  • Copier le contenu du dossier actuel vers le nouvel emplacement
  • Pour chaque application: -
    • Remplacez "Dossier d'installation" par le nouvel emplacement
    • Publier en tant que nouvelle version
    • Remplacez "Dossier de publication" par le nouvel emplacement
    • Publier en tant que nouvelle version

Les nouvelles configurations exécutées à partir du nouveau dossier doivent fonctionner et les existantes doivent être mises à jour pour rechercher au bon endroit.

Tout cela n'a pas été testé, mais je suis à peu près sûr que c'est ce que j'ai fait auparavant ...

Modifier:

Évidemment, vous devrez les exécuter en parallèle pendant un certain temps, mais comme il s’agit d’une application interne, le pire qui se produira lorsque vous basculerez finalement vers le nouvel emplacement, c’est que vous devrez en informer le utilisateur du nouvel emplacement pour obtenir une application "fixe"

Je pense que vous avez un certificat. Vous en avez besoin d'un pour créer un déploiement ClickOnce. Il est possible que Visual Studio ait créé automatiquement un fichier auto-signé pour vous. Je ne connais pas trop bien le processus. J'espère que quelqu'un avec une réponse plus définitive y apportera sa contribution. De plus, avez-vous déjà essayé l'outil MageUI? Peut-être que ce que vous devez faire à l'aide d'une interface graphique sera plus évident.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top