Dateien in %AppData% kopieren / CLIENT Flag?!

Post Reply
mhans
Posts: 24
Joined: 27. Jan 2016, 16:18
Contact:

Dateien in %AppData% kopieren / CLIENT Flag?!

Post by mhans » 18. Mar 2020, 17:04

Guten Tag,

ich hänge gerade an einer Kleinigkeit fest denke ist.

Innerhalb eines Paketes möchte ich gerne 5 *.xml Dateien in:
C:\Users\username\AppData\Roaming\Avaya\Avaya one-X Communicator\
kopieren. Der setup.inf Teil dazu sieht so aus (/AW als Schalter gesetzt)

Code: Select all

[Product]
; ReplaceEnv <Variable>

#Set:Product
#Set:CpXML, DONTDELETE
#Set:Installation, DONTDELETE
#Set:Deinstallation, DELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product

[Set:Product]

[Set:CpXML]
1:config.xml, "%userprofile%\AppData\Roaming\Avaya\Avaya one-X Communicator\", ALWAYS CLIENT, 0
1:customize.xml, "%userprofile%\AppData\Roaming\Avaya\Avaya one-X Communicator\", ALWAYS CLIENT, 0
1:dialingRules.xml, "%userprofile%\AppData\Roaming\Avaya\Avaya one-X Communicator\", ALWAYS CLIENT, 0
1:onexcuiconfig.xml, "%userprofile%\AppData\Roaming\Avaya\Avaya one-X Communicator\", ALWAYS CLIENT, 0
1:userprofile.xml, "%userprofile%\AppData\Roaming\Avaya\Avaya one-X Communicator\", ALWAYS CLIENT, 0
Die Dateien liegen aber am Ende nicht im gewünschten Verzeichniss, sondern in:
C:\ProgramData\$Matrix42Scripts$\Avaya\one-X Communicator\6.2.14.4

ich habe es mit %appdata% anstelle con %userprofile%\AppData\Roaming versucht, die Sektion Set:CpXML mit dem CLIENT flag versehen, ohne CLIENT Flags. Die Dateien wollen nicht an meinen gewünschten Ort.

Beiträge die ich hier im Forum gefunden habe, haben mich zwar wieder auf den CLIENT Flag gebracht, aber das korrekte Ergebnis bleibt aus.

Des weiteren habe ich schon ewig ein Java Paket, welches die exception.sites in LocalLow kopiert - das funktioniert wunderbar

Code: Select all

1:exception.sites, %userprofile%\AppData\LocalLow\Sun\Java\Deployment\security\, ALWAYS CLIENT, 0
Irgendwie stehe ich auf dem Schlauch :(

Vielen Dank für jegliche Hilfe im Voraus, bleibt gesund.

mhans

EDIT:
Ich hab die zu kopierenden XML Dateien jetzt in einen Unterordner verschoben und die Sektion Set:CpXML mit dem Client Flag versehen. Die Matrix Copy Befehle habe ich durch ein XCopy ersetzt

Code: Select all

#Set:Product
#Set:CpXML, CLIENT DONTDELETE
#Set:Installation, DONTDELETE
#Set:Deinstallation, DELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product

[Set:Product]

[Set:CpXML]
CallHidden xcopy "%App%\XML\*.*" "%AppData%\Avaya\Avaya one-X Communicator\" /S /E /Y
Dennoch landen die Files nicht in
C:\Users\username\AppData\Roaming\Avaya\Avaya one-X Communicator\

...es ist verhext

SRO
Posts: 28
Joined: 23. Jan 2018, 13:38
Contact:

Re: Dateien in %AppData% kopieren / CLIENT Flag?!

Post by SRO » 31. Mar 2020, 14:36

Moin

in welchem Paketverzeichnis liegen die Ursprungsdateien denn?

Code: Select all

%AppData%\Roaming\Avaya\Avaya one-X Communicator
sollte ausreichen, %userprofile% davor ist unnötig

MaMa82
Posts: 344
Joined: 10. Jun 2011, 13:56
Contact:

Re: Dateien in %AppData% kopieren / CLIENT Flag?!

Post by MaMa82 » 31. Mar 2020, 16:56

Und zum x-ten Male die Frage:
"Wie geht das eigentlich mit den Benutzeranteilen?!" :lol: :lol: :lol:

1.
Junger Padawan - die zu kopierenden Dateien Du zwischenspeichern musst.
Das heisst die XML Files bitte im [Installer] Abschnitt via Filecopy (1:) mit lokal ablegen.

2.
In einem CLIENT geflaggten Abschnitt die Dateien via Filecopy kopieren.

Filecopy (1:) geht immer vom SRC bzw APP Verzeichnis aus.
Bei der Installation des Pakets ist das C:\EmpirumAgent\Packages\Hersteller\Produkt\Version.
Beim Benutzeranteil ist das %App% (je nach Wert im Skript). Denn die Setup.inf im %App% Verzeichnis wird hier immer als Quelle ausgeführt. Macht ja auch Sinn, denn normalerweise werden die Pakete im lokalen EmpirumCache ja nach x Tagen gelöscht.
Grüße MaMa82


PS: EDV steht nicht für "Elektronische Datenverarbeitung", sondern vielmehr für "ENDE DER VERNUNFT"! :roll:

mhans
Posts: 24
Joined: 27. Jan 2016, 16:18
Contact:

Re: Dateien in %AppData% kopieren / CLIENT Flag?!

Post by mhans » 07. Apr 2020, 15:08

SRO wrote: 31. Mar 2020, 14:36 Moin

in welchem Paketverzeichnis liegen die Ursprungsdateien denn?

Code: Select all

%AppData%\Roaming\Avaya\Avaya one-X Communicator
sollte ausreichen, %userprofile% davor ist unnötig
Ich hatte jetzt die letzte Version hier rein kopiert. Wenn ich %AppData% nutze, dann kann ich auch das ..\Roaming\.. weg lassen, denn %AppData% ist das roaming verzeichniss :)

