Seite 1 von 1

SafeGuard Easy

Verfasst: 07. Feb 2007, 07:51
von AFiedler
Hallo zusammen,

ich habe ein Paket für die Festplattenverschlüsselung SafeGuard Easy von Utimaco erstellt und habe jetzt folgendes Problem beim Deinstallieren. Beim deinstallieren wird die Festplatte wieder entschlüsselt was je nach Festplatte gute 2 Stunden dauern kann. In dieser Zeit Bricht Empirum ab mit der Meldung, dass das Programm nicht rechtzeitig terminiert hat. Der Deinstalltionsaufruf sieht wie folgt aus:
If DoesTextInFileExist ("%UnInstSuccessMessage1033%","%Temp%\MSI_%ProductName%.log") == "0" Then "AbortMSIUnInst" EndIf
-Call MsiExec /X{7C792D76-FAD7-4706-8555-6E527E88A3BE} /qb! REBOOT=ReallySuppress CFGFILE="%ApplicationDir%\Deinstall.cfg" /L "%Temp%\MSI_%ProductName%.log"
Wie kann ich die Terminierung umgehen?

Verfasst: 07. Feb 2007, 08:38
von Hendrik_Ambrosius
Das ist ein Feature des Templates. Es bricht nach 60 Minuten ab.
Dafür sind folgende Zeilen in Ihrer setup.inf zuständig:

CallTimeOut=3600
AbortAfterCallTimeOut=1

Setzen Sie CallTimeOut entweder auf 0 (aus) oder entsprechend mehr Sekunden.

Verfasst: 07. Feb 2007, 09:07
von AFiedler
Ah super, danke für die schnelle Antwort.

Verfasst: 07. Feb 2007, 09:26
von AFiedler
CallTimeOut auf 0 geht leider nicht, dann bricht die Installation sofort ab. Dann werde ich wohl nur den Eintrag AbortAfterCallTimeOut=0 setzen können?

Verfasst: 07. Feb 2007, 10:32
von Hendrik_Ambrosius
Genau.

Verfasst: 19. Jun 2009, 12:34
von mayonate
Ich versuche mich auch gerade an SGE 4.11 Bei mir klappt nur die Deinstallation nicht, es kommt immer der Hinweis das noch Teile des Programms geöffnet sind. Bei der manuellen Deinstallation kommt der Hinweis nicht.

Ich installiere SGE mit einem ConfigFile, ich habe auch für die Deinstallation eines erstellt... klappt trotzdem nicht.

Hier ist meine Setup.inf vielleicht hat ja jemand eine Idee.

Code: Alles auswählen

[SetupInfo]
Author                  = 
CreationDate            = 18.06.2009 18:14:11 
InventoryID             = 
Description             = 
Method                  = MSI
Tested on               = 
Dependencies            = 
Command line options    = /S2
Last Change             = 
Build                   = 

[VarDefInfo]
; <Variable>, <Type>, <Allow>

[Setup]
Version=10.5
ShowCaption=1
BlockInput=0
Platform=x86

[Requirements]

[Application]
ProductName=SafeGuard Easy
ProductNameShort=SafeGuard Easy
Version=4.11.0.138
VersionDirSuffix=100
Revision=0
ServiceRelease=0
DeveloperName=Utimaco Safeware
DeveloperNameShort=Utimaco
SetupName=%ProductName% %Version% %SetupWizard%

Text1="%DeveloperName%",                  Arial, 24, , FFFFFF, 1%,13%, LEFT BOLD ITALIC
Text2="%ProductName%",                    Arial, 30, , FFFFFF, 1%,, LEFT BOLD ITALIC
Text3="%Version%",                  Arial, 24, , FFFFFF, 1%,, LEFT BOLD ITALIC
BackgroundColor=007F0E,007F0E
BackgroundPicture=\\%Empirumserver%\Configurator$\user\Background.bmp, 0, 0, 100%, 100%, , STRETCHMIN STRETCHMAX

BackgroundSound=
Logo=
WizardPicture=
CopyDialogRect=0%, 77%, 100%, 100%, HCENTER
PrecopyFiles=

UserKeyName=EmpirumPakete\%DeveloperName%\%ProductName%
MachineKeyName=EmpirumPakete\%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperName% %ProductName% %Version% (Empirum)
UninstallDisplayName=%ProductName% %Version% (Empirum)

UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
HideUninstall=0
SrcDir=..

ApplicationDir=%ProgramFilesDir%\%DeveloperNameShort%\%ProductName%

SetupInfDir=Install_Sgeasy
DataDir=%Personal%
DefaultUser=
DefaultCompany=
Prompts=
RunIfInstalled=
Readme=
Execute=
Expand=0
CopyExistingFiles=0
AskUninstallOld=1
AskLicence=0
AskInfo=0
AskFromCD=0
AskShared=0
AskMode=0
AskDir=0
AskDataDir=0
AskUser=0
UseUser=0
UseCompany=1
UseProductID=0
ProductIDLength=0
UseProductIDPerOption=0
UseCheckmarks=2
AutoIniFileMapping=0
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
ShowShellFolder=
LicenceText=
InfoText=
RequirementsText=
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
PrintServer=
PrintEnvironment=
DateWarning=1
SizeWarning=1
Reboot=0
PreventExternalReboot=1
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
ReplaceRunOnce=0
DisableCancelButton=1
ShowEndMessage=1
EndMessage=%EndMessageDesc%
SetupExtDll=
SetupHookFunc=
ShowFullPath=0

[Admin]
AdminSetup=0
ApplicationDir=
AskDir=1
AskOptions=0
ClientSrcDir=Client
UninstallString=%ReinstallString% /U
ReinstallString="%Src%\..\..\..\..\User\Setup.exe" "%Src%\%SetupInfDir%\Setup.inf"

[Client]
ClientDir=
AskDir=0
AskOptions=1
Reboot=0
UseUninstallStringFromApplication=1
InstallAtLast=0

[Workstation]
AskOptions=0
AdminUninstallLink=0
AdminUninstallLinkName=%ProductName% %Version%
UserSetupLink=0
UserSetupLinkName=%ProductName% %Version%

[Strings:07]
Disk1=Diskette 1: Installationsdiskette
EndMessageDesc=Die Installation wurde erfolgreich abgeschlossen!
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
ProductDesc=
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren
ErrorLogMessage=Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen!

[Strings:09]
Disk1=Diskette 1: Installation disk
EndMessageDesc=Installation was completed successfully!
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
ProductDesc=
SetupWizard=Installation Wizard
Uninstallation=Uninstallation
ErrorLogMessage=The installation/uninstallation aborted with an error message!

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
V_MSIInstallerID=3E125635A9832B14285E6FB15959C7FD
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
ReInstSuccessMessage1033=Configuration completed successfully.
MSILogFile=%Temp%\MSI_%ProductName%.%Version%.%Revision%.log
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=%SoftwareDepotServerName%\Values$\MachineValues\%DomainName%
V_UserValuesPath=%HKLM,"Software\matrix42\Software Depot","HomeServer"%\Values$\UserValues\%UserDomain%

; Maschinenabhängige Variablen
; machine dependent variables 
;VM_<Variable>=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,<Variable>%%

; Userabhängige Variablen
; user dependent variables 
;VU_<Variable>=%%%V_UserValuesPath%\%WindowsUser%.ini,%WindowsUser%,<Variable>%%

; !!! Setzen der entsprechenden ReplaceEnv Befehle für die Variablen im Abschnitt [Product] nicht vergessen!!!
; !!! Don't forget to set the appropriate ReplaceEnv instructions for the variables in the section [Product]!!!

[Prompts]

[Services]

[Processes]

[EventSources]

[Encryption]

[Disks]
1=%Disk1%

[UserKeyNames]

[Icons]
Product = %ProductNameShort%.ico, 0, 000000, ICON

[Options]
Installer = %InstallerName%, COPYALWAYS, Installer, "%InstallerDesc%"
Product   = %ProductName%,   COPYALWAYS, Product,   "%ProductDesc%"

[OptionDependencies]

[OptionGroups]

[Installer]
1:..\..\..\..\User\Setup.exe,          %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupDeu.chm,       %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupEnu.chm,       %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\Mx42SynSem.dll,     %System%,         OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP WINDOWS32, 0
1:..\..\..\..\User\x64\Mx42SynSem.dll, %System%,         OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP WINDOWS64, 0
1:%SetupInfDir%\Setup.inf,                             , NORMAL,                                             0
1:%Temp%\Setup64.exe,                  %CommonSetupDir%\Setup.exe, OPTIONAL NOSIZEWARNING SETUP ALWAYS WINDOWS64,      0

