반응형

NSIS 14

[NSIS] 재배포 패키지 설치 여부 체크 후 설치하는 방법

아래 NSIS 스크립트? 에서 "Function InstallVCRedist_x86" 함수와 "Function CheckVCRedist_x86" 함수 그리고 "Function InstallVCRedist_x64", "Function CheckVCRedist_x64" 함수를 그대로 복사하여 사용하면 된다. (재배포 패키지 Product Code는 수정하여 사용.); Script generated by the HM NIS Edit Script Wizard.; HM NIS Edit Wizard helper defines!define PRODUCT_NAME "제품 이름"!define PRODUCT_VERSION "1.0.0.1"!define PRODUCT_PUBLISHER "회사이름 Co., LTD."!defi..

NSIS/Reference 2024.12.11

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

- 등록x86 환경에선 RegDLL "$SYSDIR\Test.ocx"처럼 RegDLL 뒤에 등록할 파일의 풀 경로를 입력해 주면 되고x64 환경에선 ExecWait '"$SYSDIR\regsvr32.exe" /s "$SYSDIR\Text_x64.ocx"' 처럼 regsvr32.exe 프로그램을 통해 등록한다.​- 해제x86 환경에서 UnRegDLL "$SYSDIR\Test.ocx"x64 환경에선 ExecWait '"$SYSDIR\regsvr32.exe" /u /s "$SYSDIR\Test_x64.ocx"' ; Script generated by the HM NIS Edit Script Wizard.; HM NIS Edit Wizard helper defines!define PRODUCT_NAME "제품 ..

NSIS/Reference 2024.12.11

[NSIS] 커맨드 라인 옵션 값 받아오기 + 사일런트 모드 설치

# Command Line 명령어를 받아오기 위해 추가.!include FileFunc.nsh!insertmacro GetParameters!insertmacro GetOptionsVAR /GLOBAL PARAM # 전역 변수 선언Function .onInit ${GetParameters} $PARAM ClearErrors ${GetOptions} $PARAM /SILENT= $PARAM # 여기에서 '/'뒤에 써주는 단어가 커맨드라인 옵션임. 예를 들어 "${GetOptions} $PARAM /TestInput= $PARAM" 이라고 하고, NSIN 빌드 결과 만들어지는 설치 파일 명이 "install.exe"라고 할 때, "install.exe /TestInput=입력값" 이라고 커맨드 라인에서 입력..

NSIS/Reference 2024.12.11

[NSIS] 원본 문자열의 앞에서부터 원하는 문자의 인덱스 찾기

# 호출 예# ${IndexOf} '반환' '찾을 문자열' '원본 문자열'# ${IndexOf} $0 "bc" "abcd"# $0 == 1!macro _IndexOf un Function ${un}_IndexOf Exch $R0 Exch Exch $R1 Push $R2 Push $R3 StrCpy $R3 $R0 StrCpy $R0 -1 IntOp $R0 $R0 + 1 StrCpy $R2 $R3 1 $R0 StrCmp $R2 "" +2 StrCmp $R2 $R1 +2 -3 StrCpy $R0 -1 Pop $R3 Pop $R2 Pop $R1 Exch $R0 FunctionEnd!macroend!insertmacro _IndexOf ""!insertmacro _IndexOf "un..

NSIS/Reference 2024.12.09

[NSIS] 원본 문자열의 뒤에서부터 원하는 문자의 인덱스 찾기

# 호출 예# ${IndexOf} '반환' '찾을 문자열' '원본 문자열'# ${IndexOf} $0 "b" "abcd"# $0 == 3!macro _RIndexOf un Function ${un}_RIndexOf Exch $R0 Exch Exch $R1 Push $R2 Push $R3 StrCpy $R3 $R0 StrCpy $R0 0 IntOp $R0 $R0 + 1 StrCpy $R2 $R3 1 -$R0 StrCmp $R2 "" +2 StrCmp $R2 $R1 +2 -3 StrCpy $R0 -1 Pop $R3 Pop $R2 Pop $R1 Exch $R0 FunctionEnd!macroend!insertmacro _RIndexOf ""!insertmacro _RIndexOf ..

NSIS/Reference 2024.12.09

[NSIS] 문자열에 원하는 문자열이 포함되어 있는지 체크하는 함수

# 호출 예# ${StrContains} '반환' '찾을 문자열' '원본 문자열'# ${StrContains} $0 "tri" "The String"# 성공 시 $0 == "tri", 실패 시 $0 == ""!macro _StrContains un Function ${un}_StrContains Push $R0 # 찾을 문자열 Exch Pop $R0 Push $R1 # 원본 문자열 Exch 2 Pop $R1 Push $R2 # 리턴 문자열 Push $R3 Push $R4 Push $R5 Push $R6 ;MessageBox MB_OK "찾을 문자열[$R0], 원본 문자열[$R1]" StrCpy $R2 "" StrCpy $R3 -1 StrLen $R4 $R0 StrLen $R6..

NSIS/Reference 2024.12.09

[NSIS] 문자열에서 찾아 바꾸기

# 호출 예# ${StrReplace} '반환' '찾을 문자열' '바꿀 문자열' '원본 문자열'# ${StrReplace} $0 "like" "don't like" "I like cheese a lot!"# $0 == I don't like cheese a lot!!macro _StrReplace un Function ${un}_StrReplace Push $R0 # 원본 문자열 Exch Pop $R0 Push $R1 Exch 2 Pop $R1 # 바꿀 문자열 Push $R2 Exch 3 Pop $R2 Push $R3 Push $R4 Push $R5 Push $R6 Push $R7 Push $R8 StrCpy $R3 -1 StrLen $R5 $R0 StrLen $R6 $..

NSIS/Reference 2024.12.09
반응형