SAPGUI 는 기본적으로 SAP Download Center 에서 다운로드 받을 수 있다.
하지만 EndUser 배포를 위해서는 기본 설정값들을 셋팅한 단일 설치파일(Single File Installer ) 을 제작하여 배포 하는 것이 좋다.
이를 위해서 SAP Installation Server 를 사용하여 단일 설치파일을 제작/배포할 수 있다.
아래는 SAPGUI 770 을 기준으로 작성한다. (Target Version SAPGUI 770 Patch Level 15)
SAP Software Download Center 접속
-> INSTALLATIONS & UPGRADES
-> By Alphabetical Index (A-Z)
-> G
-> SAP GUI FOR WINDOWS
-> SAP GUI FOR WINDOWS 7.70 CORE
-> INSTALLATION
-> <Presentation File ZIP 다운로드 및 압축 해제>
-> BD_NW_7.0_Presentation_7.70_Comp._1_
폴더 확인
SAP Software Download Center 접속
-> SUPPORT PACKAGES & PATCHES
-> By Alphabetical Index (A-Z)
-> G
-> SAP GUI FOR WINDOWS
-> SAP GUI FOR WINDOWS 7.70 CORE
-> <타겟 버전의 SAPGUI 설치파일 다운로드> => GUI770_15-70004692.EXE
SAPGUI 8.00 부터는 윈도우 64bit 를 지원한다.
초기 Installation Server 는 패치가 되지않은 최초 릴리즈버전의 SAPGUI 가 적용되어있다.
따라서, 1-2 에서 받은 SAPGUI 파일로 Installation Server 를 패치해줘야 한다.
Installation Server Patch
NwSapSetupAdmin 실행
-> .../BD_NW_7.0_Presentation_7.70_Comp/PRES1/GUI/Windows/Win32/Setup/NwSapSetupAdmin.exe
-> 상단 매뉴탭 Patch Server 클릭 후, 진행
-> contains the patch 에서, 1-2 에서 받은 SAPGUI EXE 파일 입력
-> Patch 마무리
Installation Server Patch 확인
NwSapSetupAdmin 실행
-> 왼쪽 메뉴 트리탭에서 Products 선택
-> Products 메뉴 트리 중, SAP GUI for Windows 7.70 (Compliation 1) 선택
-> 오른쪽 디테일 화면 메뉴탭에서 Properties - Latest Patch Level 확인
보통 많이 사용되는 이벤트는 On Installation Start (설치 시작 시), On Lnstallation End(설치 종료 시) 이다.
Event Script 옆 Insert Script Sample 을 클릭하면 SAP 에서 기본적으로 제공하는 코드를 바로 사용할 수 있다.
아래에는 많이 사용하는 코드에 대해서 기록한다.
SAPGUI 의 자세한 옵션과 각 옵션별 레지스트리 키값은 help 포탈에서 확인할 수 있다.
NwEngine.Context.Log.Write "Your custom statement goes here."
%SapSrcDir% : SAP Installation Server 경로 (여기서는 .../BD_NW_7.0_Presentation_7.70_Comp/PRES1/GUI/Windows/Win32/
)
해당 경로에 CustomerFiles 폴더 생성 후, 해당 폴더 내에 SAPUILandscape.xml, SAPUILandscapeGlobal.xml 파일 추가
이 후, Single Installer 생성 시, CustomerFiles 내의 SAP Landscape 파일들이 같이 묶어지며, 설치 시, 묶어진 SAP Landscape 파일들이 적용된다.
'SAP Landscape File Setting
NwEngine.Context.Log.Write "Event: Copying customized SAPUILandscape.xml"
strSrcFile = NwEngine.Variables.ResolveString("%SapSrcDir%\CustomerFiles\SAPUILandscape.xml")
strDstFile = NwEngine.Variables.ResolveString("%AppData%\SAP\Common\SAPUILandscape.xml")
NwEngine.Shell.CopyFileEx strSrcFile, strDstFile, vbTrue
NwEngine.Context.Log.Write "Event: Copying customized SAPUILandscapeGlobal.xml"
strSrcFile = NwEngine.Variables.ResolveString("%SapSrcDir%\CustomerFiles\SAPUILandscapeGlobal.xml")
strDstFile = NwEngine.Variables.ResolveString("%AppData%\SAP\Common\SAPUILandscapeGlobal.xml")
NwEngine.Shell.CopyFileEx strSrcFile, strDstFile, vbTrue
SAP 제공 샘플코드 Sample 4: Appending a line 를 활용하여 "DEV 3600포트 추가" 코드
NwEngine.Context.Log.Write "Event: Appending a new line to the services file"
strFile = NwEngine.Variables.ResolveString( "%WinSysDir%\drivers\etc\services" )
Set objTextFile = CreateObject("NwSapSetupATLCommon.TextFileParser")
If objTextFile.Parse( strFile ) Then
NwEngine.Context.Log.Write "Event: Parsing the file " & Chr(34) & strFile & Chr(34)
If Not objTextFile.DoesStringExist("sapms<SID> 36<NR>/tcp") Then
NwEngine.Context.Log.Write "Script action: Appending line 'sapmsDEV 3600/tcp'"
objTextFile.AppendLine "sapms<SID> 36<NR>/tcp"
End If
objTextFile.Save( strFile )
Else
NwEngine.Context.Log.WriteWarning "Event: Could not open the file " & Chr(34) & strFile & Chr(34)
End If
'Theme setting (SAP Signature Theme)
NwEngine.Context.Log.Write "Event: Set SAP Signature Theme"
NwEngine.Shell.SetRegValue "HKEY_CURRENT_USER\Software\SAP\General\Appearance\SelectedTheme", "REG_DWORD", "1"
NwEngine.Shell.SetRegValue "HKEY_LOCAL_MACHINE\SOFTWARE\WoW6432Node\SAP\General\Appearance\Themes", "REG_DWORD", "1"
'GUI Security setting disable
NwEngine.Context.Log.Write "Event: diabling GUI Security setting"
NwEngine.Shell.SetRegValue "HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Security\DefaultAction", "REG_DWORD", "0"
NwEngine.Shell.SetRegValue "HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Security\SecurityLevel", "REG_DWORD", "0"
'GUI TaskBar System Name Display Option Set
NwEngine.Context.Log.Write "Event: TaskBar System Name Display Option Set"
NwEngine.Shell.SetRegValue "HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Administration\ShowAdditionalTitleInfo", "REG_DWORD", "1"
이 외 다양한 레지스트리 값은 SAP Help Portal 에서 확인할 수 있다.
설정된 Package 를 사용하여, Single Installer 를 생성한다.
이제 만들어진 Singel Installer 를 배포한다면, EndUser 들은 쉽게 SAPGUI 를 설치할 수 있다.
SAPGUI 배포에는 여러가지 방법들이 있다. 각 환경에 맞게 선택하여 배포하면 된다.
위와 같이 Single Installer 에 SAP Landscape 를 같이 묶으면, Landscape 가 변경될 때마다 Single Installer 를 새로 생성해야 한다.
위 방법 외에도 공유드라이브를 사용하거나, 배치파일을 통해 별도의 Landscape 를 배포하는 방법도 있다.