IT
[NSIS] 설치 프로그램 이용해서 레지스트리 등록하기
corn-cheese.
2020. 3. 17. 16:03
반응형
웹에서 응용프로그램을 호출하기 위한 방법으로 뭐가 있을까?? 하다가
Custom URI Scheme를 이용해 웹에서 응용프로그램을 실행할 수 있다고 한다.
레즈스트리에 직접 등록할 수도 있지만 NSIS(https://ko.wikipedia.org/wiki/NSIS) 오픈소스 설치프로그램을 이용해 레즈스트리를 등록해보자!!
먼저 설치프로그램 실행화면을 보자
NSIS 실행화면
많이 보던화면이다 [다음] 버튼을 누른다.
웹에서 SAP 프로그램을 실행하기 위해 레지스트리에 등록 할 SAP 계정정보를 입력받는다.
[설치완료] 레즈스트리가 등록 되었는지 확인해보자
레즈스트리가 등록되었다.
NSIS 소스
!define APPNAME 'Test'
!define FILE_VERSION "1.0.0"
!define PRODUCT_VERSION "1.0.0"
Name 'NSIS 예제 스크립트'
OutFile 'Test.exe'
!include "MUI.nsh"
!include "LogicLib.nsh"
!include "nsDialogs.nsh"
!include 'WordFunc.nsh'
!insertmacro MUI_PAGE_WELCOME
Page custom ConfigPage CheckConfig ''
#!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE 'Korean'
BrandingText 'NSIS 예제 스크립트'
!insertmacro StrFilter
Var /GLOBAL SID
Var /GLOBAL ID
Var /GLOBAL PW
Function ConfigPage
!insertmacro MUI_HEADER_TEXT '${APPNAME} 설치' '환경 설정'
# 설치프로그램 GUI 구성화면
nsDialogs::Create 1018
Pop $0
${If} $0 == error
Abort
${EndIf}
${NSD_CreateGroupBox} 50% 0 50% 100% "SAP계정등록"
Pop $1
${NSD_CreateLabel} 61% 20u 30% 10% 'SID를 입력하세요'
Pop $4
${NSD_CreateText} 61% 35u 30% 10% ''
Pop $SID
${NSD_CreateLabel} 61% 60u 30% 10% 'ID를 입력하세요'
Pop $2
${NSD_CreateText} 61% 75u 30% 10% ''
Pop $ID
${NSD_CreateLabel} 60% 100u 33% 10% 'Password를 입력하세요'
Pop $3
${NSD_CreatePassword} 61% 115u 30% 10% ''
Pop $PW
nsDialogs::Show
FunctionEnd
Function CheckConfig
${NSD_GetText} $ID $0
${NSD_GetText} $PW $1
${NSD_GetText} $SID $2
FunctionEnd
# 설치가 완료 된 후 레지스트리 등록하는 Section
Section "main"
DeleteRegKey HKCR "SapRunTestNGY4"
WriteRegStr HKCR "SapRunTestNGY4" "URL protocol" ""
WriteRegStr HKCR "SapRunTestNGY4\shell\open\command" "" "$\"C:\Program Files (x86)\SAP\FrontEnd\SAPgui\sapshcut.exe$\" -system=$2 -client=100 -user=$0 -PW=$1 -cmd=fb01"
SectionEnd
반응형