fix(build): 아이콘 의존 제거 + NSISdl 비의존화
- electron-builder.yml: win/mac/linux icon 경로 제거 (resources/icons/가 비어있어 아이콘 수집 실패) Electron 기본 아이콘 사용. 추후 resources/icons/icon.ico 준비되면 win.icon 복원. - extraResources의 resources/icons/ 복사 엔트리 삭제 - installer.nsh: NSISdl::download 제거 → 번들 플러그인 의존 제거 VC++ 재배포 미설치 시 수동 설치 링크 안내만 표시
This commit is contained in:
parent
adc88853fa
commit
a18666dd6a
2 changed files with 11 additions and 52 deletions
|
|
@ -1,49 +1,21 @@
|
|||
; build/installer.nsh
|
||||
; NSIS 커스텀 스크립트. electron-builder의 nsis.include로 참조됨.
|
||||
; electron-builder의 nsis.include로 참조되는 NSIS 커스텀 스크립트.
|
||||
; 번들 플러그인 의존을 피하기 위해 자동 다운로드는 제거하고 정보성 안내만 수행.
|
||||
;
|
||||
; 목적:
|
||||
; 1) Visual C++ 재배포 패키지(x64, 2015-2022) 확인 및 사일런트 자동 설치
|
||||
; - Ollama 및 faster-whisper 사이드카의 네이티브 의존성이 요구함.
|
||||
; - NSIS 내장 NSISdl 플러그인(인터넷 다운로드 표준)으로 aka.ms 경유 다운로드.
|
||||
; 2) 언인스톨 시 번들 Ollama 프로세스 종료.
|
||||
; 1) Visual C++ 재배포 패키지(x64, 2015-2022) 설치 여부 확인 + 안내
|
||||
; 2) 언인스톨 시 번들 Ollama 프로세스 종료
|
||||
|
||||
!macro customInstall
|
||||
DetailPrint "VC++ 재배포 패키지(x64) 확인 중..."
|
||||
|
||||
; x64 Visual C++ 2015-2022 재배포 패키지 설치 여부 확인
|
||||
ClearErrors
|
||||
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" "Installed"
|
||||
|
||||
${If} $0 != "1"
|
||||
DetailPrint "VC++ 재배포 미설치 → 자동 다운로드/설치 시도"
|
||||
|
||||
; aka.ms/vs/17/release/vc_redist.x64.exe (영구 리다이렉트 → 최신 17.x)
|
||||
; NSISdl은 리다이렉트를 따라가며 Microsoft 공식 MSI 패키지를 받는다.
|
||||
NSISdl::download /TIMEOUT=30000 "https://aka.ms/vs/17/release/vc_redist.x64.exe" "$TEMP\vc_redist.x64.exe"
|
||||
Pop $R0
|
||||
|
||||
${If} $R0 == "success"
|
||||
DetailPrint "vc_redist.x64.exe 사일런트 설치 실행"
|
||||
ExecWait '"$TEMP\vc_redist.x64.exe" /install /quiet /norestart' $1
|
||||
Delete "$TEMP\vc_redist.x64.exe"
|
||||
|
||||
${If} $1 == 0
|
||||
DetailPrint "VC++ 재배포 설치 완료"
|
||||
${ElseIf} $1 == 1638
|
||||
; 1638 = 동일/상위 버전 이미 설치됨
|
||||
DetailPrint "VC++ 재배포 동일 이상 버전 이미 설치됨 (코드 1638)"
|
||||
${ElseIf} $1 == 3010
|
||||
; 3010 = 설치 성공, 재부팅 필요
|
||||
DetailPrint "VC++ 재배포 설치 완료 (재부팅 필요)"
|
||||
${Else}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION \
|
||||
"VC++ 재배포 설치 중 경고 발생 (코드 $1).$\r$\n일부 기능이 동작하지 않을 수 있습니다.$\r$\n수동 설치: https://aka.ms/vs/17/release/vc_redist.x64.exe"
|
||||
${EndIf}
|
||||
${Else}
|
||||
DetailPrint "VC++ 재배포 다운로드 실패: $R0"
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION \
|
||||
"VC++ 재배포 패키지 다운로드에 실패했습니다.$\r$\n$\r$\n아래 링크에서 수동으로 설치해주세요:$\r$\nhttps://aka.ms/vs/17/release/vc_redist.x64.exe$\r$\n$\r$\n설치하지 않으면 음성 인식이 동작하지 않습니다."
|
||||
${EndIf}
|
||||
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}
|
||||
|
|
|
|||
|
|
@ -21,20 +21,20 @@ asarUnpack:
|
|||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# Windows
|
||||
# 주: icon 지정 시 resources/icons/icon.ico 필요. 초기 배포에선 생략하여
|
||||
# electron 기본 아이콘 사용(아이콘 준비되면 win.icon 라인 추가).
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
win:
|
||||
target:
|
||||
- target: nsis
|
||||
arch:
|
||||
- x64
|
||||
icon: resources/icons/icon.ico
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# macOS
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
mac:
|
||||
category: public.app-category.productivity
|
||||
icon: resources/icons/icon.icns
|
||||
target:
|
||||
- target: dmg
|
||||
arch:
|
||||
|
|
@ -48,8 +48,6 @@ mac:
|
|||
gatekeeperAssess: false
|
||||
entitlements: build/entitlements.mac.plist
|
||||
entitlementsInherit: build/entitlements.mac.plist
|
||||
# notarize: 환경변수 APPLE_ID / APPLE_APP_SPECIFIC_PASSWORD / APPLE_TEAM_ID 설정 시 활성화.
|
||||
# CI/dev 환경에서는 NOTARIZE=false로 스킵 가능.
|
||||
notarize: false
|
||||
extendInfo:
|
||||
NSMicrophoneUsageDescription: "D3RO Voice는 음성 인식을 위해 마이크 접근이 필요합니다."
|
||||
|
|
@ -74,7 +72,6 @@ linux:
|
|||
target:
|
||||
- AppImage
|
||||
category: Utility
|
||||
icon: resources/icons/icon.png
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# 공통 리소스 번들
|
||||
|
|
@ -86,29 +83,19 @@ extraResources:
|
|||
filter:
|
||||
- "*.wav"
|
||||
|
||||
# 앱 아이콘 (트레이 등 런타임에서 참조)
|
||||
- from: resources/icons/
|
||||
to: icons/
|
||||
filter:
|
||||
- "**/*"
|
||||
|
||||
# SoX 바이너리 (번들되어 있으면 번들, 없으면 시스템 PATH)
|
||||
# SoX 바이너리
|
||||
- from: resources/sox/
|
||||
to: sox/
|
||||
filter:
|
||||
- "**/*"
|
||||
|
||||
# Python sidecar (PyInstaller 빌드 결과)
|
||||
# 빌드 전: python scripts/build-sidecar.py (플랫폼에서 개별 실행)
|
||||
- from: sidecar-dist/sidecar/
|
||||
to: sidecar/
|
||||
filter:
|
||||
- "**/*"
|
||||
|
||||
# Ollama 바이너리
|
||||
# 빌드 전: powershell scripts/download-ollama.ps1 (Windows)
|
||||
# bash scripts/download-ollama.sh (macOS/Linux)
|
||||
# 번들된 ollama가 있으면 LocalLLMService가 1순위로 사용.
|
||||
# Ollama 바이너리 (포터블 zip을 사전 배치)
|
||||
- from: resources/ollama/
|
||||
to: ollama/
|
||||
filter:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue