Page 1 of 1

Windows Defender installiert im Kreis

Posted: 30. Aug 2007, 10:05
by Bandit
Guten Morgen!
Ich habe den Windows Defender mit dem PackageWizard zu einem MSI-Paket gemacht. Die Installation verläuft problemlos und wird von Empirum auch als korrekt installiert angezeigt. Wenn dann der Reboot ausgeführt wird, fängt die Installation wieder von vorne an. Bitte um Hilfe.

Code: Select all

#Set:Product, DONTDELETE
#Reg:OnUninstallProduct, DELETE
;#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE
#Security:Product
#Set:Uninstall, DELETE
#Set:ChangeMSISourcelist, DONTDELETE

[Set:Product]
Del %MSILogFile%
IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A06275F4-324B-4E85-95E6-87B2CD729401},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter 58
Call MsiExec /Fvomus "%SRC%\windowsdefender.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qb! /Li "%MSILogFile%"
IF DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" Then "AbortMSIInst" EndIf
Del %MSILogFile%

[InstallMSI]
AddMeter 50
Call MsiExec /I "%SRC%\windowsdefender.msi" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qb! /Li "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A06275F4-324B-4E85-95E6-87B2CD729401},UnInstallString") == "0" Then "AbortMSIInst" EndIf
Del %MSILogFile%

[Set:Uninstall]
-Del %MSILogFile%
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A06275F4-324B-4E85-95E6-87B2CD729401},UnInstallString") == "1" Then "AbortMSIUnInst" EndIf
-Call MsiExec /X {A06275F4-324B-4E85-95E6-87B2CD729401} REBOOT=REALLYSUPPRESS /qb! /Li "%MSILogFile%"
-AddMeter 50

[AbortMSIInst]
ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
Abort

[AbortMSIUnInst]
-Abort
-ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%

[SET:ChangeMSISourcelist]
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist","LastUsedSource","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)
ReplaceRegValue (HKCR,"Installer\Products\%V_MSIInstallerID%\Sourcelist\Net","1","\\%EmpirumServer%","\\%%EmpirumServer%%", 1)
[/size]

Posted: 30. Aug 2007, 15:42
by Hendrik_Ambrosius
Bitte mal einen Versionsabgleich im Software Depot machen.

Posted: 31. Aug 2007, 16:25
by Bandit
Versionsabgleich ist wirkungslos.
Gibt es sonst eine Möglichkeit, dass man selbst ein entsprechendes Flag setzt, dass die Software installiert ist?

Posted: 31. Aug 2007, 16:29
by Hendrik_Ambrosius
Klar, über die VersionFile-Option in den Paketeigentschaften.
Aber eine Ursache wird es schon haben.
Existiert denn der ProductKey in der Registry nach der Installation oder nicht?
Eventuell kollidiert der Key der Anwendung mit dem EmpirumKey -> Umbenennen des Empirum-MachineKeys?!
Wird das Paket als installiert angezeigt, wenn man das swdepot ohne Parameter startet?

Posted: 31. Aug 2007, 16:34
by Bandit
Der RegKey existiert nach der Installation und das Paket wird auch als installiert angezeigt.


EDIT: die Idee mit dem VersionFile hat funktioniert! Danke!

Posted: 01. Sep 2007, 17:02
by Hendrik_Ambrosius
War vielleicht ein Sonderzeichen oder Buchstabe in der Versionsnummer?

Posted: 03. Sep 2007, 12:10
by Bandit
Auf diesen Fehler hatte ich das Paket auch schon ergebnislos geprüft.

Posted: 18. Jan 2008, 09:51
by Joey
probier doch mal anstatt If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A06275F4-324B-4E85-95E6-87B2CD729401},UnInstallString")

If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A06275F4-324B-4E85-95E6-87B2CD729401},DisplayName")

hatte letztens eine schulung und du wurde gesagt das mit dem uninstallstring abundzu probleme gibt und wir dann einfach displayname abfragen sollten.

gruß joey