반응형

이것저것 배운것/NSIS 배움터 22

22. NSIS내에서 32Bit / 64Bit 구분하기

System::Call "kernel32::GetCurrentProcess() i .s"System::Call "kernel32::IsWow64Process(i s, *i .r0)" 둘 다 써넣는다. 리턴값은0일때 32비트1일때 64비트를 '$0' 에 써준다. Ex) System::Call "kernel32::GetCurrentProcess() i .s"System::Call "kernel32::IsWow64Process(i s, *i .r0)" StrCmp $0 '0' 32Bit 64Bit 32Bit:Messagebox MB_OK 'Windows 32Bit'goto End 64Bit:Messagebox MB_OK 'Windows 64Bit'goto End End:Function End

19. 라이센스페이지 이용하기

라이센스 페이지의 스크롤을 모두 내리지 않으면 다음키가 눌러지지 않도록 하는 작업 !define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow!insertmacro MUI_PAGE_LICENSE "라이센스파일(경로포함)" Function .onGUIEnd ScrollLicense::UnloadFunctionEnd Function LicenseShow ScrollLicense::Set /NOUNLOADFunctionEnd 경로포함 되어있는데. 만약 nsi파일과 라이센스가 같이 있다면 경로를 생략하고 라이센스 파일만 쓰면됨단, 확장자명도 반드시 써야 함. ex)TEST 폴더에TEST.nsi와 라이센스.txt가 있다면!insertmacro MUI_PAGE_LICENSE "라이센스.t..

12. IF문 이용하기.

LogicLib.nsh 에 들어있는 내용이다. Modern UI를 이용한다면 굳이 쓸 필요는 없다고는 하지만 써주자 !include LogicLib.nsh 사용법 ${if} $Var == 'Some Value' MessageBox MB_OK 'Message' ${Elseif} $Var == 'Some Other Value' MessageBox MB_OK 'Some Other Message' ${else} MessageBox MB_OK 'The Other Message' ${endif} 큰 틀은 이런식. 끝에는 ${Endif}는 꼭 붙어야 하는것 같다. 다른 예제로는 둘다 공백이어야먄 되는 예제이다. ${If} $0 == '' ${AndIf} $1 == '' MessageBox MB_OK|MB_ICONST..