MSI Installation Userteil x64

Post Reply
MPI.EVA
Posts: 170
Joined: 19. Jun 2008, 15:40
Contact:

MSI Installation Userteil x64

Post by MPI.EVA » 01. Oct 2010, 14:21

Hallo,

ich habe noch ein kleines Problem mit meinem Firefox MSI Paket unter x64
Installiere ich das Paket direkt via Setup.exe gibt es keine Probleme und alle Schritte (Maschine, User) werden richtig ausgefuehrt.

Rolle ich das Paket aber per EmpConsole aus gibt es nur Probleme.

Setup.inf

Code: Select all

[SetupInfo]
Author                  =dennis_reinhardt
CreationDate            =21.09.2010 08:30:43 
InventoryID             = 
Description             = 
Method                  = MSI
Tested on               = 
Dependencies            = 
Command line options    = /S2 /AW
Last Change             = 3.6.6
Build                   = 

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

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

[Requirements]

[Application]
ProductName=Mozilla Firefox
ProductNameShort=Firefox
Version=3
VersionDirSuffix=100
Revision=0
; 3.6.6 = 0 , 3.6.8 = 1 , 3.6.10 = 2
; Bitte auch die Variable "VersionInf" unter [Environment] anpassen
ServiceRelease=0
DeveloperName=Mozilla
DeveloperNameShort=
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,           14, , 007F00, 4, -14, BOTTOM ITALIC LEFT
BackgroundColor=FF0000,000000
BackgroundPicture=
BackgroundSound=
Logo=
WizardPicture=
CopyDialogRect=0%, 77%, 100%, 100%, HCENTER
PrecopyFiles=
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
HideUninstall=0
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
DataDir=%Personal%
DefaultUser=
DefaultCompany=
Prompts=
RunIfInstalled=
Readme=
Execute=
Expand=0
CopyExistingFiles=0
AskUninstallOld=0
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
lang=ger

[SysStrings:09]
Users=Users
lang=eng

[Environment]
V_MSIInstallerID=AF6DBEF1F3D108043BF605E0EE5BE878
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%

VersionInf=3.6.6

; 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]
; Firefox-Prozess  
Firefox=firefox.exe, Mozilla Firefox, KILLPROCESS 

