Seite 1 von 1

AskUninstallOld

Verfasst: 19. Apr 2011, 09:47
von aalbang
Hallo,

wie kann ich verhindern das bei gesetzem "AskUninstallOld" ein Dialogfenster kommt ?

Hier mein Script:

Code: Alles auswählen

[SetupInfo]
Author                  =
CreationDate            =18.04.2011 09:19:13 
InventoryID             = 
Description             = 
Method                  = MSI
Tested on               = WindowsXP / Windows7
Dependencies            = 
Command line options	=/AW /S2
Last Change             = 
Build                   = 

[VarDefInfo]
; <Variable>, <Type: 0=Computer 1=User>, <Allow NULL values: 0=No 1=Yes>

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

[Requirements]

[Application]
ProductName=PLSQL Developer
DeveloperName=Tools
Version=8.0.4.1
Revision=0
SetupName=%ProductName% %Version% %SetupWizard%
Text1="%ProductName% %Version%",         Arial,           30, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text2="%DeveloperName%",                 Arial,           24, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text8="%Company%",                       Arial,           18, , 00FFFF, 4,  10, RIGHT BOLD ITALIC
Text9="%InstallationFor% %WindowsUser%", Arial,           16, , 007F00, 4, -18, BOTTOM ITALIC LEFT
BackgroundColor=FF0000,000000
CopyDialogRect=0%, 77%, 100%, 100%, HCENTER
UserKeyName=%DeveloperName%\%ProductName%
MachineKeyName=%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperName% %ProductName% %Version%
UninstallDisplayName=%ProductName% %Version%
UninstallString=%ReinstallString% /U
;ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ReinstallString="%CommonSetupDir%\Setup.exe" "%ProgramFilesDir%\Empirum Packages\%Productname% %Version%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
AskUninstallOld=1
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
DateWarning=1
SizeWarning=1
Reboot=0
PreventExternalReboot=1
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
DisableCancelButton=1
ShowEndMessage=0
EndMessage=%EndMessageDesc%


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

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

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
V_MSIInstallerID=A3F523DD4926A6045888BEA20D3484C4
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
ReInstSuccessMessage1033=Configuration completed successfully.
MSILogFile=%Temp%\MSI_%ProductName%.%Version%.%Revision%.log
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=\\%EmpirumServer%\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]!!!

[Encryption]

[Disks]
1=%Disk1%

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

[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, %ProgramFilesDir%\Empirum Packages\%Productname% %Version%\, 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 Values$\MachineValues\%DomainName%\%ComputerName%.ini or Values$\UserValues\%UserDomain%\%WindowsUser%.ini not found!
Abort

[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT
;ReplaceEnv <Variable>

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

[Set:Product]
IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DD325F3A-6294-406A-8588-EB2AD043484C},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DD325F3A-6294-406A-8588-EB2AD043484C},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter -1
Call MsiExec /Fvomus "%SRC%\PLSQL Developer.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf

[InstallMSI]
AddMeter -1
Call MsiExec /I "%SRC%\PLSQL Developer.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DD325F3A-6294-406A-8588-EB2AD043484C},UnInstallString") == "0" & DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DD325F3A-6294-406A-8588-EB2AD043484C},UnInstallString") == "0" Then "AbortMSIInst" EndIf

[Set:Uninstall]
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DD325F3A-6294-406A-8588-EB2AD043484C},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{DD325F3A-6294-406A-8588-EB2AD043484C},UnInstallString") == "1" Then "AbortMSIUnInst" EndIf
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
-Call MsiExec /X {DD325F3A-6294-406A-8588-EB2AD043484C} REBOOT=REALLYSUPPRESS /qr
-KillProcess "plsqldev.exe",0
-AddMeter -1

[RebootRequired]
SetReboot 1

[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]

[Reg:Product]

[Ini:Product]
"%ProgramFilesDir%\PLSQL Developer\Preferences\Default\Default.ini","Preferences",,"CheckNewsMode=5"
"%ProgramFilesDir%\PLSQL Developer\Preferences\Default\Default.ini","Preferences",,"CheckUpdatesMode=5"
"%ProgramFilesDir%\PLSQL Developer\Preferences\Default\Default.ini","Preferences",,"PrefAutomaticStatistics=True"
"%ProgramFilesDir%\PLSQL Developer\Preferences\Default\Default.ini","Preferences",,"OpenTransaction=1"

[Security:Product]

[Shell:Product]

Gruß
Andreas

Re: AskUninstallOld

Verfasst: 19. Apr 2011, 09:54
von marc.schneider

Code: Alles auswählen

Command line options   =/AW /S1
oder

Code: Alles auswählen

Command line options   =/AW /S0
...sollte helfen.

Re: AskUninstallOld

Verfasst: 19. Apr 2011, 12:51
von FruF
Was sagt denn das Dialogfenster?
Bei uns läuft es mit S2 einwandfrei.
Er nimmt ja einfach den Uninstallbefehl der Vorgängerversion.

FruF

Re: AskUninstallOld

Verfasst: 19. Apr 2011, 13:52
von aalbang
Es funktioniert mit keinem der genannten Schalter.

Er sagt immer:
"Eine frühere Version 'x.x.x' wurde entdeckt. Soll diese Version entfernt
werden, bevor die neue Version weiter installiert wird ?"

Re: AskUninstallOld

Verfasst: 19. Apr 2011, 14:17
von Jens Altrock
Muss AskUninstallOld nicht auf 0 stehen?

Re: AskUninstallOld

Verfasst: 19. Apr 2011, 14:45
von MGrundl
Was in der Setup.inf drinnen steht ist für sie Installation unerheblich.
Es wird beim ersten Import des Paketes hergenommen.

Was steht bei Dir im Depot bei den Eigenschaften des Paketes unter Prüfung -> Befehl?

lg,
Manfred

Re: AskUninstallOld

Verfasst: 19. Apr 2011, 15:41
von aalbang
Danke Manfred.

Habe nicht gewusst das die Schalter im Script nur für den Import wichtig sind.
(\S0 wurde nachträglich ins Script hinzugefügt)

Unter Prüfung steht nur: "%Setup%" %SetupParms% "%Script%" /AW

Damit ist das Problem gelöst und erklärt auch warum das nur bei dem Paket so war.

Vielen Dank.

gruß, andreas

Re: AskUninstallOld

Verfasst: 19. Apr 2011, 16:20
von MGrundl
Noch eine kleine Anmerkung,

es ist sehr empfehlenswert, wenn nach einem Paketimport ins Depot die Funktion "Versionen abgleichen" durchgeführt wird.
Zu finden in der EMC unter Depot -> Extras -> Versionen abgleichen.
Damit kommt man solchen Ungleichheiten auf die Spur.

lg,
Manfred