Wie wird der Userkontext richtig angewendet?

Post Reply
Sven0095
Posts: 3
Joined: 21. Oct 2022, 14:21
Contact:

Wie wird der Userkontext richtig angewendet?

Post by Sven0095 » 04. Jan 2023, 13:13

Hallo zusammen,
ich bin gerade dabei SAP zu paketieren und würde anschließend gerne die Landscape.xml unter C:\Users\Username\AppData\Roaming\SAP\Common ablegen.
Da der Ordner erst mit dem Start von SAP angelegt wird, lege ich diesen via Batch mit dem Befehl mkdir -p "%appdata%\SAP\Common" (ich weiß es geht auch direkt in Matrix via cmd /c mkdir -p "%appdata%\SAP\Common").
Leider verstehe ich immer noch nicht, wie ich den Befehl im Userkontext ausführe.
Mein Stand ist, dass folgende Dinge vorhanden sein müssen:
-In [Set:Product] den Aufruf zu machen
-Hinter #Set:Product, Client schreiben
-Als Aufrufparameter /AW verwenden
Sieht jemand meinen Fehler? Die auskommentierten Zeilen könnt Ihr erstmal ignorieren.
Vielen Dank für eure Hilfe!
MfG
Sven

Code: Select all

[SetupInfo]
Author                  =Ein guter Admin
CreationDate            =03.01.2023 12:50:17
InventoryID             =
Description             =
Method                  =
Tested on               =
Dependencies            =
Command line options=/AW 
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=*

[Requirements]

[Application]
ProductName=SAP GUI
DeveloperName=SAP
Version=7.70
Revision=4
SetupName=%ProductName% %Version% %SetupWizard%
Text1="%ProductName% %Version%",         Arial,           30, , 2170F3, 4,    , LEFT BOLD ITALIC
Text2="%DeveloperName%",                 Arial,           24, , 2170F3, 4,    , LEFT BOLD ITALIC
Text8="%Company%",                       Arial,           18, , 2170F3, 4,  10, RIGHT BOLD ITALIC
Text9="%InstallationFor% %WindowsUser%", Arial,           16, , 2170F3, 4, -18, BOTTOM ITALIC LEFT
BackgroundColor=EFEFEF,000000
CopyDialogRect=0%, 0%, 100%, 100%, HCENTER VCENTER

; Register all installations in common registry key
UserKeyName=$Matrix42Packages$\%DeveloperName%\%ProductName%
MachineKeyName=$Matrix42Packages$\%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=Matrix42 - %DeveloperName% %ProductName% %Version%
UninstallDisplayName=Matrix42 - %DeveloperName% %ProductName% %Version%
UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
;UninstallDisplayIcon="%ApplicationDir%\%SetupInfDir%\Setup.ico",0
UninstallOptions=NOREMOVE NOREPAIR NOMODIFY
ReinstallMode=1
SrcDir=..

; Matrix42 Scripts are copied in a common scripts directory
ApplicationDir=%CommonAppData%\$Matrix42Scripts$\%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! Sie können SAP nach Bestätigung dieser Meldung wieder starten.
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%"

[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:%SetupInfDir%\Setup.inf,                             , NORMAL,                                             0
1:%Temp%\Setup64.exe,                  %CommonSetupDir%\Setup.exe,   ALWAYS NOSIZEWARNING SETUP WINDOWS64,   0
; 1:%SetupInfDir%\Setup.ico,                             , NORMAL,                                           0
; 1:%SetupInfDir%\Logo.bmp,                              , NORMAL,                                           0

[Product]
; ReplaceEnv <Variable>

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


[Set:Product]
#Set:Landscape,CLIENT

[Set:Landscape]
Call "%Src%\Create_Folder.bat"
;cmd /c MkDir %appdata%\sap\common
Copy "%SRC%\SAPUILandscape.xml" "%appdata%\SAP\common"

[Set:Installation]
AddMeter -1
;SplashDialogOn 50%,50%,400,400
;SplashDialogText SAP GUI wird auf Ihrem Rechner installiert/aktualisiert. Bitte speichern Sie alle Transaktionen in SAP, beenden Sie SAP anschließend und bestätigen Sie diese Meldung, um mit der Aktualisierung zu beginnen! Hinweis: Falls Sie SAP nicht schließen, wird SAP nach Bestätigung dieser Meldung automatisch geschlossen. Sie können auf den Desktop gelangen, indem Sie die Windowstaste + D drücken, um beispielsweise in andere Programme zu gelangen. Über diesen Weg können Sie die Installation auch auf später verschieben. Bitte denken Sie nur daran die Installation später fortzusetzen!
KillProcess "saplogon.exe",0
;Call "%Src%\SAP-GUI-7-70-PL8-ARDEX-Witten.exe" /Silent
;MkDir C:\Users\Default\AppData\Roaming\SAP\Common

Copy "%SRC%\SAPUILandscape.xml" "%appdata%\SAP\common"
Copy "%Src%\services" "C:\WINDOWS\system32\drivers\etc"
If "%ErrorLevel%" <> "0" Then "SET:InstallationError" EndIf

[Set:Deinstallation]
AddMeter -1
SplashDialogOn 50%,50%,400,400
SplashDialogText SAP GUI wird auf Ihrem Rechner deinstalliert. Bitte speichern Sie alle Transaktionen in SAP, beenden Sie SAP anschließend und bestätigen Sie diese Meldung, um mit der Aktualisierung zu beginnen! Hinweis: Falls Sie SAP nicht schließen, wird SAP nach Bestätigung dieser Meldung automatisch geschlossen. Sie können auf den Desktop gelangen, indem Sie die Windowstaste + D drücken, um beispielsweise in andere Programme zu gelangen.
KillProcess "saplogon.exe",0
Call "%Src%\SAP-GUI-7-70-PL8-ARDEX-Witten.exe" /Uninstall /Silent
If "%ErrorLevel%" <> "0" Then "SET:DeInstallationError" EndIf

[Reg:OnUninstallProduct]

[Reg:Product]

[Ini:Product]

[Security:Product]

[Shell:Product]

[Set:InstallationError]

[Set:DeInstallationError]



Sven0095
Posts: 3
Joined: 21. Oct 2022, 14:21
Contact:

Re: Wie wird der Userkontext richtig angewendet?

Post by Sven0095 » 04. Jan 2023, 14:26

Leider nicht, ich habe es genauso gemacht wie in dem verlinkten Thread, aber es funktioniert immernoch nicht. Es wird immernoch versucht als System den Ordner zu erstellen bzw. die Datei zu kopieren...

Sven0095
Posts: 3
Joined: 21. Oct 2022, 14:21
Contact:

Re: Wie wird der Userkontext richtig angewendet?

Post by Sven0095 » 05. Jan 2023, 11:12

Ich habe es jetzt über ein Powershellskript gelöst, dass den User ausliest und dann die Datei unter dem richtigen Pfad ablegt

Code: Select all

$User=(Get-CimInstance -ClassName Win32_ComputerSystem).Username 
#Aktuell angemeldeter User wird ausgelesen im Format Domäne\Username (funktioniert unabhängig von dem User der das Skript ausführt)
$user=$user.replace("[Hier Domäne einfügen]","")
#Entfernen von Domäne aus dem Username
mkdir -force "C:\users\$user\appdata\roaming\SAP\Common"
Copy-Item "C:\temp\SAPUILandscape.xml" -Destination "C:\users\$user\appdata\roaming\SAP\Common"
#Notwendigen ordner ablegen und die Datei dorthin kopieren

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 6 guests