fix(installer): custom NSIS include 비활성화 — System.dll 0xc0000005 크래시 해소

- 이전 installer.nsh의 ReadRegDWORD + MessageBox 조합이 설치 중 System.dll에서
  access violation 유발 (WER로 확인)
- electron-builder 기본 installer UX만 사용 → 안정화 후 단계적으로 커스텀 재추가
- installer.nsh는 최소 버전으로 보존(향후 참고)
This commit is contained in:
yunchan8804 2026-04-15 22:30:10 +09:00
parent eba5f7c540
commit 8e31b36337
2 changed files with 10 additions and 21 deletions

View file

@ -1,32 +1,19 @@
; build/installer.nsh ; build/installer.nsh
; electron-builder nsis.include로 참조되는 NSIS 커스텀 스크립트. ; electron-builder NSIS 커스텀 스크립트. 최소 구성 설치 크래시 방지를 위해
; 번들 플러그인 의존을 피하기 위해 자동 다운로드는 제거하고 정보성 안내만 수행. ; 레지스트리 조회/MessageBox/외부 exec 등은 수행하지 않는다.
; ;
; 목적: ; VC++ 재배포 패키지는 사용자가 사전 설치하거나, 앱이 실행될 에러가 나면 안내.
; 1) Visual C++ 재배포 패키지(x64, 2015-2022) 설치 여부 확인 + 안내 ; 현재는 detail 로그만 남긴다.
; 2) 언인스톨 번들 Ollama 프로세스 종료
!macro customInstall !macro customInstall
DetailPrint "VC++ 재배포 패키지(x64) 확인 중..." DetailPrint "D3RO Voice installer: custom install phase"
ClearErrors
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" "Installed"
${If} $0 != "1"
MessageBox MB_OK|MB_ICONINFORMATION \
"Microsoft Visual C++ 재배포 패키지(x64, 2015-2022)가 필요합니다.$\r$\n$\r$\n설치를 계속하되, 앱 첫 실행 시 오류가 나면 아래 링크에서 수동 설치 후 재시도하세요:$\r$\n$\r$\nhttps://aka.ms/vs/17/release/vc_redist.x64.exe"
DetailPrint "VC++ 재배포 미설치 — 사후 수동 설치 안내 표시됨"
${Else}
DetailPrint "VC++ 재배포 이미 설치됨."
${EndIf}
${If} ${FileExists} "$INSTDIR\resources\ollama\ollama.exe" ${If} ${FileExists} "$INSTDIR\resources\ollama\ollama.exe"
DetailPrint "번들 Ollama 발견: $INSTDIR\resources\ollama\ollama.exe" DetailPrint "Bundled Ollama detected"
${EndIf} ${EndIf}
!macroend !macroend
!macro customUnInstall !macro customUnInstall
DetailPrint "번들 Ollama 프로세스 종료 시도" DetailPrint "D3RO Voice uninstaller: stop Ollama if running"
nsExec::Exec 'taskkill /F /IM ollama.exe' nsExec::Exec 'taskkill /F /IM ollama.exe'
Pop $0 Pop $0
!macroend !macroend

View file

@ -111,6 +111,8 @@ nsis:
createStartMenuShortcut: true createStartMenuShortcut: true
shortcutName: D3RO Voice shortcutName: D3RO Voice
deleteAppDataOnUninstall: false deleteAppDataOnUninstall: false
include: build/installer.nsh # include: build/installer.nsh
# NOTE: customInstall/customUnInstall 매크로가 NSIS System.dll 크래시를 유발한 사례 있어
# v0.1.0-alpha 단계에선 기본 electron-builder installer 사용. 안정화 후 재활성.
npmRebuild: true npmRebuild: true