>Beh, si, ExiledGlitchers Tools.exe è aperto ed è proprio il file
>da cui lancio l'aggiornamento... Hai ragione... è proprio questo
>il problema! Che fesso che sono :D
:)
>Allora penso di creare un'
>altro .exe con dentro solo l'updater e poi lo richiamo dal Programma
>principale. Sapresti come fare per dire all' updater di chiudere
>il file ExiledGlitchers Tools.exe?
Si, l'idea è quella, creare un'eseguibile con funzione di updater!
Resta comunque il fatto che non puoi di punto in bianco "chiudere" il processo ExiledGlitchers.exe perchè magari l'utente sta effettuando operazioni che andrebbero perse. Secondo il mio modesto parere l'iter da seguire è il seguente :
Creare un'app con splashscreen che controlli per esempio se sono presenti tutte le dll dell'applicazione e altro includendo la ricerca di un'eventuale update.
Se l'update viene trovato viene chiesto all'utente di aggiornare, se accetta l'aggiornamento allora l'updater aggiorna tutti i file ed eventualmente fa partire in automatico l'applicazione, altrimenti l'applicazione parte senza aver aggiornato nulla.
Per gestire i processi .Net mette a disposizione il namespaces System.Diagnostic , esempio : come chiudere un processo istantaneamente :
Process[] p = Process.GetProcessesByName("TuoProcesso");
p[0].CloseMainWindow();
//Puoi anche utilizzare questo metodo : p[0].Kill();
Come vedi inserisco in un'array di Process tutti i processi che hanno nome "TuoProcesso", dopodichè prendo la prima occorrenza e la chiudo.
Dai un'occhiata a questo namespaces!Puoi gestire i processi come meglio credi e in tutti i modi ;)
>Grazie ancora per l'aiuto!
Ciao! Di niente ;)
------------------------------------------
Ignazio Catanzaro
http://blogs.dotnethell.it/swdev/