2010-10-16 10 views
6

Sto usando Installshield 2010. Ho fatto un setup MSI di base, e sto avendo un problema con la disinstallazione.Installshield, disinstallando il programma non rimuovendo tutte le cartelle

La disinstallazione non rimuove tutte le cartelle.

Dopo un'installazione completa, ho quindi disinstallato solo per scoprire che c'è ancora un percorso residuo.

ad esempio, C: \ ProgramFiles \ CompanyName \ Account \ User_1234.xml rimane ancora, mentre tutto il resto è sparito.

Il file User_1234.xml viene generato dall'applicazione e questo file non si trova normalmente nel processo di installazione. Quindi ha senso perché questo file potrebbe avere qualche problema a sbarazzarsene (lato installatore).

Allo stesso tempo, penserei che sarebbe stato rimosso a causa del fatto che è all'interno della cartella "CompanyName".

C'è un modo per specificare di eliminare tutto all'interno della cartella "CompanyName"?

Grazie per tutte le idee, -btg

risposta

8

si dispone di un paio di problemi e io affrontare la più ovvia prima. Sì, il comportamento predefinito di Windows Installer è quello di non eliminare i dati dell'utente. Questo potrebbe essere file non installati dal programma di installazione o file che sono stati modificati dal momento che il programma di installazione li ha modificati. Per ottenere il programma di installazione per rimuoverli, è necessario creare la tabella RemoveFiles per insegnare quali file rimuovere.

Remove Files Table (Windows Installer)

Ora ti rivolgo il problema meno evidente. Non dovresti aspettarti che la tua applicazione sia in grado di scrivere su ProgramFiles in fase di runtime. Non so cosa fa il tuo software ma dovresti considerare seriamente questo aspetto della progettazione della tua applicazione.

+1

Come si fa in Installshield Express? È possibile? – CJ7

+0

Non sono sicuro che tu possa o no. Express è pensato per essere semplice e nasconde molti concetti MSI. Ho dei trucchi se Express ti consente di utilizzare un modulo unione. Presumo che lo farà. –

+0

Express può utilizzare un modulo unione, ma non capisco come un modulo di unione possa causare l'eliminazione di una cartella durante la disinstallazione. – CJ7

Problemi correlati