[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

; Tool SWISS FILE KNIFE kopieren (siehe http://stahlworks.com/dev/swiss-file-knife.html)
1:..\..\..\..\User\sfk.exe,        %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 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 Text>
Abort

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

;ReplaceEnv <Variable>

#Set:ArchitectureEnvironment, DONTDELETE
#Set:PreCheck, DONTDELETE
;#Set:Product, DONTDELETE
#Set:Client, CLIENT
#Reg:OnUninstallProduct, DELETE
#Reg:Product, DONTDELETE
#Ini:Product, DONTDELETE
#Security:Product
#Set:Uninstall, DELETE
#Set:ChangeMSISourcelist, DONTDELETE

[Set:ArchitectureEnvironment]
; x86 / x64 Pruefung
Set Proc_Arch=%HKLM,SYSTEM\CurrentControlSet\Control\Session Manager\Environment,PROCESSOR_ARCHITECTURE%
If %Proc_Arch% == "AMD64" Then "Setx64" Else "Setx86" EndIf

[Setx64]
Set RegValue=Wow6432Node

[Setx86]
Set RegValue=


[MSI_ProductCode]
;FireFox MSI ProductCode
If %lang% == "ger" & %VersionInf% == 3.6.6 Then "ger_3.6.6" EndIf
If %lang% == "ger" & %VersionInf% == 3.6.8 Then "ger_3.6.8" EndIf
If %lang% == "ger" & %VersionInf% == 3.6.10 Then "ger_3.6.10" EndIf

If %lang% == "eng" & %VersionInf% == 3.6.6 Then "eng_3.6.6" EndIf
If %lang% == "eng" & %VersionInf% == 3.6.8 Then "eng_3.6.8" EndIf
If %lang% == "eng" & %VersionInf% == 3.6.10 Then "eng_3.6.10" EndIf

[ger_3.6.6]
Set MSI_ProductCode={A629FD32-2A4D-4045-AA36-81C33E2256C0}
[ger_3.6.8]
Set MSI_ProductCode={1FEBD6FA-1D3F-4080-B36F-500EEEB58E87}
[ger_3.6.10]
Set MSI_ProductCode={90614BBD-255C-4ED0-830F-9BD84A656F96}

[eng_3.6.6]
Set MSI_ProductCode={70751E77-B5CC-4936-B7BA-13358BFA7BE3}
[eng_3.6.8]
Set MSI_ProductCode={55B4BA08-659E-4316-ABFE-55CB01D59110}
[eng_3.6.10]
Set MSI_ProductCode={8C661290-B6D6-455C-9B0A-89DA71CCBBC2}

[Set:PreCheck]
;PreCheck
AskKillProcesses 30, Firefox
Sleep 2700

Set VersionInf=%VersionInf%
Set VersionReg=%HKLM,"SOFTWARE\matrix42\Firefox","InstalledVersion"%

If %VersionReg% == %VersionInf% Then "RepairMSI" Else "InstallMSI" EndIf


;[Set:Product]
;Del "%MSILogFile%"
;IF DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1FEBD6FA-1D3F-4080-B36F-500EEEB58E87},UnInstallString") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[RepairMSI]
AddMeter 50
Call MsiExec /Fvomus "%SRC%\%lang%\%lang%_%VersionInf%.msi"  TRANSFORMS="%SRC%\%lang%\%lang%_%VersionInf%.mst" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
;IF DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" Then "AbortMSIInst" EndIf
;Del "%MSILogFile%"
#Reg:SetVersion
#Set:Settings
1:%SetupInfDir%\Setup.inf,                             , NORMAL,                                             0

[InstallMSI]
AddMeter 50
Call MsiExec /I "%SRC%\%lang%\%lang%_%VersionInf%.msi"  TRANSFORMS="%SRC%\%lang%\%lang%_%VersionInf%.mst" REBOOT=REALLYSUPPRESS ARPSYSTEMCOMPONENT=1 /qr /Li "%MSILogFile%"
#MSI_ProductCode
If DoesRegKeyExist ("HKLM,SOFTWARE\%RegValue%\Microsoft\Windows\CurrentVersion\Uninstall\%MSI_ProductCode%,UnInstallString") == "0" Then "AbortMSIInst" EndIf
Del "%MSILogFile%"
#Reg:SetVersion
#Set:Settings
1:%SetupInfDir%\Setup.inf,                             , NORMAL,                                             0

[Set:Uninstall]
-DelTree %ProgramFiles%\%ProductName%
-Del "%MSILogFile%"
If DoesRegKeyExist ("HKLM,SOFTWARE\%RegValue%\Microsoft\Windows\CurrentVersion\Uninstall\%MSI_ProductCode%,UnInstallString") == "1" Then "AbortMSIUnInst" EndIf
-Call MsiExec /X %MSI_ProductCode% REBOOT=REALLYSUPPRESS /qr /Li "%MSILogFile%"
#MSI_ProductCode
-DelTree %ProgramFiles%\%ProductName%\AppData
-DelTree %ProgramFiles%\%ProductName%\extensions
-DelTree %ProgramFiles%\%ProductName%\bookmarks
-AddMeter 50
-Sleep 2700
-AskKillProcesses 30, Firefox

[Set:Settings]
; Konfigurationsdateien kopieren
1:AppData\user.js,, ALWAYS, 0

; Extensions
cmd /c xcopy "%SRC%\extensions" "%ProgramFiles%\Mozilla Firefox\extensions\" /S /E /Y /I

; Bookmarks
1:bookmarks\bookmarks.html,, ALWAYS, 0
1:%SRC%\bookmarks\bookmarks.html, "%ApplicationDir%\defaults\profile\bookmarks.html", ALWAYS, 0

; Defaults manipulieren
; ---------------------
;mozilla.cfg deaktivieren
call "%CommonSetupDir%\sfk.exe" filter "%ProgramFiles%\Mozilla Firefox\greprefs\all.js" -lswhere pref(\"general.config -rep _pref_//pref_ -write -yes
; Welcome 1. Start  verhindern (auskommentieren von Zeilen die mit pref("startup.homepage_ beginnen
call "%CommonSetupDir%\sfk.exe" filter "%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox-branding.js" -lswhere pref(\"startup.homepage_ -rep _pref_//pref_ -write -yes
; Update ausschalten (true mit false ersetzen)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox.js", '"app.update.enabled", true);', '"app.update.enabled", false);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox.js", '"app.update.auto", true);', '"app.update.auto", false);', 1)
; Download Ordner immer selber waehlen (true mit false ersetzen)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox.js", '"browser.download.useDownloadDir", true);', '"browser.download.useDownloadDir", false);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox.js", '"browser.download.folderList", 1);', '"browser.download.folderList", 2);', 1)
; Browser wird nicht geschlossen, wenn letzter Tab geschlossen wird (true mit false ersetzen)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox.js", '"browser.tabs.closeWindowWithLastTab", true);', '"browser.tabs.closeWindowWithLastTab", false);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox.js", '"network.proxy.share_proxy_settings",  false);', '"network.proxy.share_proxy_settings",  true);', 1)
; Browser Startpage
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\defaults\pref\firefox.js", '"browser.startup.homepage",            "resource:/browserconfig.properties");', '"browser.startup.homepage",            "http://info.eva.mpg.de");', 1)
; ProxySettings
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.type",                  5);', '"network.proxy.type",                     2);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.ftp_port",              0);', '"network.proxy.ftp_port",              3128);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.gopher_port",           0);', '"network.proxy.gopher_port",           3128);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.http_port",             0);', '"network.proxy.http_port",             3128);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.ssl_port",              0);', '"network.proxy.ssl_port",              3128);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.socks_port",            0);', '"network.proxy.socks_port",            3128);', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.ftp",                   "");', '"network.proxy.ftp",                   "elninjo.eva.mpg.de");', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.gopher",                "");', '"network.proxy.gopher",                "elninjo.eva.mpg.de");', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.http",                  "");', '"network.proxy.http",                  "elninjo.eva.mpg.de");', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.ssl",                   "");', '"network.proxy.ssl",                   "elninjo.eva.mpg.de");', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.socks",                 "");', '"network.proxy.socks",                 "elninjo.eva.mpg.de");', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.no_proxies_on",         "localhost, 127.0.0.1");', '"network.proxy.no_proxies_on",         "localhost, 127.0.0.1, eva.mpg.de");', 1)
ReplaceTextFile ("%ProgramFiles%\Mozilla Firefox\greprefs\all.js", '"network.proxy.autoconfig_url", "");', '"network.proxy.autoconfig_url", "http://www.eva.mpg.de/proxy.pac");', 1)

