Domanda

Ho una raccolta di pacchetti ClickOnce in una cartella di pubblicazione su un'unità di rete e devo spostarli tutti su un altro server (la nostra macchina DR).

Dopo aver copiato / incollato l'intera directory ed eseguito le impostazioni sulla nuova macchina, viene visualizzato un messaggio di errore che indica che non è possibile trovare il vecchio percorso:

  

Attivazione di   ... Risultato MyClickOnceApp.application   in eccezione. A seguito di un fallimento   i messaggi sono stati rilevati:

     

+ Download del file: //oldMachine/c$/MyClickOnceApp.application non riuscito.

     

+ Impossibile trovare una parte del percorso '\\ oldMachine \ c $ \ MyClickOnceApp.application'.

Dopo aver modificato l'installazione URL per indicare la mia nuova macchina, viene visualizzato un altro errore :

  

La firma XML manifest non è valida.

     

+ La firma digitale dell'oggetto non è stata verificata.

Ho provato a utilizzare MageUI.exe , per modificare l'URL di distribuzione, ma richiede un certificato, che non ho.

Cosa sto facendo di sbagliato e come posso spostare con successo i pacchetti ClickOnce pubblicati?

È stato utile?

Soluzione

Ho trovato una soluzione:

In primo luogo, utilizzando MageUI, ho modificato " Start Location " in " Opzioni di distribuzione " ;. Al momento del salvataggio, mi ha spinto a firmare con una chiave, che ho creato lì e poi. Ho quindi eseguito il file setup.exe e ha funzionato senza errori.

Dopo aver verificato quali file erano stati modificati, mi sono reso conto che era solo un file: il file manifest dell'applicazione ( myAppName.application ). Le uniche cose che sono cambiate nel file sono state il provider di distribuzione e la firma (che è ciò in cui ho cambiato MageUI).

Una volta capito che era così, ho usato la versione da riga di comando di MageUI chiamata Mage.exe , fornita con l'SDK.

Di seguito è riportato il file batch che ho creato per eseguire tutto ciò sulla riga di comando:

  

REM Imposta l'ambiente
  chiama " C: \ Programmi \ Microsoft Visual Studio 9.0 \ VC \ vcvarsall.bat "

     

REM Aggiorna l'URL del provider di distribuzione
  mage -Update% 1.application -pu% 2

     

REM Firma il manifest con la nostra chiave
  mage -Sign% 1.application -CertFile C: \ AppKey.pfx -Password myPw

Ora posso usarlo per eseguire tutte le mie applicazioni pubblicate in modo rapido e semplice. Spero che questo aiuti.

Altri suggerimenti

Senza entrare troppo nei dettagli, questo dovrebbe farti andare.

I manifesti ClickOnce devono essere firmati con un certificato per motivi di sicurezza. È possibile acquistare un certificato di firma del codice o generarne uno di prova. Lo svantaggio principale di un certificato di prova è che l'editore dell'applicazione verrà visualizzato come "Sconosciuto". anziché il nome della tua azienda.

In Visual Studio, apri le proprietà del tuo progetto e vai su " Firma " scheda, seleziona " Firma i manifesti ClickOnce " ;, e " Crea certificato di prova " ;. Successivamente, fai clic su " Più dettagli " per aprire una finestra di dialogo e fare clic su " Installa certificato " ;. Questo ti guiderà attraverso una procedura guidata per ottenere il certificato di prova nel tuo negozio. Assicurati di inserirlo nella sezione " Personale " negozio.

Ora puoi usare MageUI per modificare i tuoi manifest. Ogni volta che lo salvi ti verrà richiesto di firmare i manifest ma ora dovresti essere in grado di selezionare il certificato di test che hai appena archiviato. Modificare / firmare sempre il manifest dell'applicazione prima di modificare / firmare il manifest di distribuzione. Questo è confuso perché l'applicazione manifest non è il file con l'estensione .application .

Buona fortuna!

Mi aspetterei di dover fare quanto segue:

  • Copia il contenuto della cartella corrente nella nuova posizione
  • Per ogni app: -
    • Cambia 'Cartella di installazione' nella nuova posizione
    • Pubblica come nuova versione
    • Cambia 'Cartella di pubblicazione' nella nuova posizione
    • Pubblica come nuova versione

Le nuove impostazioni eseguite dalla nuova cartella dovrebbero funzionare e quelle esistenti dovrebbero aggiornarsi per apparire nella posizione corretta.

Tutto questo non è testato, ma sono abbastanza sicuro che è quello che ho fatto in precedenza ...

Modifica:

Ovviamente, dovrai eseguirli in parallelo per un certo periodo di tempo, ma poiché si tratta di un'app interna il peggio che accadrà quando finalmente passerai alla nuova posizione è che dovrai informare il utente della nuova posizione per ottenere un'app "fissa"

Credo che tu abbia un certificato. Ne hai bisogno per creare una distribuzione ClickOnce. Visual Studio potrebbe averlo creato automaticamente per te. Non ho molta familiarità con il processo, si spera che qualcuno con una risposta più definitiva entrerà in funzione. Inoltre, hai provato lo strumento MageUI, forse sarà più ovvio cosa devi fare usando una GUI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top