È necessario inserire la logica aziendale in dll (s) e solo la logica di aggiornamento in exe. Ogni volta che si avvia l'applicazione dovrebbe verificare la presenza di aggiornamenti. Se è necessario, scaricherà nuove DLL e aggiornerà la sua funzionalità.
Effettuando il caricamento dinamico della DLL, non è necessario riavviare l'applicazione quando viene eseguito un aggiornamento SE si verifica la presenza di aggiornamenti la prima cosa dopo l'avvio del proprio exe.
Il processo all'interno dell'exe è il seguente: 1. Avviare exe piccolo 2. Controllare gli aggiornamenti. Se necessario, scaricare dll (s) nel percorso specifico per dll (s). 3. Caricare dll da quella posizione specifica
Naturalmente, per facilità di utilizzo, non è necessario consentire più istanze perché se è già stato avviato e si avvia un'altra istanza, si avrà un altro caso per gestire: si tenta di fare un aggiornamento, ma i file che è necessario sovrascrivere sono in uso ...
No. È possibile inviare nuovi pacchetti o DLL e caricarli in modo dinamico, ma non è possibile scaricare ed eseguire arbitrariamente la maggior parte del codice al volo. Questa [domanda simile sui plugin] (http://stackoverflow.com/q/1560878/62576) potrebbe aiutare. –
Che tipo di codice è che stai aggiornando? Se si tratta di logica di business (al contrario, per esempio, del codice dell'interfaccia utente), forse dovresti prendere in considerazione un design che utilizza una qualche forma di servizi web. –
Un programma di aggiornamento scarica il codice e lo salva per il riutilizzo. Se non si desidera utilizzare un programma di aggiornamento, ma si desidera comunque scaricare il codice, sarà necessario scaricare nuovamente il codice ogni volta che viene eseguito il programma. Agli utenti non piacerà quello in un programma desktop. Se vuoi scaricare il codice ogni volta, puoi anche scrivere un'app Web in modo che le aspettative degli utenti siano impostate meglio. –