[Set:Client]
; Bookmarks in DefaultProfil kopieren
;cmd /c xcopy "%ProgramFiles%\%ProductName%\bookmarks\bookmarks.html" "%ProgramFiles%\%ProductName%\defaults\profile\" /S /E /Y


Call cmd /c ""%ProgramFiles%"\"Mozilla Firefox"\firefox.exe -CreateProfile default"

; aktives Profil ermitteln (steht in der Datei profiles.ini in dem Abschnitt Profile0 mit dem Wert Path)
set V_Help=%%%Appdata%\\Mozilla\\Firefox\\profiles.ini,Profile0,Path%%
ReplaceEnv V_Help

; führendes "Profiles/" abschneiden
set V_ProfileName = RemoveFromLeft ("%V_Help%", 9)

; erzwungene Usereinstellungen überschreiben (enthält u.a. Proxykonfiguration)
1:%SRC%\AppData\user.js, "%AppData%\Mozilla\Firefox\profiles\%V_ProfileName%\user.js", CLIENT ALWAYS REPLACEVARS, 0

[AbortMSIInst]
ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
Echo 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\matrix42\Firefox"

[Reg:Product]

[Reg:SetVersion]
HKLM,SOFTWARE\matrix42\Firefox,InstalledVersion,0x00000000,%VersionInf%

[Ini:Product]

[Security:Product]

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

[Shell:Product]
%AppData%\Microsoft\Internet Explorer\Quick Launch\Internet, %App%\firefox.exe, , %App%, , %App%\firefox.exe
%Desktop%\Internet, %App%\firefox.exe, , %App%, , %App%\firefox.exe
Internet, %App%\firefox.exe, , %App%, , %App%\firefox.exe
;%App%\defaults\shortcuts\Internet, %App%\firefox.exe, , %App%, , %App%\firefox.exe
- Poll des Paketes durch SWDepot
- Start der MSI Installation [InstallMSI]
- Start der einzelnen Sub Sections waehrend der Installation
#Reg:SetVersion
#Set:Settings
- DebugView
[2836] Install (Machine)
[2836] Success
Danach startet die Installation des Userteils

DebugView
[2836] Install (User)
[2836] Running...
Der Userteil versucht immer wieder die [RepairMSI] Sektion zu starten.
Im Statusfenster auf dem Desktop steht
Call MsiExec /FVmous "C:\Program Files(x86)\Mozilla...
Unter x86 macht das Paket keine Probleme! Und ich habe auch keine Ahnung, wieso er immer wieder eine komplette Installation starten moechte - obwohl es ja eine extra Client Section gibt #Set:Client, CLIENT

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 2 guests