Domanda

Abbiamo un'applicazione WPF che ha due versioni con un'interfaccia utente coerente, ecc. Una che gira da un desktop del sistema operativo Windows e una che dovrebbe essere eseguita come un'applicazione XBAP.

Attualmente sto pubblicando l'applicazione XBAP sul mio computer IIS (Windows XP Pro) della mia macchina localhost, inoltre ho abilitato la massima fiducia nel mio scenario quando è necessario (Configurazione di Microsoft .NET Framework 2.0, URL di piena fiducia) + file pfx ( per il mio nome di macchina) che viene installato quando un utente su un'altra macchina digita l'URL dal browser IE sulla sua macchina.

Supponiamo che io voglia vendere l'applicazione XBAP a un cliente poiché desidera un'app centralizzata piuttosto che una desktop, come farò? Qualcuno con esperienza di distribuzione XBAP può dirmelo? Devo fare una configurazione che configurerà l'applicazione sul suo server Web e il gioco è fatto? (supponendo che il web server abbia .net 3.5 sp1) Che dire di pfx e della piena fiducia dovrei dirgli di farlo?

È stato utile?

Soluzione

Ho lavorato in una situazione simile usando ClickOnce come motore per distribuire i binari come XBAP e WPF standard. Per installare il sito Web XBAP nel sito di un cliente, è necessario che un programma di installazione crei la directory virtuale in IIS e quindi esegua un passaggio personalizzato per firmare i manifesti ClickOnce. Questo passaggio era necessario poiché l'applicazione aveva bisogno di accedere a un file di configurazione generato che conteneva informazioni sull'ambiente del cliente.

Ecco alcune note sui problemi che ho riscontrato con XBAP.

  • Dipendenza di Framework v3.0 o successiva dalla workstation del client. (Più una nota generale quando si ha a che fare con WPF, poiché a meno che non si stia utilizzando un desktop controllato, potrebbe essere necessario distribuire anche questo)
  • Inesplicabilmente la cache ClickOnce dell'utente verrebbe invalidata, richiedendo all'utente di svuotare la cache usando: rundll32% windir% \ system32 \ dfshim.dll CleanOnlineAppCache
  • L'installazione errata di Framework v3.0 / Internet Explorer richiede la ricostruzione del profilo dell'utente, la reinstallazione del framework dotNet o la reinstallazione di Internet Explorer.
  • Scarsi messaggi di errore da ClickOnce quando le distribuzioni fallivano. Molte volte segnalerebbe un'eccezione di distribuzione generale e la correzione sarebbe una delle fasi precedenti.
  • Quando si utilizza un'autenticazione di fronte al sito Web, come ASP.Net form auth, IIS trusted (non su intranet) o un proxy come ISA, si verifica un problema nello stack Microsoft in cui IE non sarà in grado di passare l'autenticazione al motore ClickOnce. Il problema è che IE eseguirà l'autenticazione correttamente, ma non sarà in grado di passare il contesto di sicurezza a ClickOnce. Quando ClickOnce tenta di distribuire i file dell'applicazione, non avrà alcun contesto di sicurezza e l'autenticazione avrà esito negativo. Ma se vai su Opzioni Internet - > Sicurezza - > seleziona "Intranet locale" - > Fai clic su "Livello personalizzato ..." Verrà visualizzato un elenco di impostazioni. Scorri fino alla fine dell'elenco e In Autenticazione utente - > Accesso - > assicurarsi che l'opzione "Accesso automatico con nome utente e password correnti" sia selezionata. Ciò dovrebbe consentire a IE di trasmettere le informazioni di autenticazione al clic una volta le applicazioni.

Altri suggerimenti

Per eseguire l'applicazione XBAP, anche il tuo client deve eseguire .NET framework. Non è possibile eseguire XBAP senza .NET Framework installato.

Per impostazione predefinita, alla tua applicazione viene concessa solo l'autorizzazione di trust parziale. Per abilitare FullTrust, è necessario concedere l'autorizzazione all'URL dell'applicazione sul client:

caspol -m -ag 1 -url "http://server/app/*" FullTrust -exclusive on

oppure è possibile aggiungere il certificato di sicurezza ai certificati attendibili del client. Una guida passo-passo è disponibile qui: Come eseguire WPF - XBAP come applicazione di affidabilità completa .

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