For Schleife für die Deinstallation von MSI

Antworten
kscholz
Beiträge: 6
Registriert: 07 Jan 2011, 11:31

For Schleife für die Deinstallation von MSI

Beitrag von kscholz »

Hallo Community,

ich möchte per Schleife MSI Guid Nummer als Array angeben und danach die Deinstallation starten.

stark vereinfachter Code:

Code: Alles auswählen

Set $MSIDellist$ = splitString ("{148D9D03-5D23-4D4F-B5D0-BA6030C45DCF};{35F7D0BF-08AB-42E3-A403-AF9772AC216A};{ECCA150B-31A5-412E-B8D0-4CB5DDA900D3};{4ED0DB47-769D-4B71-8724-E7A5BFEA1D51};{88D881EF-0567-443A-9A84-E5AAEF29BB34};{0483BE07-260D-4E4D-815E-F737C0A72E40};{53F29A32-7D03-4635-A8B3-839D921F6F96}", ";")

for %MSIGUID% in  $MSIDellist$ do Sub_uninistall

[Sub_uninistall]
Set $MsiId$ = "%MSIGUID%"

if not (GetRegistryStringValue("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "")
	comment "MSI id " + $MsiId$ + " found in registry, starting msiexec to uninstall"
	Winbatch_uninstall
	sub_check_exitcode
endif

[WinBatch_uninstall]
msiexec /x $MsiId$ /qb! REBOOT=ReallySuppress

[Sub_check_exitcode]
comment "Test for installation success via exit code"
...
aber
Winbatch_uninstall
sub_check_exitcode
werden als nicht defeniert bzw. leer erkannt.

Hat jemand eine Idee ohne das ich für jeden einzelnen MsiID seperat erstellen muss wie beim Java Paket.

Vielen Dank und Gruß

K.Scholz
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: For Schleife für die Deinstallation von MSI

Beitrag von d.oertel »

Hi,
stark vereinfachter Code
hilft hier nicht weiter.

Bitte kompletter Code und komplettes log.

gruss
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


sch
Beiträge: 27
Registriert: 08 Jun 2011, 18:16

Re: For Schleife für die Deinstallation von MSI

Beitrag von sch »

Hatte das gleiche Problem, ich habe es so lösen können :)

Code: Alles auswählen

DefStringList $MsiList$
Set $MsiList$ = splitStringOnWhiteSpace ( "{853A4763-6643-4604-8D64-28BDD8925F4C} {6C1E7AA1-44E9-446D-AAB2-0DE6D9EFEAB1}" )

for %MsiId% in  $MsiList$ do Winbatch_uninstall_msi

[Winbatch_uninstall_msi]
MsiExec.exe /X"%MsiId%" $UninstallParam$
Spoxs
Beiträge: 108
Registriert: 16 Jun 2011, 14:25

Re: For Schleife für die Deinstallation von MSI

Beitrag von Spoxs »

Was möchtest Du denn damit erreichen?
Ich versteh es einfach nicht. :roll:

Es ist irgendwie etwas verwirrend ...
Antworten