Deinstallationspfad 000 oder 001

Post Reply
9Made
Posts: 39
Joined: 19. Sep 2022, 08:24
Contact:

Deinstallationspfad 000 oder 001

Post by 9Made » 25. Oct 2022, 17:12

Folgendes Problem: Ich habe mehrere Programme, bei denen die Deinstallationsdatei auf bestimmten Computern 000 und auf anderen manchmal 001 heißt. Ich denke, das passiert, wenn die Software bereits installiert war und neu installiert wurde.

Deshalb brauche ich die Funktion und oder. Ist dies möglich?

Deinstallationsdatei Pfad/000 wenn nicht vorhanden dann Dateipfad/001

Code: Select all

Deinstallationpfdad: C:\Program Files (x86)\Hersteller\unins000.exe" /SILENT

Markus S.
Posts: 53
Joined: 16. Sep 2013, 14:05
Contact:

Re: Deinstallationspfad 000 oder 001

Post by Markus S. » 27. Oct 2022, 08:54

Hallo,

das lässt sich total einfach lösen:

Variante 1

Code: Select all

[Set:Deinstallation]
If DoesFileExist ("%ProgramFiles(x86)%\Hersteller\unins000.exe") == "1" Then "Set:Deinstallation000" EndIf
If DoesFileExist ("%ProgramFiles(x86)%\Hersteller\unins001.exe") == "1" Then "Set:Deinstallation001" EndIf

[Set:Deinstallation000]
-Call "%ProgramFiles(x86)%\Hersteller\unins000.exe" /SILENT

[Set:Deinstallation001]
-Call "%ProgramFiles(x86)%\Hersteller\unins001.exe" /SILENT
Variante 2 (kürzer und viel schöner)

Code: Select all

[Set:Deinstallation]
-Call %HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Uninstallkeyname,QuietUninstallString%

9Made
Posts: 39
Joined: 19. Sep 2022, 08:24
Contact:

Re: Deinstallationspfad 000 oder 001

Post by 9Made » 27. Oct 2022, 15:41

Vielen Dank, beide Varianten funktionieren einwandfrei, das erspart mir eine Menge Ärger und Zeit. :D

Vielleicht können Sie mir auch bei einem anderen Thema helfen. Beim Versuch, Software zu verteilen, kommt es oft vor, dass die Software bereits manuell ohne Matrix42 installiert worden ist. Wissen Sie, wie ich eine solche Prüfung einbauen kann und diese eventuell als abgeschlossen anzeigen kann oder dass diese deinstalliert und neu installiert wird?

StephanSch
Posts: 60
Joined: 03. Jul 2010, 20:20
Location: Berlin
Contact:

Re: Deinstallationspfad 000 oder 001

Post by StephanSch » 28. Oct 2022, 09:10

Hi. Es gibt in den Paketeigenschaften die Bedingungen, wo auch eine "Bereits installiert"-Bedingung gesetzt werden kann. Ist die erfüllt, wird das Paket von Empirum als bereits installiert erkannt.
http://helpfiles.matrix42-web.de/2022_D ... gungen.htm
Empirum 23.0.1; Service Store/DWP 12.0
Windows Server 2019
Clients: Windows 10 Enterprise x64 21H2

Markus S.
Posts: 53
Joined: 16. Sep 2013, 14:05
Contact:

Re: Deinstallationspfad 000 oder 001

Post by Markus S. » 28. Oct 2022, 14:17

9Made wrote: 27. Oct 2022, 15:41 Vielen Dank, beide Varianten funktionieren einwandfrei, das erspart mir eine Menge Ärger und Zeit. :D

Vielleicht können Sie mir auch bei einem anderen Thema helfen. Beim Versuch, Software zu verteilen, kommt es oft vor, dass die Software bereits manuell ohne Matrix42 installiert worden ist. Wissen Sie, wie ich eine solche Prüfung einbauen kann und diese eventuell als abgeschlossen anzeigen kann oder dass diese deinstalliert und neu installiert wird?
Gerne!

Hier gibt es auch wieder mehrere Möglichkeiten, die zum Ziel führen:
Man könnte auf einen Pfad, eine Datei oder einen Regkey prüfen. Zusätzlich verknüpft mit der Bedingung, dass das Empirum Paket noch nicht installiert ist.

9Made
Posts: 39
Joined: 19. Sep 2022, 08:24
Contact:

Re: Deinstallationspfad 000 oder 001

Post by 9Made » 02. Nov 2022, 18:01

Aktuell habe ich folgendes:

Code: Select all

[Set:Installation]
AddMeter -1
If DoesRegKeyExist ("{11111111-1AAA-1111-1111-111111111111}_is1") == "1" Then "Set:Deinstallation" EndIf
If DoesPathExist ("C:\%ProgramFiles%\Hersteller") == "1" Then "Set:Deinstallation" EndIf
Call "%Src%\setup_hersteller.exe" /SILENT /SUPPRESSMSGBOXES /LOG="%APP%\Install.log" /NOCANCEL /NORESTART
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf

[Set:Deinstallation]
If "%ErrorLevel%" <> "0" Then "SET:DeInstallationError" EndIf
-Call %HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{11111111-1AAA-1111-1111-111111111111}_is1,QuietUninstallString% /SILENT /SUPPRESSMSGBOXES /LOG="%APP%\Uninstall.log" /NOCANCEL /NORESTART
-AddMeter -1
Ich würde dies jedoch so ändern, dass die installierte Version geprüft wird (DisplayVersion) und keine Installation oder Aktualisierung auf der Grundlage dieser Version erfolgt.

So wie ich es eingestellt habe, wird die Software neu installiert, wenn sie auch ohne Matrix42 installiert wurde. Soll ich das ändern oder gibt es eine bessere Methode?

munzur
Posts: 262
Joined: 23. Jun 2020, 19:26
Contact:

Re: Deinstallationspfad 000 oder 001

Post by munzur » 03. Nov 2022, 11:10

Bevor die Installationssektion angesprochen wird, würde ich auf den Regkey prüfen und ggf. aussteigen

[Product]
#AppExist, MACHINE DONTDELETE
#Set:Installation, DONTDELETE

[AppExist]
If DoesRegKeyExist ("XY") == "1" Then "AppExistMsg" EndIf

[AppExistMsg]
ErrorLogMsg Application is already installed. Installation is skipped. Exit!
SetReboot 2
Exit Application is already installed. Installation is skipped.

9Made
Posts: 39
Joined: 19. Sep 2022, 08:24
Contact:

Re: Deinstallationspfad 000 oder 001

Post by 9Made » 04. Nov 2022, 09:01

Das Problem besteht darin, dass ein Großteil der von uns verwendeten Software bei der Aktualisierung immer dieselbe Registrierung verwendet.

Das ist ein Problem, wenn eine alte Version installiert wird, so dass keine Neuinstallation durchgeführt wird, weil die alte und die neue Version die gleiche Registry haben.

Deshalb brauche ich eine Lösung dafür, z.B. dass die DisplayVersion (nur installieren, wenn die Version neuer ist) irgendwie überprüft wird.

Markus S.
Posts: 53
Joined: 16. Sep 2013, 14:05
Contact:

Re: Deinstallationspfad 000 oder 001

Post by Markus S. » 05. Dec 2022, 13:29

Nichts leichter als das:

Code: Select all

IF %HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{BLABLABLA},DisplayVersion% == 1.40.0 Then "NeueVersion" Else "AlteVersion" EndIf

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 2 guests