BenutzerTeil und Datein

User avatar
FruF
Posts: 204
Joined: 26. Jan 2009, 12:33
Contact:

BenutzerTeil und Datein

Post by FruF » 14. Dec 2010, 14:38

Tag
Es geht um mein Unverständniss bezüglich, wo was für die Machine und wo was für den User gemacht wird.
Das BeispielPaket hier ist Firefox.
Problem ist, dass die Datein nicht ins %APPDATA% kopiert werden.
Ich denke da liegt ein Denkfehler mit was muss ins ApplicationDir und wann und wo.

Kann mir da jemand ma aufn HinterKopf klopfen?

Danke
FruF

Code: Select all

[SetupInfo]
Author                  =FruF
CreationDate            =08.12.2010 12:13:28
Command line options    =/S2 /AW

[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
DeveloperName=Mozilla
Version=3.6.12
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%\Empirum\Packages\%ProductName%\%Version%
SetupInfDir=Install
AskUninstallOld=0
HideUninstall=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%


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

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

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

[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:Deinstallation, DELETE
#Reg:OnUninstallProduct, DELETE
#Ini:Product
#Security:Product


[Set:Product]
If DoesProcessExist ("firefox.exe") == "1" Then "popup" EndIf
If DoesRegKeyExist ("HKLM,Software\Mozilla\Mozilla Firefox") == "1" Then "Reg:Del32" EndIf
If DoesRegKeyExist ("HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox") == "1" Then "Reg:Del64" EndIf
1:AppData\Mozilla\Firefox\profiles.ini, %AppData%, 		DONTREPLACE|CLIENT,                  
if DoesPathExist ("%APPDATA%\Mozilla\Firefox\Profiles\lsokc7nu.default") == 0 Then "Set:Copy" EndIf


[popup]
KillProcess "firefox.exe", 20, "Um die Installation fortzusetzen wird Firefox nun beendet"

[SET:Installation]
AddMeter -1
Call "%Src%\Firefox Setup 3.6.12.exe" -ms
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf

[Set:Copy]
1:AppData\Mozilla\Firefox\Profiles\lsokc7nu.default\places.sqlite, %AppData%, CLIENT,                              
1:AppData\Mozilla\Firefox\Profiles\lsokc7nu.default\user.js, %AppData%,	CLIENT,   

[SET:Deinstallation]
If "%ProgramFilesDir%\Mozilla Firefox\uninstall\helper.exe" <> "" Then "SET:Deinstallation2" EndIf

[SET:Deinstallation2]
If %ErrorLevel% <> "0" Then "SET:DeInstallationError" EndIf
-deltree "%ProgramFilesDir%\%ProductName%\"
-deltree "%AppData%\Talkback"
If %windowsversion% = "5.1" then "Set:DeInWinXP" endif
If %windowsversion% = "6.1" then "Set:DeInWin7" endif
-Sleep 2000
-AddMeter 80
-Call "%ProgramFilesDir%\Mozilla Firefox\uninstall\helper.exe" /S
-AddMeter -1


[Set:DeInWin7]
-del "%PUBLIC%\Desktop\Mozilla Firefox.lnk"
-deltree "%LocalAppData%\Mozilla"

[Set:DeInWinXP]
-del "%ALLUSERSPROFILE%\Desktop\Mozilla Firefox.lnk"

[Reg:OnUninstallProduct]
If DoesRegKeyExist ("HKLM,Software\Mozilla\Mozilla Firefox") == "1" Then "Reg:Del32" EndIf
If DoesRegKeyExist ("HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox") == "1" Then "Reg:Del64" EndIf

[Reg:Del32]
-HKLM\Software\Mozilla\Mozilla Firefox

[Reg:Del64]
-HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox

[Ini:Product]
If DoesTextInFileExist ("lsokc7nu.default", "%AppData%\Mozilla\Firefox\profiles.ini") == "0" Then "Ini:Copy" Else EndIf

[Ini:Copy]
"%AppData%\Mozilla\Firefox\profiles.ini","General",,"StartWithLastProfile=0"
"%AppData%\Mozilla\Firefox\profiles.ini","Profile0",,"IsRelative=1"
"%AppData%\Mozilla\Firefox\profiles.ini","Profile0",,"Name=lsokc7nu.default"
"%AppData%\Mozilla\Firefox\profiles.ini","Profile0",,"Path=Profiles/lsokc7nu.default"

[Security:Product]

[Shell:Product]

[SET:InstallationError]
ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% setup.exe
Abort

[SET:DeInstallationError]
-Abort
-ErrorLogMsg %ErrorText% %ErrorLevel% %CallingText% C:\Programme\Mozilla Firefox\uninstall\helper.exe

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: BenutzerTeil und Datein

Post by Hendrik_Ambrosius » 14. Dec 2010, 15:20

Ich habe noch nie versucht die Kopieroptionen mit einem "|" zu trennen. Geht das?
Versuchen Sie es mal mit einem Leerzeichen. Außerdem fehlt die Dateigröße.
Dort bitte ganz am Ende der Zeile wenigstens eine "0" eintragen.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

Marcus_B
Posts: 126
Joined: 15. Jul 2008, 13:02
Location: Berlin
Contact:

Re: BenutzerTeil und Datein

Post by Marcus_B » 14. Dec 2010, 15:21

Hallo,

liegt es vielleicht einfach nur daran das Du hinten keine Byteanzahl beim kopieren angegeben hast ?

1:AppData\Mozilla\Firefox\Profiles\lsokc7nu.default\user.js, %AppData%, CLIENT, 0

User avatar
FruF
Posts: 204
Joined: 26. Jan 2009, 12:33
Contact:

Re: BenutzerTeil und Datein

Post by FruF » 14. Dec 2010, 15:46

Danke

Meine Schuld =) ich habe nicht genug "beschrieben"
Und zwar kommt bei der Installation der Assistent der mir sagt
"Legen sie ne Diskette ein =), da ich die Datei nich finde:"
C:\Program Files (x86)\Empirum\Packages\Mozilla Firefox\3.6.13

Er versucht also aus dem "APP" Directory die Datein zu holen und ins %APPDATA%/... zu kopieren
Jedoch sind im "APP" nur die setup.inf und die profiles.ini
Die beiden Datein um die es geht sind nicht da.

Der normale Mensch schaut nun : wo ist der Unterschied zwischen der profiles.ini (die klappt) und den andren beiden Datein.
Und da hörts auf.

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: BenutzerTeil und Datein

Post by Hendrik_Ambrosius » 14. Dec 2010, 16:02

Ach so - nun verstehe ich erst das Problem.
Sie müssen erst mal im Maschinenteil die Dateien nach %APP% kopieren damit der Userteil sie dann finden kann dort.
Denn sonst passiert ja nichts im Maschinenteil weil die IF-Bedingung nicht zuschlägt.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

User avatar
FruF
Posts: 204
Joined: 26. Jan 2009, 12:33
Contact:

Re: BenutzerTeil und Datein

Post by FruF » 20. Dec 2010, 11:19

=) Danke !

