Paketierungsproblem: Vorher nach geöffneten Browsern suchen

MATSupport
Posts: 66
Joined: 31. Oct 2011, 10:41
Contact:

Paketierungsproblem: Vorher nach geöffneten Browsern suchen

Post by MATSupport » 14. Mar 2012, 09:22

Hallo Forum,

ich habe hier ein ADD-On für den Firefox / InternetExplorer, welches wir gern installieren möchten (ArchitektenSoftware).
Das installieren des AddOns ist kein Problem, wenn die Browser geschlossen sind.

Ich möchte einen automatismus bauen, welche die Browser automatisch schließt.

Hat da jemand ein Codebeispiel für die Setup-Inf?
Geht das mit Boardmitteln oder muss ich da 3rd Party-Tools nutzen?

Gruesse

Walter_Schulz
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by Walter_Schulz » 14. Mar 2012, 09:31

Windows 7? Taskkill.

Ciao, Walter

Phadda
Posts: 654
Joined: 18. Jun 2009, 14:53
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by Phadda » 14. Mar 2012, 10:27

besser wäre askkillprocess, anstatt einfach offene websessions zu schliessen, wäre jedenfalls anwenderfreundlicher ;-)

Wetis
Posts: 3
Joined: 09. Sep 2010, 16:03
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by Wetis » 14. Mar 2012, 10:50

Hi,

wir verwenden in der setup.inf

[Processes]
Browser1 = iexpore.exe, Internet Explorer, KILLPROCESS CONTINUE

um den Browser mit Hinweis zu schließen.

Gruß
Christoph

MATSupport
Posts: 66
Joined: 31. Oct 2011, 10:41
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by MATSupport » 14. Mar 2012, 11:12

Hallo Forum,

vielen Dank für die Hinweise, die Funktion askkillprocesses kannte ich noch gar nicht.

Ich habe jetzt folgendes gebaut:

Code: Select all

[Processes]
;Name=Prozessname bzw. Fenstertitel, Anzeigename, Flags
firefox=firefox.exe, Firefox, QUERYCLOSEWINDOW CONTINUE
iexplore=iexplore.exe, Internet Explorer, QUERYCLOSEWINDOW CONTINUE

[Set:Product]
; **** AskKillProcesses [Timeout, Process1, Process2] ****
AskKillProcesses 20, firefox iexplore
Das Resultat ist folgende Fehlermeldung:

Es wird kein einziges Fenster geschlossen, weder Firefox noch Internet-Explorer.
Die Prozesse heissen:
iexplore.exe
firefox.exe.

:(

hat jemand eine Idee dazu?

Gruesse

Phadda
Posts: 654
Joined: 18. Jun 2009, 14:53
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by Phadda » 14. Mar 2012, 11:24

Versuch mal:
* Aufruf der setup.inf muss /S2 sein, sonst kommt keine Abfrage.
* Die Zeit auf -1 stellen
* Unter Processes NICHT auf die Datei sondern auf den Fensternamen mit Wildcards wie "*internet explorer*"

Zudem kannst noch prüfen ob überhaupt die Prozesse laufen mit
If doesprocessexist ("iexplore.exe") == "1" then "set:killie endif
set:killie
askkillprocesses -1, etc

User avatar
Frank Dethlefsen
Posts: 521
Joined: 06. Apr 2006, 22:01
Location: Bochum
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by Frank Dethlefsen » 14. Mar 2012, 11:54

Hallo!

@Matsupport Du hast ein Komma vergessen beim AskKillProcesses.

Ich mache es immer so:

Code: Select all

...
[Processes]
firefox=firefox.exe, Mozilla Firefox, KILLPROCESS ABORT
iexplore=iexplore.exe, Internet Explorer, KILLPROCESS ABORT

[Product]
...
AskKillProcesses 600, firefox, iexplore
...
...
-AskKillProcesses 600, firefox, iexplore
Frank Dethlefsen
Consultant und Coach
UPDATENOW GmbH
Frank.Dethlefsen@updatenow.de
https://empirum.blogspot.de/

MATSupport
Posts: 66
Joined: 31. Oct 2011, 10:41
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by MATSupport » 14. Mar 2012, 12:00

Hallo,

vielen Dank für den Tip, mit dem Fensternamen funktioniert es.
Die Erkennung des Prozesses funktioniert scheinbar nicht.

Wenn ich nämlich die Abfrage einbaue, passiert nix.
If doesprocessexist ("iexplore.exe") == "1" then "set:killie endif
set:killie
askkillprocesses -1, etc

sieht so bei mir aus:

Code: Select all

[Processes]
if doesprocessexist ("iexplore.exe") == "1" then "set:killIE endif
if doesprocessexist ("firefox.exe") == "1" then "set:KillFF endif

[SET:KillIE]
AskKillProcesses -1, iexplore
iexplore=*Internet Explorer*, Internet-Explorer, QUERYCLOSEWINDOW CONTINUE

[SET:KillFF]
AskKillProcesses -1, firefox
firefox=*Firefox*, Firefox, QUERYCLOSEWINDOW CONTINUE

@Frank D.: bereits korrigiert das wars nicht , vielen Dank


Gruesse

Phadda
Posts: 654
Joined: 18. Jun 2009, 14:53
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by Phadda » 14. Mar 2012, 12:47

ist auch alles bissl durcheinander gewürfelt ;-)
versuch mal ...