MaMa82 wrote: 31. Mar 2020, 16:56 Und zum x-ten Male die Frage:
"Wie geht das eigentlich mit den Benutzeranteilen?!" :lol: :lol: :lol:

1.
Junger Padawan - die zu kopierenden Dateien Du zwischenspeichern musst.
Das heisst die XML Files bitte im [Installer] Abschnitt via Filecopy (1:) mit lokal ablegen.

2.
In einem CLIENT geflaggten Abschnitt die Dateien via Filecopy kopieren.

Filecopy (1:) geht immer vom SRC bzw APP Verzeichnis aus.
Bei der Installation des Pakets ist das C:\EmpirumAgent\Packages\Hersteller\Produkt\Version.
Beim Benutzeranteil ist das %App% (je nach Wert im Skript). Denn die Setup.inf im %App% Verzeichnis wird hier immer als Quelle ausgeführt. Macht ja auch Sinn, denn normalerweise werden die Pakete im lokalen EmpirumCache ja nach x Tagen gelöscht.
Es ist halt nicht das alltägliche Brot und damit für den ein oder anderen etwas undurchsichtig.
Nicht umsonst wiederholen sich Fragen im täglichen Leben ;)
Auch habe ich mir, wie geschrieben, vor dem Post anderen Beiträge durchgelesen. Jedoch ohne den Hinweis der mich an's Ziel brachte.

Vielleicht fehlt auch einfach das Verständnis des Workflows eines Paketes mit Benutzeranteil /AW. Was wird wann wohin kopiert und abgerufen. Ich habe die Schulung in Frankfurt absolviert. Bin auch nicht ganz dumm da raus gegangen. Aber das mit den Benutzerteil haben wir so im Detail dort nicht besprochen und dazu finde ich auch nichts (im Detail) in meinen Schulungsunterlagen.

Wie dem auch sei:
Ich bin im Moment der Paket Installation mit einem Nutzer angemeldet.

Beispiel (Sektion mit CLIENT Flag):

Code: Select all

#Set:CpXML, CLIENT

[Set:CpXML]
1:XML\userprofile.xml, %AppData%\Avaya\Avaya one-X Communicator\userprofile.xml, ALWAYS, 0

sollte mir doch, unabhängig ob etwas separat im [Installer] kopiert wurde oder nicht, die userprofile.xml aus dem Ordner XML, innerhalb C:\EmpirumAgent\Packages\Avaya\one-X Communicator\6.2.14.4\

...in das gewünschte Verzeichnis (welches bei der Installation nicht existiert) kopieren = %AppData%\Avaya\Avaya one-X Communicator\

Mit dem ApplicationDir habe ich noch nie bewusst gearbeitet
(%CommonAppData%\$Matrix42Scripts$\%DeveloperName%\%ProductName%\%Version%)

Ich werde mich nochmals daran versuchen sobald ich etwas Zeit dafür habe.

Danke
mhans

MaMa82
Posts: 344
Joined: 10. Jun 2011, 13:56
Contact:

Re: Dateien in %AppData% kopieren / CLIENT Flag?!

Post by MaMa82 » 08. Apr 2020, 07:35

sollte mir doch, unabhängig ob etwas separat im [Installer] kopiert wurde oder nicht, die userprofile.xml aus dem Ordner XML, innerhalb C:\EmpirumAgent\Packages\Avaya\one-X Communicator\6.2.14.4\
Mit nichten!
Nochmals - bei der Installation der Benutzeranteile wird als Quell-Verzeichnis (%SRC%) IMMER das %ApplicationDir% oder kurz %APP% angenommen.
Liegt dort keine XML (inkl. Unterordner) kann auch nichts kopiert werden. Das ist vollkommen logisch, wenn man sich wie bereits geschildert die Logic des Paketcachings einmal genauer anschaut.
Die notwendigen Dateien für die Benutzeranteile werden NICHT AUTOMATISCH INS %APP% VERZEICHNIS KOPIERT!
Deshalb wie bereits gesagt nach folgendem Beispiel-Schema vorgehen:

[Installer]
...
1:CUSTOM\userprofile.xml, , NORMAL, 0

