Salve, arrivo subito al dunque: vorrei realizzare in VB6 o VB.NET un programmino per disinstallare completamente un applicazione da sopra una macchina Windows. Diciamo un clone di Smarty Unistaller e simili. Cio che tale programmino dovrebbe fare è dunque:

I) Identificare tutte le chiavi nel registro di sistema associate a quel programma ed eliminarle

II) Identificare tutti i file e le dipendenze associate a quel programma ed eliminarle (se possibile)

III) Identificare tutti i collegamenti (file .lnk) associati a quel programma ed eliminarli

La parte che piu mi interessa è la prima a dire il vero, diciamo di voler partire da li, creare un sottoprogrammino che dato il nome di un programma installato ne identifichi tutte le chiavi nel registro ad esso associate, ne faccia una copia di backup in un file .reg e successivamente le elimini tutte. Avevo pensato ad una scansione dell'intero registro alla ricerca del nome, utilizzando le API per il registro (se in VB6) o il Registry (se .NET), ma ho l'impressione che sia una cosa troppo lunga. I consigli sono ben accetti...
La seconda non ho un'idea precisa di come si faccia anche se credo che ci si arriva sempre dal registro di sistema ad intercettare le dipendenze, o dai file di log dell'installer dove viene scritto tutto cio che è stato installato con il programma.

Be sapreste darmi qualche consiglio su come instradarmi... Grazie mille anticipatamente.