Dezinstalarea - instalator cu mâini proprii - articole despre Delphi - site personal

Deci, hai să vorbim puțin despre dezinstalare.

În mod ideal, dezinstalarea ar trebui să conducă computerul la tipul în care era înainte de instalare. În practică, acest lucru nu este posibil pentru toate aplicațiile, mai ales dacă aceștia împart resurse cu alte programe.

Programul de dezinstalare poate, pe baza acestui jurnal, să dezinstalați produsul.

Dar toate acestea sunt lucruri evidente, ca și dezinstalațiile. Putem specifica pentru fiecare acțiune a programului de instalare acțiunea care ar trebui să apară la dezinstalarea. Creați directorul directorului. Ștergeți directorul Director.
Copiați fișierul Sourcr la Target. Ștergeți fișierul Țintă.
Copiați fișierul Sourcr partajat în Target. Măriți numărul de instalări cu 1 dacă acesta există deja sau 1 atribuiți altfel. Reduceți numărul de instalări la 1. Dacă este 0, ștergeți fișierul Țintă
Creați o cheie în registru. Ștergeți cheia în registru.
Creați un parametru de valoare în registru. Ștergeți parametrul Value din registru.
Modificați valoarea parametrului Valoare de la Vechi la Nou. Scrieți valoare pentru vechi.
Creați un nou fișier .ini. Ștergeți fișierul .ini.
Creați o secțiune într-un fișier .ini. Ștergeți secțiunea din fișierul INI.
Scrieți parametrul în secțiunea INI a fișierului. Dacă parametrul există deja, salvați conținutul acestuia. Dacă conținutul anterior al parametrului este salvat în jurnal, îl înregistrăm. În caz contrar, ștergeți parametrul din secțiune.

În acest tabel, sunt înregistrate unele operații comune. Poate pentru scopurile tale vei avea nevoie de altceva.

Rețineți că, în timpul dezinstalării, jurnalul trebuie prelucrat în ordine inversă. De exemplu, în cazul în care directorul de instalare a fost creat mai întâi, și apoi mai multe fișiere sunt copiate în ea, apoi dezinstalarea șterge mai întâi aceste fișiere, și apoi catalog.

Articolul din registrul de sistem descrie modul de plasare a programului în lista de programe de dezinstalare (Panou de control / Adăugare sau eliminare programe).

Ce altceva? Cel mai important, suferiți cu eliminarea programului de dezinstalare din hard disk. Faptul că programul nu poate fi îndepărtat atâta timp cât se execută - pentru Windows închide accesul la acesta. Ce ar trebui să fac? Dacă ne uităm la modul de a face față acestei situații instalatorii comune (de exemplu, InstallShield și înțelept), vedem că părăsesc programul de dezinstalare pe disc. Aceasta devine o resursă partajată, parte a sistemului de operare (plasată în directorul Windows). De exemplu, în directorul meu de origine sunt C: WINDOWSUNINST16.EXE, C: WINDOWSUNINST.EXE (InstallShield) și C: WINDOWSUNWISE.EXE (înțelept). Aceasta este o soluție destul de corectă, deoarece acești instalatori folosesc multe programe. Putem face același lucru prin schimbarea numelui programului de dezinstalare (UNINST și neînțelept deja ocupat :)

De asemenea, putem copia programul de dezinstalare într-un director temporar și îl putem rula de acolo. Ea, desigur, nu va fi distrus, dar data viitoare când curățați directorul temporar, utilizatorul îl șterge. Ce probleme pot apărea pe parcurs? Vă rugăm să rețineți că dezinstalarea programului va trebui să fie copiate într-un director temporar în timpul instalării numai - în caz contrar, utilizatorul poate elimina mult mai devreme decât ar trebui să dezinstalați (și cum știe el ce fel de fișier?). Deci, opțiunea poate fi: program de copiere l zapusit din noul catalog, precum și o copie de curent pentru a finaliza. Există doar o problemă cât mai curând programul nostru este completă, accentul ar trebui să se acorde înapoi Adăugare sau eliminare programe, iar noi doar începe să solicite utilizatorului dacă este sau nu este de acord pentru a elimina produsul din mașină.

Puteți scrie un program simplu pentru a vă asigura că arată urât. Această problemă poate fi de mai multe soluții, de exemplu, prima copie poate scoate produsul din mașină, și apoi se copiați într-un director temporar și să repornească fără fereastra principală doar pentru a șterge un singur fișier și directorul în care se află. Sau putem pune dezinstalator doar în programele grupului nostru, prin urmare, utilizatorul poate rula numai de acolo, iar el a avut nici o problema cu fereastra sau eliminare programe.

În cele din urmă, putem elimina automat fișierul EXE singur. Pentru a înțelege cum se face acest lucru, este suficient să vă amintiți despre partiția RunOnce a sistemului de registry.
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionRunOnce]
SomeName = "C: WINDOWSCOMMAND.COM / C DEL C: TEMPDEINST.EXE"
Data viitoare când computerul este repornit, va fi apelat procesorul de comandă, care va șterge fișierul EXE inutil. Apoi, parametrul SomeName va fi eliminat automat din secțiunea RunOnce.

Procesorul de comandă nu poate fi doar comanda comanda.com, dar și cmd.exe (în NT), 4dos.com, 4nt.exe și alte programe. Variabila de mediu COMSPEC conține calea completă către procesorul de comandă curent
funcția GetCommand: String; var szCommandPath: array [0..MAX_PATH - 1] din Char; începe GetEnvironmentVariable ("COMSPEC", szCommandPath, MAX_PATH); Rezultat: = String (szCommandPath); se încheie;

Aici, aparent, și totul

Articole similare