2012-11-24 12 views
9

Il mio programma crea file in c:\Users\GameDev\AppData\Local\<my game folder>. È possibile dire a InnoSetup di cancellare l'intera cartella durante il processo di disinstallazione, anche se il programma di installazione non l'ha messo lì?Come eliminare la cartella durante il processo di disinstallazione?

+0

Vuoi dire che vuoi cancellare * qualche * directory, non correlata al tuo programma di installazione? – TLama

+0

Sì, è corretto. Al momento dell'installazione, questa cartella non esiste poiché è stata creata in fase di runtime dal mio programma. – superwpf

+0

È il compito della sezione ['[UninstallDelete]'] (http://jrsoftware.org/ishelp/topic_uninstalldeletesection.htm), ma si avrà un problema per ottenere sempre il percorso corretto dei dati dell'applicazione utente. – TLama

risposta

19

Per eliminare determinate cartelle non correlate al programma di installazione (poiché, se non si specifica esplicitamente tale operazione, tutti i file e le directory vengono rimossi dal programma di disinstallazione creato), utilizzare la sezione [UninstallDelete]. Qui puoi specificare qualcosa di simile al tuo caso:

[UninstallDelete] 
Type: filesandordirs; Name: "{localappdata}\<my game folder>" 
+0

Grazie per il vostro aiuto. – superwpf

+1

Felice di aiutare ;-) – TLama

+0

Questo non funziona per installazioni multiutente con impostazioni separate, tuttavia, in cui ogni utente ha le proprie impostazioni in una cartella {userappdata} per il programma. Quando ho affrontato questo problema, dovevo fare in modo che il mio programma tenesse una lista sotto {commonappdata} delle cartelle delle impostazioni di tutti gli utenti che avevano avviato il programma (e, così facendo, creava la suddetta cartella delle impostazioni). Questo elenco è stato quindi utilizzato per rimuovere tutte queste cartelle avviando una routine di disinstallazione incorporata nell'app stessa, che è stata avviata da [UninstallRun] nel programma di disinstallazione di Inno avviando l'app con un parametro della riga di comando. – Nyerguds

Problemi correlati