MS Installer - Cum dau un mesaj dupa uninstall?

Intrebari despre programarea cu VC++ incluzand mediul de dezvoltare, instalare, setari, debugger, compilator, linker si documentatie.
Post Reply
User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

MS Installer - Cum dau un mesaj dupa uninstall?

Post by Ovidiu Cucu » 26 Mar 2010, 16:20

Incerc un mic istall cu VS2005.
Vreau ca dupa dezinstalarea din Control Panel sa se execute un mic VB-script care mai face cate ceva iar la urma da un mesaj gen "Uninstall complete", cam asa

Code: Select all


; uninstall.vbs

; ... face dreje si la urma da mesajul:
MsgBox "Uninstall complete", vbOKOnly, "My Cool Application" 

Am pus uninstall.vbs sub ramurica "Uninstall" din view-ul "Custom Action".
Merge, mesajul apare, insa dupa ce dau click pe OK dezinstalarea mai dureaza ceva timp adica progres bar-ul mai rasneste cateva secunde. Concluzia e ca scriptul se lanseaza inainte de a se termina dezinstalarera. Fenomenul e si mai suparator pe Vista, unde dezinstalarea dureaza mult si bine dupa ce am inchis messagebox-ul.

Am gasit ceva prin acest articol http://www.simple-talk.com/dotnet/visua ... m-actions/ dar nu m-a lamurit cum as putea rezolva problema.

Tot ce vreau este ca mesajul sa apara la urma. Ar trebui mutat din "User Actions" in alta parte?



User avatar
MrSmersh
Microsoft MVP
Microsoft MVP
Posts: 289
Joined: 20 Jul 2007, 10:18
Location: Timisoara
Contact:

Re: MS Installer - Cum dau un mesaj dupa uninstall?

Post by MrSmersh » 26 Mar 2010, 23:08

Ce tool de facut setup folosesti? Si fiind pe un forum de C++ ma gindeam chiar la un custom uninstalling step asa mai win 32 programming, da e prea sadic :), daca poate fi editat.

Viorel
Microsoft MVP
Microsoft MVP
Posts: 292
Joined: 13 Jul 2007, 12:26

Re: MS Installer - Cum dau un mesaj dupa uninstall?

Post by Viorel » 27 Mar 2010, 00:46

Probabil după execuția scriptului sistemul se ocupă de ștergerea fișierelor, inclusiv a scriptului. Teoretic scriptul, după terminare, ar putea lansa o altă aplicație, care ar determina procesul (setup-ul) parinte, ar aștepta terminarea acestuia, ar afișa mesajul și poate chiar s-ar auto-șterge.

User avatar
MrSmersh
Microsoft MVP
Microsoft MVP
Posts: 289
Joined: 20 Jul 2007, 10:18
Location: Timisoara
Contact:

Re: MS Installer - Cum dau un mesaj dupa uninstall?

Post by MrSmersh » 27 Mar 2010, 14:14

A da, sistemul se ocupa sau ma bine zis windows installer service. Si in programarea de msi poti sa apelezi ceva pentru clean up aditional, de fapt ai vreo citeva metode, si e o intrega poliloghie, si serviciul stie ca faci ceva si nu termina setup pina cind.... Si ideea e ca la sfirsit sistemul e la fel ca inainte de install + datele user.
Miezul problemei e tool care competeza baza de date msi, instalarea ta de fapt... Ca fiecare cu idiosincarsiile lui, pe care intr-un fel sau altul le poti potoli.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: MS Installer - Cum dau un mesaj dupa uninstall?

Post by Ovidiu Cucu » 29 Mar 2010, 00:36

Mersi mult pentru raspunsuri!

Versiunea cu executabilul care sa astepte pana se termina procesul (sau procesele) lansate din serviciu am facut-o deja.
Totusi nu cred ca-i o solutie 100% OK, pentru ca nu am cum sa stiu daca un user ametit da <Cancel> caz in care sa nu-i mai afisez "Uninstall complete".
Of course, as putea merge mai departe si sa-i trag, de exemplu un hook, dar deja m-as complica prea mult pentru trei-lulele-trei-surcele.

Ma gandeam ca poate o fi vreo metoda mai "Visual"... adica direct din VS.
Chiar nu e niciuna?

User avatar
MrSmersh
Microsoft MVP
Microsoft MVP
Posts: 289
Joined: 20 Jul 2007, 10:18
Location: Timisoara
Contact:

Re: MS Installer - Cum dau un mesaj dupa uninstall?

Post by MrSmersh » 29 Mar 2010, 10:29

Din Visual direct nu e niciuna direct.... Doar Visual + un ORCA pe urma (dar aia e pentru aia tari de inger). Un "tool de productivitate", care se integreaza in Visual e calea cea mai usoara. Si se poate sa nu ii mai afiseze cancelu la uninstall, da normal nu usor din Visual setup project :)

Post Reply