2010-04-23 11 views
6

Il mio programma è installato con un progetto di installazione di Visual Studio. Il programma, quando viene eseguito, crea un file user.config nella sua posizione predefinita poiché sto utilizzando Settings. Quando non è necessario, come faccio a rimuovere il dischetto dal file user.config? Inoltre, come posso fare in modo che il programma di disinstallazione rimuova una cartella in %AppData%?Come rimuovere le impostazioni durante la disinstallazione di

+0

possibile duplicato di http://stackoverflow.com/questions/510722/if-the-user-uninstalls-your-program-what-do-you-do-with-the-user-data – saschabeaumont

risposta

2

Sarà necessario scrivere un'attività personalizzata per questo - per impostazione predefinita (e progettazione) il programma di installazione rimuoverà solo ciò che è installato, qualsiasi cosa aggiunta successivamente non fa parte della transazione di installazione. Potresti provare a installare un file fittizio per user.config e dovresti essere in grado di aggiungere la cartella AppData all'installazione (anche se non verrà rimossa se hai aggiunto file al suo interno al momento della disinstallazione).

+0

Problema is I don conosco la posizione esatta del file delle impostazioni. Si trova in AppData \ Local \ \ _ \ \ user.config – configurator

+0

Quindi un'azione di disinstallazione personalizzata sarà la scelta migliore. Può essere molto semplice, solo uno script, e puoi eliminare un jolly di% AppData% \ Local \ * in basso. – slugster

2

Fondamentalmente, non è possibile/non dovrebbe/non farlo. Ecco un repost di my answer to a duplicate of this question ...

La rimozione di tutti i dati per utente dovrebbe essere un processo separato per la disinstallazione.

La mia raccomandazione (e cosa facciamo) sarebbe quella di creare un'utilità separata di "pulizia" che deve essere eseguita come amministratore e che enumera attraverso i profili rimuovendo file utente aggiuntivi. Opzionalmente potrebbe anche enumerare gli hive del registro degli utenti e rimuovere le chiavi di registro aggiuntive, ecc. Uno dei nostri client ha i propri script personalizzati che fanno esattamente questo.

Vorrei quindi fornire al cliente questo strumento di pulizia e dire dopo la disinstallazione, se si desidera rimuovere tutti i dati utente, quindi utilizzare questo.

considerare i seguenti casi

  • clienti di disinstallare prima di installare una nuova versione
  • principali aggiornamenti (che disinstallare la vecchia versione, quindi è necessario essere consapevoli di questo)
  • disinstallazione accidentale da un utente che non avrebbe dovuto farlo, ma aveva la capacità di farlo

Se è necessario necessario necessario rimuovere i dati quindi il modo più pulito per rimuovere questi dati per tutti gli utenti che posso pensare sarebbe quello di sfruttare il Active Setup e utilizzarlo per attivare uno script per utente che viene eseguito alla successiva connessione di ciascun utente. I dati non verranno eliminati durante la disinstallazione, ma al successivo accesso. E lascerete alcune voci di registro che giacciono, tuttavia è meno probabile che causino la corruzione che l'enumerazione dei profili utente.

Problemi correlati