Avatar billede dakine Nybegynder
12. oktober 2004 - 09:15 Der er 5 kommentarer og
1 løsning

Afinstallere program, hvis det findes i 'Tilføj/ fjern'

Hej.

Jeg ønsker at gå ind i listen med Tilføj/ Fjern programmer, og hvis jeg finder et bestemt program, skal det fjernes.
Alt sammen automatisk uden brugeren gør noget.

Jeg har fundet her et svar, der går noget af vejen.
Nemlig at kalde Tilføj/ Fjern listen.

ShellExecute(form1.handle,nil,\'C:\\Windows\\System32\\appwiz.cpl\', nil,nil,SW_SHOWNORMAL);
(ShellAPI i uses).

Jeg mangler så videre herfra, at gennemløbe listen,- finder jeg det jeg søger, kalder jeg en MSI-kommando-streng, der fjerner programmet. (MsiExec.exe /x <program.exe>).

Ved nogle hvordan dælen, det lader sig gi' sig? :o)
Avatar billede kammeyer Nybegynder
12. oktober 2004 - 10:11 #1
Hmm - jeg ved ikke hvor listen med software ligger - men når du kalder afinstallationen vil den sikkert kalde den registrerede procedure for at fjerne det pågældende program - og i tilfælde af f.eks. officepakken vil den svare med en del spørgsmål - så der skal bruger interaktion til alligevel med mindre programmet der skal fjernes er et program du kender til i forvejen.
Avatar billede doc404 Novice
12. oktober 2004 - 10:23 #2
Se under registry

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

Der ligger en rækker keys og under dem kan du finde den info Windows bruger til at afinstallerer.
Avatar billede dakine Nybegynder
12. oktober 2004 - 11:03 #3
Til kammeyer:

Du kan sagtens fjerne en Office-pakke uden at blive stillet spørgsmål.
Det gøres på følgende måde.

MSIexec.exe /x <sti>\Office\pro11.msi /qr
Avatar billede dakine Nybegynder
12. oktober 2004 - 11:06 #4
Hej doc404.

Du har da fuldstændig ret. Der står jo alle sammen.
Så skal jeg bare have lavet en løkke, der leder efter programmet.'

Tak for det.
Avatar billede dakine Nybegynder
12. oktober 2004 - 11:26 #5
Hold da op! Nogle gange gror træerne ind himmelen.
Hvis jeg f.eks finder Delphi under: HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall, så ligger der allerede en UninstallString kommando streng:

"MsiExec.exe /I{72263053-50D1-4598-9502-51ED64E54C51}"

Hvis jeg tilpasser den med andre parametre, passer pengene.
"MsiExec.exe /x{72263053-50D1-4598-9502-51ED64E54C51} /qr"

Så fjernes Delphi uden brugeren skal tage stilling til noget som helst. :o)
Avatar billede kammeyer Nybegynder
12. oktober 2004 - 20:08 #6
Nice nok - så ved jeg det. Tak :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester