(20260505)업데이트 실행 : 20260423_2055 버전으로 생성함 중요: 홈페이지의 "CUBE설치프로그램다운로드"의 버전관리를 version.js과 별도로 관리함 설치하고 처음실행할경우 버전과 업데이트날짜를 변경하도록 해줘 새버전 설치후 레지스트리에 버전고 업데이트날짜를 업데이트함 installer.nsh 제거함 ;기본버전설정 - 20260219 WriteRegStr HKCU "Software\CUBE" "Version" "20260423_2055" (20260423)업데이트 실행 : 20260303_0019 버전으로 생성함 프로그램실행을 할경우 닫고 나가버림...한번이후 계속 발생함  C:\Users\...\AppData\Roaming\CUBE\blob_storage 삭제하고 실행하면 실행되지만 몇일후 다시 프로그램실행을 할경우 닫고 나가버림 clearCorruptedCaches() 함수 : 앱 시작 시 손상될 수 있는 캐시 폴더들을 자동 삭제 _ELECTRON_BUILDER.bat REM version.json 수정:202060424 버전업데이트 안함 REM powershell -Command "$path='..\version.json'; $c=(Get-Content -Encoding UTF8 $path) -replace '\"version\": \".*\"', '\"version\": \"%VERSION_INPUT%\"'; $c=$c -replace '\"downloadUrl\": \".*\"', '\"downloadUrl\": \"https://github.com/dkjang73/download/releases/download/fast/CUBE_%VERSION_INPUT%_x64.exe\"'; [IO.File]::WriteAllText($path, ($c -join [Environment]::NewLine), (New-Object Text.UTF8Encoding($false)))" --- (20260323)업데이트 실행 version.json 의 downloadUrl 파일(설치파일)을 다운로드 받아서 실행하도록 수정해줘 Ctrl+1 : 레지스트리의 Version을 정보 메시지창에 보여줘 Ctrl+2 : "바탕화면에 프로그램 바로가기를 생성하시겠습니까?" 예/아니오 주의 메시지를 보여줘 Ctrl+3 : "인증키를 삭제하시겠습니까? 삭제하면 다시 인증을 받아야 합니다." 예/아니오 경고 메시지를 보여줘 Ctrl+4 : "프로그램 버전을 초기화하고 최신 버전을 다시 다운로드하시겠습니까?" 예/아니오 경고 메시지를 보여줘 화면축소(Ctrl+ -),화면확대(Ctrl+ =),화면초기화(Ctrl+ 0) 단축키가 되도록 해줘 메뉴가 나오지 않도록 해줘 Ctrl+Shift+I 단축키를 막아줘 --- (20260218)레지스트리 저장 레지스트리 경로 : HKCU\Software\CUBE UpdateTime, Version Version 값을 수정해야 업데이트 함 Version 값이 없을경우 자동 생성함 (20260215)클라이언트 웹앱구분 ${window.matchMedia('(display-mode: standalone)').matches} | ${window.navigator.standalone} 아이패드 앱 true | true 아이폰 앱 true | true 안드로이드 앱 true | undefined 윈도우 앱 false | undefined 아이패드 웹 false | false 아이폰 웹 false | false 안드로이드 웹 false | undefined 윈도우 웹 false | undefined 아이패드(Mac OS) 웹 false | false 아이폰(Mac OS) 웹 false | false 안드로이드(Android) 웹 false | undefined 윈도우(Windows) 웹 false | undefined --- (20260211)클라이언트 배포 cube_publish.bat 실행 /setup/index.html /setup/version.json /setup/20260213_2201 폴더 복사 --- (20260210)클라이언트 배포 1단계. 버전수정 컴파일 .\main.js(수정:10) let APP_VERSION = "20260211_2214"; // 기본 앱 버전. .\package.js(수정:3) "version": "26.260211.2214", > npm run dist 2단계. 설치파일 복사 mkdir "..\20260211_2214" copy ".\release\CUBE Setup 26.260211.2214.exe" "..\20260211_2214\CUBE_SETUP_20260211_2214.exe" copy ".\release\win-unpacked\CUBE.exe" "..\20260211_2214\CUBE_EXE_20260211_2214.exe" "C:\Program Files\AhnLab\V3Zip20\V3ZipC.exe" -a -cm=Deflate -cl=5 -mt=4 ".\release\win-unpacked\CUBE.exe" "..\20260211_2214\CUBE_EXE_20260211_2214.zip" 3단계. 설치파일 배포 ..\version.json(수정:1) { "version": "20260211_2214", "downloadUrl": "https://www.cube2005.co.kr/setup/20260211_2214/CUBE_EXE_20260211_2214.zip" } (설치방법)버전수정후 관리자권한으로 실행해야 업데이트됨 (오류)zip 일경우 압축을 풀고 C:\Program Files\CUBE 권한 EXE 복사 중 오류 : CUBE_UPDATE.exe 파일권한 없음 "downloadUrl": "https://www.cube2005.co.kr/setup/20260211_2214/CUBE_EXE_20260118_2230.zip" EXE 복사 중 오류: EPERM: operation not permitted, copyfile 'C:\Users\USER\AppData\Roaming\cube\temp\update.exe' -> 'C:\Program Files\CUBE\CUBE.exe' 클라이언드 버전 파일 C:\Users\Administrator\AppData\Roaming\cube\data\version.json {"version":"CUBE_20260118_2230"} --- (20260122)클라이언트 설치파일만들기 > cd D:\VMs\storage\wwwroot\setup\electron > npm install > npm install adm-zip > npm install electron-builder --save-dev --설치파일생성 > npm run dist --실행 > electron . --- Electron 문서 https://tinydew4.gitbooks.io/electron-ko/ winapp.webContents 이벤트 before-input-event: 입력 이벤트가 발생하기 전에 발생합니다. certificate-error: SSL 인증서 에러가 발생했을 때 발생합니다. console-message: 페이지에서 콘솔에 로그 메시지를 출력할 때 발생합니다. context-menu: 컨텍스트 메뉴가 요청될 때 발생합니다. devtools-closed: 개발자 도구가 닫힐 때 발생합니다. devtools-opened: 개발자 도구가 열릴 때 발생합니다. did-fail-load: 페이지 로드가 실패했을 때 발생합니다. 실패 원인과 함께 이벤트가 전달됩니다. did-finish-load: 페이지의 로드가 완료되고 모든 리소스가 로드되었을 때 발생합니다. did-navigate: 페이지가 다른 페이지로 이동한 후에 발생합니다. did-start-loading: 페이지 로드가 시작될 때 발생합니다. did-stop-loading: 페이지 로드가 완료되거나 중단될 때 발생합니다. dom-ready: 페이지의 DOM이 완전히 로드되었을 때 발생합니다. found-in-page: 페이지에서 텍스트를 찾았을 때 발생합니다. login: 인증이 필요할 때 발생합니다. new-window: 새 창이 열리려고 할 때 발생합니다. page-title-updated: 페이지의 제목이 업데이트될 때 발생합니다. select-bluetooth-device: Bluetooth 디바이스 선택을 요청할 때 발생합니다. will-navigate: 페이지가 다른 페이지로 이동하려고 할 때 발생합니다. will-redirect: 페이지가 리디렉션될 때 발생합니다. contextIsolation: false, //20240415:화면안나옴 --- (20250528)Windows 에서 NodeJS + Electron 시작하기 https://logger.one/entry/Windows-에서-NodeJS-Electron-시작하기 1.Node.js 설치 https://nodejs.org/ko/download node-v24.13.0-x64.msi (booting) > node -v v24.13.0 > npm -v 11.6.2 2.Electron 설치 > npm install -g electron > electron -v v40.0.0 3. 해당폴더 실행 > cd D:\VMs\storage\wwwroot\setup\electron > npm install --package.json 생성 > npm init -y --압축 해제를 위해 adm-zip 라이브러리가 필요합니다. > npm install adm-zip 4.electron-builder 설치 > cd D:\VMs\storage\wwwroot\setup\electron > npm install electron-builder --save-dev > npm show electron-builder version 26.4.0 5.앱설치 배포 -- 업데이트실행파일 생성 > npm run build-updater > npm run dist 6.로컬실행 > npm install > npm init > npm start 또는 > electron . --- (20240414)PNG to ICO https://www.hipdf.com/kr/png-to-ico Windows 용 데스크탑 앱 패키징 및 배포하기(electron-build) https://dc2348.tistory.com/41 Electron 시작하기 - 03 - 멋지게 포장해 배포하기 https://jetalog.net/106?category=741674 참고 문서 Application Distribution | Electron - https://www.electronjs.org/docs/latest/tutorial/application-distribution electron-builder - Github - https://github.com/electron-userland/electron-builder electron-builder 사용하여 데스크톱 앱 배포하기 - https://jeongsu.tistory.com/208 Electron 적용 및 빌드하기 - https://velog.io/@altmshfkgudtjr/Electron-적용-및-빌드하기 IT :: 일렉트론 [Electron] 배포 Installer 생성하기 - https://itjunijuni.tistory.com/116 > npm install electron-builder --save-dev > npm show electron-builder version 24.13.3 > npm list electron-builder CUBE@24.04.14 D:\WORK\Electron\CUBE6 `-- electron-builder@24.13.3 --- (20240428)macOS 에서 NodeJS + Electron 시작하기 https://nodejs.org 1.Node.js 설치 node-v20.12.2.pkg (또는 brew install node) > node -v v20.12.2 > npm -v v10.5.0 2.Electron 설치 > sudo npm install -g electron > electron -v v29.3.0 3. 해당폴더 실행 package.json 생성 > sudo npm install > npm init > npm start > electron . 4.(해당폴더에설치할것)electron-builder 설치 > npm install electron-builder --save-dev > npm show electron-builder version 24.13.3 5.앱설치 배포 > sudo npm run dist (20240428)dmg시도해봤지만처리안됨 https://github.com/MichaelTr7/Electron-Builder-DMG-Tutorial -- (20240415)빌드타임(1분30초) • electron-builder version=24.13.3 os=10.0.17763 • loaded configuration file=package.json ("build" field) • writing effective config file=release\builder-effective-config.yaml • packaging platform=win32 arch=x64 electron=29.3.0 appOutDir=release\win-unpacked • packaging platform=win32 arch=ia32 electron=29.3.0 appOutDir=release\win-ia32-unpacked • building target=nsis file=release\CUBE Setup 24.4.15.exe archs=x64, ia32 oneClick=false perMachine=false • building block map blockMapFile=release\CUBE Setup 24.4.15.exe.blockmap