Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB6 e .NET] Un UnInstaller completo...

    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.
    A volte un dettaglio, seppur banale, può fare la differenza. Non fermarti a guardare il tutto per sempre.

    E=mc² Ci ha cambiato la vita una volta, lo farà ancora...

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Se fosse una cosa realmente fattibile in senso assoluto, non verrebbe richiesto un programma di disinstallazione per ciascuna applicazione presente nel sistema: solo tale programma è a conoscenza ed è istruito sulle dipendenze dell'applicazione associata ed è in grado di rimuovere, in sicurezza, l'applicazione stessa.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    Be si in effetti...

    Sono consapevole di quanto tu dici, vero è che il programma Smarty Uninstaller (ti consiglio di dargli un'occhiata anche se trial perchè è davvero carino) in una normale disinstallazione impiega prima l'unistaller dell'applicazione e poi va a cercare collegamenti e chiavi nel registro e l'elimina tutte. Alrimenti c'è l'opzione Forza Uninstall, che se usata da sola becca tutti i file del programma, tutte le chiavi ad esso assiociate e i collegamenti e li elimina. Per cui mi domando come farà e come è possibile emularlo? Direi che la cosa è abbastanza interessante da analizzare no?
    A volte un dettaglio, seppur banale, può fare la differenza. Non fermarti a guardare il tutto per sempre.

    E=mc² Ci ha cambiato la vita una volta, lo farà ancora...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.