본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

Inno Setup 이용 VC++ 런타임 포함형 VirtualBox 설치파일 만들기

by easyfly 2025. 8. 19.
반응형

Inno Setup 이용 VC++ 런타임 포함형 VirtualBox 설치파일 만들기

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


이 방식은 기본 VirtualBox 설치 파일에 Microsoft Visual C++ 2015–2022 Redistributable (x86/x64)를 묶어서 한 번에 설치되게 하는 구조입니다.


1. 준비물

  1. VirtualBox 설치 파일
    • 예: VirtualBox-7.1.12-169651-Win.exe
  2. Microsoft Visual C++ Redistributable 2015–2022 x86/x64
    • 공식 다운로드:
      • x64: vc_redist.x64.exe
      • x86: vc_redist.x86.exe
  3. 패키징 도구
    • Inno Setup (무료, 가벼움) 또는 NSIS (무료)
    • Inno Setup 추천: https://jrsoftware.org/isinfo.php

2. 설치 순서 설계

런타임을 먼저 설치하고 → VirtualBox를 설치하는 구조로 만들면 됩니다.

순서 예시

  1. vc_redist.x64.exe 실행 (자동 /quiet 모드)
  2. vc_redist.x86.exe 실행 (자동 /quiet 모드)
  3. 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. 빌드 방법

  1. Inno Setup 설치
  2. 위 스크립트를 setup.iss로 저장
  3. Inno Setup Compiler에서 setup.iss를 열고 Compile 실행
  4. 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++ 등이 설치되지 않아 버추얼박스 활용이 어려운 경우에 사용하는 방법으로 이노셋업 프로그램을 통해 커스텀파일을 생성하는 것을 정리했습니다.

반응형

댓글