corn-cheese

[NSIS] 설치 프로그램 이용해서 레지스트리 등록하기 본문

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

 

 

 

 

반응형
Comments