Code: Select all

[Processes]
IEPROC=*internet explorer*, Close all IE Windows, QUERYCLOSEWINDOW ABORT
FFPROC=*firefox*, Close all FF Windows, QUERYCLOSEWINDOW ABORT

[SET:Installation]
If DoesProcessExist ("iexplore.exe") == "1" Then "SET:KillIE" Endif
If DoesProcessExist ("firefox.exe") == "1" Then "SET:KillFF" Endif

[SET:KillIE]
AskKillProcesses -1, IEPROC

[SET:KillFF]
AskKillProcesses -1, FFPROC

MATSupport
Posts: 66
Joined: 31. Oct 2011, 10:41
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by MATSupport » 09. Jul 2012, 15:10

Hallo Phadda,

ich hatte das zwischenzeitig verworfen und nun wieder aufgegriffen.
Leider passiert mit den Prozessen vom IE und FF immer noch nix.

Ich führe das auf deinem Win7_x64 OS aus.

meine setup-inf sieht so aus:

Code: Select all

[SetupInfo]
Author                  =administrator
CreationDate            =09.07.2012 14:37:46 
InventoryID             =
Description             = 
Method                  = MSI
Tested on               = 
Dependencies            = 
Command line options    =/S2
Last Change             = 
Build                   = 

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

[Setup]
Version=14.2
ShowCaption=1
BlockInput=0
Platform=x64

[Requirements]

[Application]
ProductName=Adobe Flash Player 11 Plugin_All_OS_ALL_Lang
DeveloperName=Adobe
Version=11.3.300.262
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"
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=0
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

[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=0D0799032E0DBA949B2A084FE82249A7
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
ReInstSuccessMessage1031_1=Die Konfiguration wurde abgeschlossen.
ReInstSuccessMessage1033=Configuration completed successfully.
ReInstSuccessMessage1033_1=Configuration completed.
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,                             , 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, DONTDELETE
#Security:Product
#Set:Uninstall, DELETE
#Set:ChangeMSISourcelist, DONTDELETE

[Processes]
; Processe, welche für die Installation geschlossen werden sollen
IEPROC=*internet explorer*, Close all IE Windows, CLOSEWINDOW
FFPROC=*firefox*, Close all FF Windows, CLOSEWINDOW

[SET:Installation]
; Prüfen, ob die Prozesse IE und FF laufen
If DoesProcessExist ("iexplore.exe") == "1" Then "SET:KillIE32" Endif
If DoesProcessExist ("firefox.exe") == "1" Then "SET:KillFF32" Endif


[SET:KillIE32]
;IE schliessen
AskKillProcesses 5, IEPROC

[SET:KillFF32]
;FF schliessen
AskKillProcesses 5, FFPROC


[Set:Product]
Del "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter -1
Call MsiExec /Fvomus "%SRC%\install_flash_player_11_plugin.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
If DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1031_1%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033_1%", "%MSILogFile%") == "0" Then "AbortMSIInst" EndIf
Del "%MSILogFile%"

[InstallMSI]
AddMeter -1
;alte Versionen deinstallieren
Call "%Src%\uninstall_flash_player_32.exe" -uninstall

;aktuelle Flashplayer Version 11.3.300.257 installieren
Call MsiExec /I "%SRC%\install_flash_player_11_plugin.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "0" & DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "0" Then "AbortMSIInst" EndIf
Del "%MSILogFile%"

[Set:Uninstall]
-Del "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" Then "AbortMSIUnInst" EndIf
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
-Call MsiExec /X {309970D0-D0E2-49AB-B9A2-80F48E22947A} REBOOT=REALLYSUPPRESS /qr /Li "%MSILogFile%"
-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]

