반응형
Inno Setup 이용 VC++ 런타임 포함형 VirtualBox 설치파일 만들기
일부 도서관에서는 무분별한 설치를 막기 위해 VC++ 런타임이 컴퓨터에 설치되지 않은 경우가 있습니다. 물론 리부팅을 하면 컴퓨터가 리셋되기 때문에 재부팅을 하지 않고 VC++ 런타임을 포함하여 설치를 해야 합니다.

이 방식은 기본 VirtualBox 설치 파일에 Microsoft Visual C++ 2015–2022 Redistributable (x86/x64)를 묶어서 한 번에 설치되게 하는 구조입니다.
1. 준비물
- VirtualBox 설치 파일
- 예: VirtualBox-7.1.12-169651-Win.exe
- Microsoft Visual C++ Redistributable 2015–2022 x86/x64
- 공식 다운로드:
- x64: vc_redist.x64.exe
- x86: vc_redist.x86.exe
- 공식 다운로드:
- 패키징 도구
- Inno Setup (무료, 가벼움) 또는 NSIS (무료)
- Inno Setup 추천: https://jrsoftware.org/isinfo.php
2. 설치 순서 설계
런타임을 먼저 설치하고 → VirtualBox를 설치하는 구조로 만들면 됩니다.
순서 예시
- vc_redist.x64.exe 실행 (자동 /quiet 모드)
- vc_redist.x86.exe 실행 (자동 /quiet 모드)
- VirtualBox-7.x.x 설치 실행
3. Inno Setup 스크립트 예시
; setup.iss - VirtualBox + VC++ 포함 설치기 예시
[Setup]
AppName=VirtualBox Custom
AppVersion=7.1.12
DefaultDirName={pf}\Oracle\VirtualBox
OutputDir=output
OutputBaseFilename=VirtualBox_Custom_Setup
Compression=lzma
SolidCompression=yes
[Files]
; 설치 파일 포함
Source: "vc_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "vc_redist.x86.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "VirtualBox-7.1.12-169651-Win.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
[Run]
; 런타임 먼저 설치 (조용히)
Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/quiet /norestart"; StatusMsg: "Installing VC++ 2015-2022 x64..."
Filename: "{tmp}\vc_redist.x86.exe"; Parameters: "/quiet /norestart"; StatusMsg: "Installing VC++ 2015-2022 x86..."
; VirtualBox 설치
Filename: "{tmp}\VirtualBox-7.1.12-169651-Win.exe"; Parameters: ""; StatusMsg: "Installing VirtualBox..."
4. 빌드 방법
- Inno Setup 설치
- 위 스크립트를 setup.iss로 저장
- Inno Setup Compiler에서 setup.iss를 열고 Compile 실행
- output 폴더에 VirtualBox_Custom_Setup.exe 생성
5. 장점
- VMware처럼 런타임 포함이 가능하므로 “VC++ 설치 필요” 오류가 안 뜹니다.
- 공용 PC에서도 한 번에 설치 가능
- 설치 과정 자동화 가능 (/silent 옵션 추가 시 무인 설치)
6. 주의사항
- 보호 모드 PC에서는 여전히 재부팅 후 설치 내용이 사라질 가능성이 큽니다.
- 런타임 포함만으로는 “영구 설치”가 되는 것은 아니고, 관리자 권한 + 보호 모드 제외 목록이 있어야 지속됩니다.
- 이 방법은 VirtualBox 공식 배포판이 아닌 커스텀 설치 파일이 되므로, 배포 시 라이선스 정책 확인이 필요합니다.
커스텀 파일 제작 과정
파일을 제작하기 위해 Inno-Setup 프로그램을 설치한 후에 실행합니다. 실행 후에 다음과 같은 창이 나타나면 미리 준비된 스크립트를 연결합니다.

스크립트 파일 구성
[Setup] 섹션
- AppName/AppVersion: 통합 설치기의 이름과 버전입니다. 최종 실행 파일 속성에 반영됩니다.
- DefaultDirName: 가상의 “기본 설치 경로” 표기일 뿐, 실제 VirtualBox 본체는 자체 설치기에 의해 경로가 정해집니다(보통 C:\Program Files\Oracle\VirtualBox).
- OutputDir/OutputBaseFilename: 컴파일 후 산출물(통합 설치 exe)이 생성될 위치·파일명입니다.
- Compression/SolidCompression: 산출물 압축 방식입니다. lzma + SolidCompression=yes는 용량을 줄이는 데 유리합니다.

[Files] 섹션
- Source: 통합 설치기에 포함할 원본 파일들입니다. (동일 폴더에 놓고 컴파일)
- DestDir: {tmp}: 실행 시점에 임시 폴더(사용자별 Temp)에 풀어놓습니다.
- Flags: deleteafterinstall: 설치가 끝나면 임시 파일을 지웁니다. 디스크를 깔끔하게 유지합니다.
- 주의 사항
- 파일명 오탈자·버전 불일치를 가장 많이 실수합니다. 실제 보유한 파일 이름과 정확히 일치시켜 주세요.
- VC++ 런타임은 x64와 x86 모두 포함하세요. VirtualBox는 종종 둘 다 필요합니다.

정리
공용 컴퓨터처럼 매번 리셋되는 컴퓨터에 보안상 VC++ 등이 설치되지 않아 버추얼박스 활용이 어려운 경우에 사용하는 방법으로 이노셋업 프로그램을 통해 커스텀파일을 생성하는 것을 정리했습니다.
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
| 도커와 도커 데스크톱 (2) | 2025.08.24 |
|---|---|
| 윈도우 환경에서 Docker 프로젝트(simadang-docker) (1) | 2025.08.23 |
| simadang.kr이 AdSense 승인 (0) | 2025.08.18 |
| [Quant] 미국 주식 시장 구조와 데이터 수집 심화 (Week2) (2) | 2025.08.17 |
| Django + MySQL 웹서비스 개발 (3) | 2025.08.16 |
댓글