[FileCheckMachine]
ReplaceEnv V_MachineValuesPath
If DoesFileExist ("%V_MachineValuesPath%\%ComputerName%.ini") == "0" Then "FileIsntThere" EndIf

[FileCheckClient]
ReplaceEnv V_UserValuesPath
If "%UserDomain%" <> "%ComputerName%" Then "CheckClientFile" EndIf

[CheckClientFile]
If DoesFileExist ("%V_UserValuesPath%\%WindowsUser%.ini") == "0" Then "FileIsntThere" EndIf

[FileIsntThere]
ErrorLogMsg <Error>
Abort

[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT

;ReplaceEnv <Variable>

#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\{536521E3-389A-41B2-82E5-F61B95957CDF},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter 50
Call MsiExec /Fvomus "%SRC%\Sgeasy.msi"  TRANSFORMS="Sgeasy.mst" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
IF DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" Then "AbortMSIInst" EndIf
Del "%MSILogFile%"

[InstallMSI]
AddMeter 50
Call MsiExec /I "%SRC%\Sgeasy.msi" CFGFILE="%SRC%\Install.cfg" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{536521E3-389A-41B2-82E5-F61B95957CDF},UnInstallString") == "0" Then "AbortMSIInst" EndIf
Del "%MSILogFile%"

[Set:Uninstall]
-Del "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{536521E3-389A-41B2-82E5-F61B95957CDF},UnInstallString") == "1" Then "AbortMSIUnInst" EndIf
-Call MsiExec /X {536521E3-389A-41B2-82E5-F61B95957CDF} CFGFILE="%SRC%\Deinstall.cfg" 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)

[Reg:OnUninstallProduct]
;HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%ProductName%","SystemComponent",0x00010001,"1"


[Reg:Product]
;Blendet unter Windows Softwareverwaltung den Deinstallationseintrag des Herstellers aus.
;HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%.........%","SystemComponent",0x00010001,"1"

;Verhindert Automatischen Sicheren Login
HKLM,"SOFTWARE\Utimaco\SGEasy","SAL",0x00010001,"0"

;Verhindert Automatische Kernelbackup nach der Neuinstallation
HKLM,"SOFTWARE\Utimaco\SGEasy\EdWizard","Automatic Start",0x00010001,"0"




[Ini:Product]

[Security:Product]

[Shell:Installer]
;%ProductName%\%ProductName% Setup, %ReinstallString%
;%ProductName%\%ProductName% %Uninstallation%, %UninstallString%, , , , , 1, ,

[Shell:Product]

Verfasst: 19. Jun 2009, 12:44
von AFiedler
Probier mal anstatt /qb /qn

Verfasst: 19. Jun 2009, 14:40
von mayonate
Hat nichts gebracht, ich glaube auch das Befehlsaufruf falsch ist, da er die Deinstall.cfg anscheinent gar nicht aufruft. Ich habe es über den Debugger probiert, es läuft auch nicht unattended.

Habe dann folgende Zeile Versucht und er scheint die Deinstall.cfg zu starten... deinstallieren klappt aber auch nicht.

Code: Alles auswählen

-Call "%SRC%\Sgeasy.msi" CFGFILE="%SRC%\Deinstall.cfg" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qn /Li "%MSILogFile%"

Verfasst: 22. Jun 2009, 07:11
von AFiedler
Falls garnichts hilft, habe ich mir in solchen Situationen mit einem AutoIT Script geholfen, was den Hinweis wegklickt. Das Script muss aber ohne Call am Anfang aufgerufen werden, damit Empirum die nächsten Befehle weiter verarbeitet.

Verfasst: 22. Jun 2009, 09:33
von mayonate
Das Wegklicken geht habe ich manuell gemacht, die Installation bricht dann aber ab... denke das AutoIT dann auch nichts nützt. Denke das ich einfach einen falschen Deinstallbefeht habe... aber wie muss er richtig lauten?

Verfasst: 22. Jun 2009, 09:43
von AFiedler
Ich würde die Datei Deinstall.cfg beim installieren lokal kopieren und dann folgenden Aufruf nutzen. Dann sollte es funktionieren.
-Call MsiExec /X{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} /qn REBOOT=ReallySuppress CFGFILE="%ApplicationDir%\Deinstall.cfg"