[Security:Product]

[Shell:Product]
Hat jemand eine Ahnung was klemmt? Ich seh den Wald vor lauter Bäumen nicht mehr.

Gruss

MATSupport

drmark
Posts: 62
Joined: 21. Jan 2010, 10:03
Location: Hamburg
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by drmark » 09. Jul 2012, 15:22

Die Sektion SET:Installation muss auch aufgerufen werden!

Also am besten for dem Aufruf von Set:Product einfügen (mit Lattenkreuz # ruft man eine Sektion auf):

#SET:Installation
#Set:Product, DONTDELETE

Bereich Informatik
HELM AG, Hamburg


Empirum V14.2.1.277

MATSupport
Posts: 66
Joined: 31. Oct 2011, 10:41
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by MATSupport » 09. Jul 2012, 16:52

Hallo Drmarc,

bei der installation funktionierts nun.

so siehts jetzt aus:

Code: Select all


[SetupInfo]
Author                  =administrator
CreationDate            =09.07.2012 14:37:46 
InventoryID             =
Description             = 
Method                  = MSI
Tested on               = 
Dependencies            = 
Command line options    =/S2
Last Change             = 
Build                   = 

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

[Setup]
Version=14.2
ShowCaption=1
BlockInput=0
Platform=x64

[Requirements]

[Application]
ProductName=Adobe Flash Player 11 Plugin_All_OS_ALL_Lang
DeveloperName=Adobe
Version=11.3.300.262
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"
ReinstallMode=1
SrcDir=..
ApplicationDir=%ProgramFilesDir%\Matrix42\%Developername%\%Productname%\%Version%
SetupInfDir=Install
DataDir=%Personal%
AskUninstallOld=1
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
DateWarning=1
SizeWarning=0
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

[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=0D0799032E0DBA949B2A084FE82249A7
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
ReInstSuccessMessage1031_1=Die Konfiguration wurde abgeschlossen.
ReInstSuccessMessage1033=Configuration completed successfully.
ReInstSuccessMessage1033_1=Configuration completed.
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,                             , 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:Installation
#Set:Product, DONTDELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE
#Security:Product

#Set:Uninstall, DELETE
#Set:Uninstall2, DELETE
#Set:ChangeMSISourcelist, DONTDELETE

[Processes]
; Processe, welche für die Installation geschlossen werden sollen
IEPROC=*internet explorer*, Close all IE Windows, DESTROYWINDOW
FFPROC=*firefox*, Close all FF Windows, DESTROYWINDOW

[SET:Installation]
; Prüfen, ob die Prozesse IE und FF laufen
If DoesProcessExist ("iexplore.exe") == "1" Then "SET:KillIE32" Endif
If DoesProcessExist ("firefox.exe") == "1" Then "SET:KillFF32" Endif
;If DoesProcessExist ("iexplore.exe *32") == "1" Then "SET:KillIE64" Endif
;If DoesProcessExist ("firefox.exe *32") == "1" Then "SET:KillFF64" Endif

[SET:KillIE32]
;IE schliessen
AskKillProcesses 5, IEPROC

[SET:KillFF32]
;FF schliessen
AskKillProcesses 5, FFPROC

[SET:KillIE64]
;IE64 schliessen
;AskKillProcesses -1, IEPROC64

[SET:KillFF64]
;FF64 schliessen
;AskKillProcesses -1, FFPROC64

[Set:Product]
;Display Icon kopieren
1:Flashplayer.ico,"C:\Program Files\Matrix42\Adobe\Adobe Flash Player 11 Plugin_All_OS_ALL_Lang" , ALWAYS|NOSIZEWARNING, 0
; 1:, %App%, CREATE DIRECTORY CASCADED, 0

Del "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter -1
Call MsiExec /Fvomus "%SRC%\install_flash_player_11_plugin.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
If DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1031_1%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033_1%", "%MSILogFile%") == "0" Then "AbortMSIInst" EndIf
Del "%MSILogFile%"

[InstallMSI]
AddMeter -1
;alte Versionen deinstallieren
Call "%Src%\uninstall_flash_player_32.exe" -uninstall

;aktuelle Flashplayer Version 11.3.300.257 installieren
Call MsiExec /I "%SRC%\install_flash_player_11_plugin.msi"   REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "0" & DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "0" Then "AbortMSIInst" EndIf
Del "%MSILogFile%"

[Set:Uninstall]
If DoesProcessExist ("iexplore.exe") == "1" Then "SET:KillIE_" Endif
If DoesProcessExist ("firefox.exe") == "1" Then "SET:KillFF32_" Endif
-AddMeter -1

[SET:KillIE32_]
;IE schliessen
AskKillProcesses 5, IEPROC

[SET:KillFF32_]
;FF schliessen
AskKillProcesses 5, FFPROC


[Set:Uninstall2]
-DELTREE %ProgramFilesDir%\Matrix42\%Developername%\%Productname%\
;-DELTREE "C:\Program Files\Matrix42\Adobe\Adobe Flash Player 11 Plugin_All_OS_ALL_Lang\"
-Del "%MSILogFile%"
-Call "%Src%\uninstall_flash_player_32.exe" -uninstall
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{309970D0-D0E2-49AB-B9A2-80F48E22947A},UnInstallString") == "1" Then "AbortMSIUnInst" EndIf
If %ErrorLevel% == "3010" Then "RebootRequired" EndIf
-Call MsiExec /X {309970D0-D0E2-49AB-B9A2-80F48E22947A} REBOOT=REALLYSUPPRESS /qr /Li "%MSILogFile%"
-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]
;Icon in der Systemsteuerung anzeigen
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Adobe Flash Player 11 Plugin_All_OS_ALL_Lang 11.3.300.262","DisplayIcon",0x00000000,"C:\Program Files\Matrix42\Adobe\Adobe Flash Player 11 Plugin_All_OS_ALL_Lang\Flashplayer.ico"

;Programmgroesse in der Systemsteuerung anzeigen
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Adobe Flash Player 11 Plugin_All_OS_ALL_Lang 11.3.300.262","EstimatedSize",0x00010001,9216

[Ini:Product]

[Security:Product]

[Shell:Product]


bei der deinstallation greifts aber nicht

drmark
Posts: 62
Joined: 21. Jan 2010, 10:03
Location: Hamburg
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by drmark » 10. Jul 2012, 13:30

Zwei Ideen:
1. Evtl. muss die Reihenfolge von #Set:Uninstall und #Set:Uninstall2 (beim Aufrufen mit dem Lattenkreuz!) umgedreht werden.
Bin mir gerade nicht sicher, ob bei der Deinstallation nicht das gesamte Script auch von unten nach oben abgearbeitet wird.
2. Evtl. muss vor den Befehlen AskKillProcesses auch ein Minuszeichen. Da bin ich aber gerade auch nicht sicher.
Probier doch beides mal aus!

Bereich Informatik
HELM AG, Hamburg


Empirum V14.2.1.277


Walter_Schulz
Posts: 876
Joined: 17. Dec 2004, 12:29
Contact:

Re: Paketierungsproblem: Vorher nach geöffneten Browsern suc

Post by Walter_Schulz » 10. Jul 2012, 16:55

drmark wrote:1. Evtl. muss die Reihenfolge von #Set:Uninstall und #Set:Uninstall2 (beim Aufrufen mit dem Lattenkreuz!) umgedreht werden.
Bin mir gerade nicht sicher, ob bei der Deinstallation nicht das gesamte Script auch von unten nach oben abgearbeitet wird.
Der grundlegende Ablauf ist, dass die aufgerufenen Sektionen bei der Installation von oben nach unten ausgefuehrt werden, bei der Deinstallation von unten nach oben.
Die obligatorische Steuersektion ist [Options]. Dort wird zuerst [Installer], dann [Product] installiert, bzw. umgekehrt deinstalliert. Fuer die dort aufgerufenen Sektionen gilt selbiges.
Jedenfalls gilt das, falls man nicht DELETE und DONTDELETE zur weiteren Verwirrung verwendet.
[Product] und [Installer] sind im Grunde nur Konvention. Weitere Sektionsaufrufe in von [Options] aufgerufenen Sektionen erfordern den vorgestellten Lattenzaun.
Nur mit [SHELL:Product] wird die Logik unterbrochen, da diese Sektion ueber einen Eintrag in [Application] aktiviert/deaktiviert wird und nicht per "Sektions-Aufruf". Just to confuse the Russians ...

Ciao, Walter

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 7 guests