"범용 설치 파일은 없어. 각 OS가 자기 패키지를 기대하고 — 보통 자기 종류 기계에서 빌드되길 원해."
네이티브 포맷
각 데스크톱 OS엔 사용자가 기대하는 설치 포맷이 있어. macOS: .app 번들, 보통 .dmg 안에 담아 배포. Windows: .msi(WiX로) 또는 .exe 설치 파일(NSIS로). Linux: .deb(Debian/Ubuntu), .rpm(Fedora/RHEL), .AppImage(배포판 무관, 어디서나 실행). bundle.targets에서 뭘 만들지 골라 — 현재 OS에서 가능한 전부면 "all", 아니면 특정 목록.
노리는 OS에서 빌드해
중요한 제약: 보통 각 플랫폼 번들을 그 플랫폼 에서 빌드해. macOS 설치 파일엔 Mac이 필요하고(서명이랑 macOS 툴체인 때문), Windows 설치 파일엔 Windows, Linux엔 Linux. 크로스 컴파일이 제한된 형태로 존재하지만 까다로워. 신뢰할 경로는 OS당 빌드 기계야 — 그래서 macOS/Windows/Linux 러너 매트릭스를 가진 CI가 한 push에서 모든 설치 파일을 만드는 표준 방법이야(다음 레슨들이 다뤄).
청중으로 타깃을 골라
모든 포맷을 낼 필요 없어. 사용자가 다 macOS면 dmg만 빌드하고 나머지는 건너뛰어. 섞인 Linux 배포판에 내? AppImage가 제일 넓은 단일 선택이고, 패키지 매니저를 선호하는 사용자엔 .deb/.rpm. 반사적으로 전부 빌드하지 말고 사용자가 실제로 있는 곳에 타깃을 맞춰 — 타깃이 적으면 서명이 단순하고, CI가 작고, 테스트할 게 적어.