[Product]
...
#Set:UserConfig, CLIENT
...
[Set:UserConfig]
1:CUSTOM\userprofile.xml, "%APPDATA%\Avaya\Avaya one-X Communicator\", CLIENT USEFILENAME, 0

Ggfs. kann beim Kopieren ins Benutzerprofil auch noch mittels DIRECTORY und CREATE gearbeitet werden. Ansonsten das Verzeichnis einfach mit anlegen, für den Fall, dass es noch nicht exisitiert.
Grüße MaMa82


PS: EDV steht nicht für "Elektronische Datenverarbeitung", sondern vielmehr für "ENDE DER VERNUNFT"! :roll:

mhans
Posts: 24
Joined: 27. Jan 2016, 16:18
Contact:

Re: Dateien in %AppData% kopieren / CLIENT Flag?!

Post by mhans » 08. Apr 2020, 09:23

Vielen Dank,

hab's jetzt mit den Tipps von hier am laufen.

Neben der Tatsache, dass ich nicht wusste, dass Dateien für den Benutzerteil zuerst via [Installer] nach %App% kopiert werden müssen, hatte ich zusätzlich die " " im Zielpfad vergessen - dieser ist ja in meinem Fall durch ein Leerzeichen getrennt :roll:

Was mich allerdings noch überlegen lässt: Warum funktioniert das Kopieren der exception.sites in meinem Java Paket?
Hier habe ich nichts im [Installer] zuvor kopiert, die Sektion Set:Product wird ohne jegliches Flag aufgerufen:

Code: Select all

[Set:Product]
1:exception.sites, %userprofile%\AppData\LocalLow\Sun\Java\Deployment\security\, ALWAYS CLIENT, 0
Zu meinem Problemkind, das Avaya Paket, ist dies meine finale und funktionierende Lösung:

Code: Select all

[Installer]
...
1:XML\config.xml, 					, NORMAL, 0
1:XML\customize.xml, 					, NORMAL, 0
1:XML\dialingRules.xml, 				, NORMAL, 0
1:XML\onexcuiconfig.xml, 				, NORMAL, 0
1:XML\userprofile.xml, 					, NORMAL, 0
...

[Product]
...
#Set:XML, DONTDELETE

...

[Set:XML]
1:XML\config.xml, 		"%AppData%\Avaya\Avaya one-X Communicator\", CLIENT USEFILENAME ALWAYS, 0
1:XML\customize.xml, 		"%AppData%\Avaya\Avaya one-X Communicator\", CLIENT USEFILENAME ALWAYS, 0
1:XML\dialingRules.xml, 	"%AppData%\Avaya\Avaya one-X Communicator\", CLIENT USEFILENAME ALWAYS, 0
1:XML\onexcuiconfig.xml, 	"%AppData%\Avaya\Avaya one-X Communicator\", CLIENT USEFILENAME ALWAYS, 0
1:XML\userprofile.xml,		"%AppData%\Avaya\Avaya one-X Communicator\", CLIENT USEFILENAME ALWAYS, 0
Die XML's werden nach der eigentlichen Programminstallation kopiert, sollte das Programm selbst doch ein Mal default XML's ablegen.

Viele Grüße
mhans

Walldweller
Posts: 7
Joined: 12. Jul 2023, 15:19
Contact:

Re: Dateien in %AppData% kopieren / CLIENT Flag?!

Post by Walldweller » 20. Mar 2024, 15:20

Hallo zusammen,

und vielen Dank für den Input, der mich dem Ziel näher gebracht hat.

Derzeit sieht der Code aus wie folgt:

Code: Select all

[Installer]

...
1:saplogon.ini,                                          , NORMAL,                                           0
1:SapLogonTree.xml,                                      , NORMAL,                                           0
1:saprules.xml,                                          , NORMAL,                                           0
1:sapshortcut.ini,                                       , NORMAL,                                           0
1:SAPUILandscape.xml,                                    , NORMAL,                                           0
1:SAPUILandscapeGlobal.xml,                              , NORMAL,                                           0
...
[Product]
...

...
#Set:SAP, CLIENT

[Set:SAP]
1:saplogon.ini, %AppData%\SAP\Common\                  , CLIENT ALWAYS,                        0
1:SapLogonTree.xml, %AppData%\SAP\Common\              , CLIENT ALWAYS,                        0
1:saprules.xml, %AppData%\SAP\Common\                  , CLIENT ALWAYS,                        0
1:sapshortcut.ini, %AppData%\SAP\Common\               , CLIENT ALWAYS,                        0
1:SAPUILandscape.xml, %AppData%\SAP\Common\            , CLIENT ALWAYS,                        0
1:SAPUILandscapeGlobal.xml, %AppData%\SAP\Common\      , CLIENT ALWAYS,                        0
Im unteren Teil will das Setup aber nicht nach %appdata%\..., sondern nach
'C:\Windows\system32\config\systemprofile\AppData\Roaming\SAP\Common',
was ich aufgrund der in diesem Trail zu lesenden Infos nicht nachvollziehen kann.

Wo biege ich falsch ab?

Vielen Dank für Eure Hilfe!

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 3 guests