Problem Deinstallation x86/x64
Moderator: MVogt
Problem Deinstallation x86/x64
Hallo Forum,
ich habe eine Software paketiert deren Deinstallation je nach Prozessor Architektur variiert.
Auf meinem x64 Testsystem läuft alles einwandfrei, doch in der freien Wildbahn springen die x64 Clients immer in die Deinstallation für x86:
03.04.2013 07:03:22
Kann Befehl '-Call "C:\Program Files\XMind\uninstall.exe" /S' nicht ausführen.
Fehler 2!
OK
Anbei das Script, vielleicht hat jemand eine Idee was ich falsch mache!?
Vielen Dank schon mal für Euer Interesse.
[Setup]
Version=14.2
ShowCaption=1
BlockInput=0
Platform=*
[Requirements]
[Application]
ProductName=XMind
DeveloperName=Collaborative Minds
Version=3.2.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%, 0%, 100%, 100%, HCENTER VCENTER
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"
ReinstallMode=1
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
DataDir=%Personal%
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=1
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
ErrorText=Fehler
CallingText=beim Aufruf von
[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
ErrorText=Error
CallingText=launching
[SysStrings:07]
Users=Benutzer
[SysStrings:09]
Users=Users
[Environment]
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%"
[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 Values$\MachineValues\%DomainName%\%ComputerName%.ini or Values$\UserValues\%UserDomain%\%WindowsUser%.ini not found!
Abort
[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT
;ReplaceEnv <Variable>
#Set:Product
#Set:Installation, DONTDELETE
#Set:Deinstallationx32,DELETE WINDOWS32
#Set:Deinstallationx64,DELETE WINDOWS64
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product
[Set:Product]
[SET:Installation]
AddMeter -1
Call "%Src%\xmind-win-3.2.1.201011212218.exe" /S
Del "%USERPROFILE%\Desktop\XMind.lnk" /F
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf
[SET:Deinstallationx32]
If "%Src%\Setup.exe" <> "" Then "SET:Deinstallation2" EndIf
[SET:Deinstallation2]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "C:\Program Files\XMind\uninstall.exe" /S
-AddMeter -1
[SET:Deinstallationx64]
If "%Src%\Setup.exe" <> "" Then "SET:Deinstallation4" EndIf
[SET:Deinstallation4]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "C:\Program Files (x86)\XMind\uninstall.exe" /S
-AddMeter -1
[Reg:OnUninstallProduct]
[Reg:Product]
[Ini:Product]
[Security:Product]
[Shell:Product]
[SET:InstallationError]
ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% xmind-win-3.2.1.201011212218.exe
Abort
[SET:DeInstallationError]
-Abort
-ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% Setup.exe
ich habe eine Software paketiert deren Deinstallation je nach Prozessor Architektur variiert.
Auf meinem x64 Testsystem läuft alles einwandfrei, doch in der freien Wildbahn springen die x64 Clients immer in die Deinstallation für x86:
03.04.2013 07:03:22
Kann Befehl '-Call "C:\Program Files\XMind\uninstall.exe" /S' nicht ausführen.
Fehler 2!
OK
Anbei das Script, vielleicht hat jemand eine Idee was ich falsch mache!?
Vielen Dank schon mal für Euer Interesse.
[Setup]
Version=14.2
ShowCaption=1
BlockInput=0
Platform=*
[Requirements]
[Application]
ProductName=XMind
DeveloperName=Collaborative Minds
Version=3.2.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%, 0%, 100%, 100%, HCENTER VCENTER
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"
ReinstallMode=1
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
DataDir=%Personal%
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=1
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
ErrorText=Fehler
CallingText=beim Aufruf von
[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
ErrorText=Error
CallingText=launching
[SysStrings:07]
Users=Benutzer
[SysStrings:09]
Users=Users
[Environment]
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%"
[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 Values$\MachineValues\%DomainName%\%ComputerName%.ini or Values$\UserValues\%UserDomain%\%WindowsUser%.ini not found!
Abort
[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT
;ReplaceEnv <Variable>
#Set:Product
#Set:Installation, DONTDELETE
#Set:Deinstallationx32,DELETE WINDOWS32
#Set:Deinstallationx64,DELETE WINDOWS64
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product
[Set:Product]
[SET:Installation]
AddMeter -1
Call "%Src%\xmind-win-3.2.1.201011212218.exe" /S
Del "%USERPROFILE%\Desktop\XMind.lnk" /F
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf
[SET:Deinstallationx32]
If "%Src%\Setup.exe" <> "" Then "SET:Deinstallation2" EndIf
[SET:Deinstallation2]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "C:\Program Files\XMind\uninstall.exe" /S
-AddMeter -1
[SET:Deinstallationx64]
If "%Src%\Setup.exe" <> "" Then "SET:Deinstallation4" EndIf
[SET:Deinstallation4]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "C:\Program Files (x86)\XMind\uninstall.exe" /S
-AddMeter -1
[Reg:OnUninstallProduct]
[Reg:Product]
[Ini:Product]
[Security:Product]
[Shell:Product]
[SET:InstallationError]
ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% xmind-win-3.2.1.201011212218.exe
Abort
[SET:DeInstallationError]
-Abort
-ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% Setup.exe
Re: Problem Deinstallation x86/x64
Hallo caputo,
nur so als Idee - könntest Du nicht die Deinstallation genauso wie die Installation (ohne Unterscheidung 32/64) laufen lassen und als Pfad einfach %App%\uninstall.exe verwenden. Dabei sollte er sich doch im passenden Pfad bewegen.
Lutz
nur so als Idee - könntest Du nicht die Deinstallation genauso wie die Installation (ohne Unterscheidung 32/64) laufen lassen und als Pfad einfach %App%\uninstall.exe verwenden. Dabei sollte er sich doch im passenden Pfad bewegen.
Lutz
Re: Problem Deinstallation x86/x64
Hallo Lutz,
danke für Dein Interesse.
Leider habe ich mit dieser Variable noch nie gearbeitet. Wo wird diese denn definiert? Kann leider nichts dazu finden.
Gruß
danke für Dein Interesse.
Leider habe ich mit dieser Variable noch nie gearbeitet. Wo wird diese denn definiert? Kann leider nichts dazu finden.
Gruß
Re: Problem Deinstallation x86/x64
Hallo caputo,
Du kannst auch %ApplicationDir% nehmen. Ich habe nur irgendwann mal irgendwo gelesen oder gesehen, dass die Variable %App% den gleichen Inhalt hat und nehme diese, weil es sich einfach schneller schreibt.
Gruß Lutz
Du kannst auch %ApplicationDir% nehmen. Ich habe nur irgendwann mal irgendwo gelesen oder gesehen, dass die Variable %App% den gleichen Inhalt hat und nehme diese, weil es sich einfach schneller schreibt.
Gruß Lutz
Re: Problem Deinstallation x86/x64
ok, hab mit Variablen meist schlechte Erfahrungen gemacht. Klappt oft nicht. Als ein Consultant bei uns war wollte er auch mit Variablen arbeiten und es funktionierte nicht, er wußte nicht wieso...
So, habs ausprobiert in zwei Varianten:
-Call "%App%\uninstall.exe" /S
sowie
-Call "%ApplicationDir%\uninstall.exe" /S
In beiden Fällen "Fehler 2" -> kann den Befehl nicht ausführen.
So, habs ausprobiert in zwei Varianten:
-Call "%App%\uninstall.exe" /S
sowie
-Call "%ApplicationDir%\uninstall.exe" /S
In beiden Fällen "Fehler 2" -> kann den Befehl nicht ausführen.
Re: Problem Deinstallation x86/x64
Hallo caputo,
war ja nur eine Idee.
Im SetuperrorLog des entsprechenden Computers sollte zumindest zu sehen sein, ob die Variablenauflösung geklappt hat.
Gruß Lutz
war ja nur eine Idee.
Im SetuperrorLog des entsprechenden Computers sollte zumindest zu sehen sein, ob die Variablenauflösung geklappt hat.
Gruß Lutz
Re: Problem Deinstallation x86/x64
Lutz, für Ideen bin ich ja hier! Nochmals vielen Dank! Bin für jeden Tip dankbar!
Re: Problem Deinstallation x86/x64
Hallo,
wenn es sich um eine 32-bit Anwendungen handelt, dann würde ich folgendes vorschlagen:
Gruß
Roman
wenn es sich um eine 32-bit Anwendungen handelt, dann würde ich folgendes vorschlagen:
Code: Select all
...
Platform=x86
...
#Set:Deinstallation, DELETE
..
[SET:Deinstallation]
If "%ProgramFilesDir%\XMind\uninstall.exe" <> "" Then "SET:Deinstallation2" EndIf
[SET:Deinstallation2]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-Call "%ProgramFilesDir%\XMind\uninstall.exe" /S
-AddMeter -1
...
Roman
Re: Problem Deinstallation x86/x64
Hallo Roman,
vielen Dank, so geht´s.
Gruß
vielen Dank, so geht´s.
Gruß
Who is online
Users browsing this forum: No registered users and 9 guests