Das habe ich gemacht und alles klappt. Falls noch jemand hier reinguckt.
Warum klappt es bei der profiles.ini ohne diesen Zwischenschritt?
Die wird ohne das ich es schreibe ins APP Verzeichnis zwischenkopiert.
Einfach nur weil sie in Set:Product steht?

Nochma Danke und Tschüss

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: BenutzerTeil und Datein

Post by Hendrik_Ambrosius » 20. Dec 2010, 11:24

Weil die über eine INI-Sektion angelegt wird.
Was mir übrigens gerade da noch am Script auffällt:
IF-Bedingungen können nicht in INI-Sektionen genutzt werden.
Das müssen Sie in eine SET-Sektion verlagern wenn noch nicht geschehen.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

User avatar
FruF
Posts: 204
Joined: 26. Jan 2009, 12:33
Contact:

Re: BenutzerTeil und Datein

Post by FruF » 20. Dec 2010, 12:36

Nochmal Danke.
Jetzt suche ich grad im Forum find aber noch nix :: zu folgender Sache.
Bei XP klappt alles. Nur bei Win7 (x64) springt der Userteil nicht an.
Seltsam oder bekannt ?

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: BenutzerTeil und Datein

Post by Hendrik_Ambrosius » 20. Dec 2010, 12:40

Mir völlig unbekannt. Am besten einen neuen Beitrag aufmachen.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

User avatar
FruF
Posts: 204
Joined: 26. Jan 2009, 12:33
Contact:

Re: BenutzerTeil und Datein

Post by FruF » 20. Dec 2010, 14:08

Es ist einfach folgendes.
mir fehlt glaube ich ne Menge Grundwissen was "User" und "Machine" - Teil angeht.
Als Konsequenz hab ich die beiden meist durchmischt.
Dabei kommen dann Pakete raus bei denen "manchmal" der Userteil kommt und manchmal nicht.
Dieses "manchmal" bringt mich um!

Grundidee ist doch
/AW aktiviert Benutzerteil
die Flag CLIENT markiert was Benutzerspezifisch ist.
(war früher mal anders soweit ich mich erinnere)
Benutzerteil sollte eigentlich bei JEDER Installation mitgeschickt werden ???!!!???

Also dachte ich : ok trennste mal gaanz easy
Hab das mal als Beispiel angehöngt
Das das nich klappt war mir ja klar ;)
Gibts da ne nette PDF oder sowas feines?

Code: Select all

[Product]
#Set:Product
#Set:Client, CLIENT


[Set:Product]
1:AppData\Mozilla\Firefox\Profiles\lsokc7nu.default\places.sqlite, %APP%, NORMAL, 0
1:AppData\Mozilla\Firefox\Profiles\lsokc7nu.default\user.js, %APP%,	NORMAL, 0
1:AppData\Mozilla\Firefox\profiles.ini, %APP%, NORMAL, 0               


[Set:Client]
If DoesPathExist ("%APPDATA%\Mozilla\Firefox\Profiles\lsokc7nu.default") == 0 Then "Set:Copy" EndIf
If DoesTextInFileExist ("lsokc7nu.default", "%AppData%\Mozilla\Firefox\profiles.ini") == "0" Then "Ini:Copy" EndIf

[Set:Copy]
1:AppData\Mozilla\Firefox\Profiles\lsokc7nu.default\places.sqlite, %AppData%, CLIENT, 0
1:AppData\Mozilla\Firefox\Profiles\lsokc7nu.default\user.js, %AppData%,	CLIENT, 0  


[Ini:Copy]
"%AppData%\Mozilla\Firefox\profiles.ini","General",,"StartWithLastProfile=0"


User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: BenutzerTeil und Datein

Post by Hendrik_Ambrosius » 20. Dec 2010, 14:33

Durchmischung macht doch nix solange man weiss was man tut.
Bei jedem Paket das ein /AW als Parameter hat und auch dem Client oder User zugewiesen ist müßte der Userteil kommen.
Wenn nicht löschen Sie noch mal die Productkeys in HKLM und HKCU und lassen Sie die Installation noch mal ablaufen.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

User avatar
FruF
Posts: 204
Joined: 26. Jan 2009, 12:33
Contact:

Re: BenutzerTeil und Datein

Post by FruF » 20. Dec 2010, 14:42

Hi Mr Ambro
Das is ja das komische.
Die Installation (und die Deinsallation) laufen ohne Fehler durch, erstellen und löschen "brav" ihre Ordner und Reg Keys, nur der UserTeil kommt meistens nur beim ersten Mal. (also wenn ich in dann Reg keys löschen will ... sind alle schon weg)

PS
(Der PC is nicht aktiv, sondern ich teste "per Hand" mit 12.1 ERIS Depot)

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: BenutzerTeil und Datein

Post by Hendrik_Ambrosius » 20. Dec 2010, 14:43

Aha! Dann liegt es daran. Damit der Userteil für den nächsten User kommt muss das Paket auch dem PC oder User zugewiesen sein, d.h. das Paket in der DDC stehen!
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

User avatar
FruF
Posts: 204
Joined: 26. Jan 2009, 12:33
Contact:

Re: BenutzerTeil und Datein

Post by FruF » 20. Dec 2010, 15:00

Also mir ist schon klar, dass wenn ein neuer Benutzer kommt, und sich anmeldet, dass das Paket dann auf dem Client aktiv sein muss, um den Userteil auszuspucken.
Ich teste nun aber nur als ein User (ohne ab und anmeldung) mit Handauswahl "Paket installieren".

So da is nun die Frage, wenn ich das mehere Male mache, kommt auch da nur beim ersten mal der Userteil? (meine seltsame Logik sagt mir, der Userteil müsste immer kommen, wenn der User selbst die Installation anstösst)
Das scheint aber nicht so zu sein.
Mein Szenario : Ich Installiere zB Firefox, alles klappt.
Dann Deinstalliere ich (ändere bisserl was an der setup.inf) und Installieren wieder
Jetzt installiert er brav, macht aber keine Anstalten den Userteil mit rauszugeben.

Sehe ich das richtig?
Würde ne Menge erklähren.

User avatar
Hendrik_Ambrosius
Moderator
Moderator
Posts: 7965
Joined: 13. Dec 2004, 23:10
Location: Adendorf/Lüneburg

Re: BenutzerTeil und Datein

Post by Hendrik_Ambrosius » 20. Dec 2010, 15:05

Das dürfte eigentlich nicht sein. Wird denn der Product-RegKey im HKCU-Bereich gelöscht bei der Deinstallation?
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 6 guests