当ブログではアフィリエイト広告を掲載しています。

Oracle VirtualBox v6.1.xxのポータブル化

最終更新日

2022/07/25
いろいろな間違いを修正し、全体を書き直しました。
2022/08/09
リンク、一部の文言を変更。
2022/10/14
VirutalBox v7.0.0対応について第1章に追加。第1章のタイトルを少し変更しました。
第6章にセキュリティソフトによる誤検出への対策を追加。
2023/04/19
第6章にPortable-VirtualBox.exeがPUAとして検出された場合の対処法を追加。

VirtualBox v6.1.0以降のポータブル化は自分でbuild。

https://github.com/vboxme/Portable-VirtualBox

上記URLにて、VirtualBoxをポータブル化するためのファイル一式が配布されています。

  • Windows専用
  • VirtualBox v6.1.xx対応
  • 64bit-Host対応 (32bit-Host非対応)

ポータブル化に必要なこと

  • VirtualBox v6.1.0~6.1.30
    第3章の作業
  • VirtualBox v6.1.32以降、v7.0.0以降
    第3章と第4章の作業
旧バージョンのVirtualBoxのポータブル化について

Portable-VirtualBoxのバージョンアップ方法 (5.2.xx – 6.0.xx)を参照してください。

v5.2.xx: 32bit-Hostと64bit-Hostの両方に対応
v6.0.xx: 64bit-Host対応 (32bit-Host非対応)

注意: 旧バージョンはOracle社によるサポートが終了しています。脆弱性があっても修正されません。

Buildの過程と使用するツール

Build作業はWindows PCで行います。

  1. コンパイル — autoit v3
  2. 自己展開アーカイブ形式 (SFX) で圧縮 — 7zip
  3. 2のアイコンをVirtualBox.icoに変更 — resource hacker
  4. 署名 — signtool.exeコードサイニング用証明書

1だけでポータブル化できます。2と3は配布・保管向けのオプション。4は「デジタル署名のないソフトウェアを使用できない環境」向けのオプションです。

この記事では、Build.bat(後述)を使って、1~3 あるいは 1~4を自動で行います。各種ツールを用意してください。Build.batを使用する場合、1~3のツールは必須、4はオプションです。

手動でbuildする方法 (4の署名についての説明は記載されていません)

https://github.com/vboxme/Portable-VirtualBox/blob/master/BUILDING.md

AutoIt v3

ダウンロード

https://www.autoitscript.com/site/autoit/downloads/

インストール版 (Download AutoIt ボタン) / ポータブル版 (Download ZIP ボタン) のいずれかをダウンロードします。

ダウンロード後

インストール版(autoit-v3-setup.exe)は、管理者としてインストールします。

ポータブル版(autoit-v3.zip)は解凍(展開)します。

誤検出されることがあります。
マルウェアがAutoItを悪用することがあるため、一部のセキュリティソフトはAutoItまでもマルウェアと見なしてしまうことがあります。

7zip

※ 有名な圧縮・解凍ソフトです。すでにインストールされている場合は、ここを飛ばして次へ進んでください。

インストール版 7zip (公式ページ)

https://sevenzip.osdn.jp/

作業用PCに合った7z****.exeをダウンロードし、インストールします。

ポータブル版 7zip (portableapps.com)

https://portableapps.com/apps/utilities/7-zip_portable

7-ZipPortable_**.**.paf.exeをダウンロードし、実行(= 自己解凍)します。

resource hacker

ダウンロード

http://www.angusj.com/resourcehacker/#download

EXE install (インストール版) / ZIP install (ポータブル版) のいずれかをダウンロードします。

ダウンロード後

インストール版(reshacker_setup.exe)はインストールします。

ポータブル版(resource_hacker.zip)は解凍します。

signtool.exe (デジタル署名する場合のみ)

署名しない場合は不要です。

※ コードサイニング用証明書はご自分で用意してください。

Windows SDK(Software Development Kit)のダウンロード

https://developer.microsoft.com/ja-jp/windows/downloads/sdk-archive/

Windows SDKのバージョンを選び、右横の[SDKをインストールする]のリンクからダウンロード。

Windows SDKのバージョンの選び方:
作業するWindows OSバージョンと同じもの。それが無ければ、Windows OSバージョンより少し古いバージョン。
例 Windows 10 21H1 or 21H2 → Windows 10 SDK バージョン 2104

ダウンロード後

Windows SDKのインストーラを実行し、インストールします。

Windows 10 SDKの場合は、"Select the features you want to install"の所で、"Windows SDK Signing Tools for desktop Apps" にチェックを入れます。(Windows SDKのバージョンによって項目名が異なる可能性があります)

インストール後、signtool.exeのフルパスをメモします。

例 Windows SDK v10.1.20348.1 (64bit環境)をデフォルトの場所にインストールした場合
C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x64\signtool.exe

Windows SDKのバージョン番号と、インストールされたフォルダーのバージョン番号が少し異なっていますが、これは仕様です。

Portable-VirtualBox-master.zipのダウンロードとカスタマイズ

Portable-VirtualBox-master.zipをダウンロードする。

直接ダウンロードURL
https://github.com/vboxme/Portable-VirtualBox/archive/master.zip

ダウンロード後に解凍してください。

各言語ファイルが、Portable-VirtualBox-master\data\languageフォルダーに入っています。使わない言語ファイルは削除可能です。ただし、必ず1つは残してください。全ての言語ファイルを削除した場合、Portable-VirtualBox.exeの動作に支障が出ます。

この後、次の3ファイルを編集します。

  • Portable-VirtualBox-master\Build.bat
  • Portable-VirtualBox-master\data\settings\settings.ini
  • Portable-VirtualBox-master\data\settings\vboxinstall.ini

build.batの修正

Portable-VirtualBox-master\Build.batの中身すべてを、下の内容で置き換え、上書き保存してください。

build.bat (文字コード: ANSI)

@echo off

rem Unseting user variables
set "aut2exe="
set "sevenzip="
set "reshack="
set "signtool="

rem User-defined variables. You may have to change its values to correspond to your system and remove the "rem" statement in front of it.
rem set "aut2exe=C:\Program Files (x86)\AutoIt3\Aut2Exe\aut2exe.exe"
rem set "sevenzip=C:\Program Files\7-Zip\7z.exe"
rem set "reshack=C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe"
rem End of user-defined variables.



rem Setting up the different folders used for building. %~dp0 is the folder of the build script itself (may not be the same as the working directory).
set "input_folder=%~dp0"
set "build_folder=%input_folder%build\source"
set "release_folder=%input_folder%build\release"
set "output_name=Portable-VirtualBox_current.exe"


rem Find path for aut2exe
rem If the user supplied a aut2exe path use it
IF DEFINED aut2exe (
	echo Using user defind path to aut2exe
	goto done_aut2exe
)

rem Try to find the aut2exe path.
set "PPATH=%ProgramFiles%\AutoIt3\Aut2Exe\aut2exe.exe"
IF exist "%PPATH%" (
    set "aut2exe=%PPATH%"
	goto done_aut2exe
) 

set "PPATH=%ProgramFiles(x86)%\AutoIt3\Aut2Exe\aut2exe.exe"
IF exist "%PPATH%" (
    set "aut2exe=%PPATH%"
	goto done_aut2exe
) 

:done_aut2exe
IF not exist "%aut2exe%" (
    echo Can't locate AutoIt. Is it installed? Pleas set the aut2exe variable if it is installed in a nonstandard path.
    EXIT /B
)


rem Find path for sevenzip
rem If the user supplied a sevenzip path use it
IF DEFINED sevenzip (
	echo Using user defind path to sevenzip
	goto done_sevenzip
)

rem Try to find the sevenzip path.
set "PPATH=%ProgramFiles%\7-Zip\7z.exe"
IF exist "%PPATH%" (
    set "sevenzip=%PPATH%"
	goto done_sevenzip
) 

set "PPATH=%ProgramFiles(x86)%\7-Zip\7z.exe"
IF exist "%PPATH%" (
    set "sevenzip=%PPATH%"
	goto done_sevenzip
) 

:done_sevenzip
IF not exist "%sevenzip%" (
    echo Can't locate 7-Zip. Is it installed? Pleas set the sevenzip variable if it is installed in a nonstandard path.
    EXIT /B
)


rem Find path for reshack
rem If the user supplied a reshack path use it
IF DEFINED reshack (
	echo Using user defind path to reshack
	goto done_reshack
)

rem Try to find the reshack path.
set "PPATH=%ProgramFiles%\Resource Hacker\reshacker.exe"
IF exist "%PPATH%" (
    set "reshack=%PPATH%"
	goto done_reshack
) 

set "PPATH=%ProgramFiles(x86)%\Resource Hacker\reshacker.exe"
IF exist "%PPATH%" (
    set "reshack=%PPATH%"
	goto done_reshack
) 

set "PPATH=%ProgramFiles%\Resource Hacker\ResourceHacker.exe"
IF exist "%PPATH%" (
    set "reshack=%PPATH%"
	goto done_reshack
) 

set "PPATH=%ProgramFiles(x86)%\Resource Hacker\ResourceHacker.exe"
IF exist "%PPATH%" (
    set "reshack=%PPATH%"
	goto done_reshack
)

:done_reshack
IF not exist "%reshack%" (
    echo Can't locate Reshack. Is it installed? Pleas set the reshack variable if it is installed in a nonstandard path.
    EXIT /B
)



rem Find path for signtool
rem If the user supplied a signtool path use it
IF DEFINED signtool (
	echo Using user defind path to signtool
	goto done_signtool
)

rem Try to find the signtool path.
set "PPATH=%ProgramFiles(x86)%\Windows Kits\8.1\bin\x64\signtool.exe"
IF exist "%PPATH%" (
    set "signtool=%PPATH%"
	goto done_signtool
) 

set "PPATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe"
IF exist "%PPATH%" (
    set "signtool=%PPATH%"
	goto done_signtool
) 



:done_signtool
IF "%~1"=="-s" IF not exist "%signtool%" (
    echo Can't locate signtool. Is it installed? Pleas set the signtool variable if it is installed in a nonstandard path.
    EXIT /B
)



echo aut2exe path: %aut2exe%
echo sevenzip path: %sevenzip%
echo reshack path: %reshack%
echo signtool path: %signtool%

rem Remove any old files in the build directory.
if exist "%build_folder%\Portable-VirtualBox" (
	rmdir /s /q %build_folder%\Portable-VirtualBox
)

rem Create build and release folders if needed.
if not exist "%build_folder%\Portable-VirtualBox" md "%build_folder%\Portable-VirtualBox"
if not exist "%release_folder%" md "%release_folder%"

rem Make a copy of the file for easy compression later.
xcopy /i /e "%input_folder%data" "%build_folder%\Portable-VirtualBox\data\"
xcopy /i /e "%input_folder%source" "%build_folder%\Portable-VirtualBox\source\"
xcopy "%input_folder%LiesMich.txt" "%build_folder%\Portable-VirtualBox\"
xcopy "%input_folder%ReadMe.txt"  "%build_folder%\Portable-VirtualBox\"

rem Compile Portable-VirtualBox.
"%aut2exe%" /in "%build_folder%\Portable-VirtualBox\source\Portable-VirtualBox.au3" /out "%build_folder%\Portable-VirtualBox\Portable-VirtualBox.exe" /icon "%build_folder%\Portable-VirtualBox\source\VirtualBox.ico" /x86
if not exist "%build_folder%\Portable-VirtualBox\Portable-VirtualBox.exe" (
	echo Failed to build exe. No .exe file was produced
	EXIT /B
)

rem Sign the main .exe file if run with -s
IF "%~1"=="-s" (
	echo "Signing main .exe file"
	"%signtool%" sign /a "%build_folder%\Portable-VirtualBox\Portable-VirtualBox.exe"
)

rem Make a release by packing the exe, data and source code into a self-extracting archive.
pushd %build_folder%
"%sevenzip%" a -r -x!.git -sfx7z.sfx "%release_folder%\Portable-VirtualBox.tmp" "Portable-VirtualBox"
popd

rem Change the icon on the self-extracting archive.
"%reshack%" -action addoverwrite -open "%release_folder%\Portable-VirtualBox.tmp" -save "%release_folder%\%output_name%" -res "%build_folder%\Portable-VirtualBox\source\VirtualBox.ico" -mask ICONGROUP,1,1033

del /q "%release_folder%\Portable-VirtualBox.tmp"

rem Signing the self extracting .exe file if run with -s
IF "%~1"=="-s" (
	echo "Signing self extracting .exe file"
	"%signtool%" sign /a "%release_folder%\%output_name%"
)

echo ###############################################################################
echo Build new release as %release_folder%\%output_name%
echo ###############################################################################

pause

黄色 = 修正した行

修正箇所は3つ。(Line numberは修正前のbuild.batのもの)

  • Line 19, Line20
    %input_folder% の後ろのバックスラッシュを取り除いた。
  • Line 154
    rmdir コマンドを、if exist 文の中に入れた。
  • Line 185
    ResourceHacker.exe コマンドのオプションを変更。
    (resource hackerの最近のバージョンに合わせた)

build.batのカスタマイズ Step 1

まず、使用する各種ツールの実行ファイルのフルパスを確認します。

  • Autoit v3

    Aut2Exe\Aut2exe.exe (for 32bit/64bit)
    or Aut2Exe\Aut2exe_x64.exe (for 64bit)

  • 7zip

    7z.exe

    [ポータブル版の場合]
    App\7-Zip\7z.exe (for 32bit/64bit)
    or App\7-Zip64\7z.exe (for 64bit)

  • resource hacker
    ResourceHacker.exe
  • signtool (Windows SDK)
    signtool.exe

    デジタル署名しない場合は不要。

Portable-VirtualBox-master\Build.batをテキストエディタで開き、最初の方を見てください。

@echo off

rem Unseting user variables
set "aut2exe=<full path of Aut2exe.exe or Aut2exe_x64.exe>"
set "sevenzip=<full path of 7z.exe>"
set "reshack=<full path of ResourceHacker.exe>"
set "signtool=<full path of signtool.exe>"

rem User-defined variables. You may have to change its values to correspond to your system and remove the "rem" statement in front of it.
rem set "aut2exe=C:\Program Files (x86)\AutoIt3\Aut2Exe\aut2exe.exe"
rem set "sevenzip=C:\Program Files\7-Zip\7z.exe"
rem set "reshack=C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe"
rem End of user-defined variables.

set "変数名=<ココ>"に、各種ツールのフルパスを入れます。

その下の 部分のパス(build.batの初期設定)と同じ場合は、省略可能です。

デジタル署名する場合は、signtool.exeのフルパスも入れておきます。

各種ツールのパス
  • E:\autoit-v3\install\Aut2Exe\aut2exe.exe
  • C:\Program Files\7-Zip\7z.exe
  • E:\resource_hacker_5_1_8\ResourceHacker.exe
  • C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x64\signtool.exe

@echo off

rem Unseting user variables
set "aut2exe=E:\autoit-v3\install\Aut2Exe\aut2exe.exe"
set "sevenzip="
set "reshack=E:\resource_hacker_5_1_8\ResourceHacker.exe"
set "signtool=C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x64\signtool.exe"

rem User-defined variables. You may have to change its values to correspond to your system and remove the "rem" statement in front of it.
rem set "aut2exe=C:\Program Files (x86)\AutoIt3\Aut2Exe\aut2exe.exe"
rem set "sevenzip=C:\Program Files\7-Zip\7z.exe"
rem set "reshack=C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe"
rem End of user-defined variables.

7z.exeのフルパスはbuild.batの初期設定と同じだったため、省きました。

変更後、build.batを上書き保存します。

build.batのカスタマイズ Step 2 (デジタル署名する場合のみ)

build.batの最後の方を見てください。

2カ所のsigntoolのコマンドオプションを確認します。

"%signtool%" sign /a "%build_folder%\Portable-VirtualBox\Portable-VirtualBox.exe"
"%signtool%" sign /a "%release_folder%\%output_name%"

sign … デジタル署名する。
/a … 最適な署名証明書を自動的に選択する。

必要に応じて、sign /a 部分を変更します。

例 署名証明書=my_sample.pfx、アルゴリズム=sha256、パスワード=mypasswordで署名する場合

"%signtool%" sign /f my_sample.pfx /fd sha256 /p mypassword "%build_folder%\Portable-VirtualBox\Portable-VirtualBox.exe"
"%signtool%" sign /f my_sample.pfx /fd sha256 /p mypassword "%release_folder%\%output_name%"
singtool.exe コマンドオプションの詳細
hhttps://learn.microsoft.com/ja-jp/dotnet/framework/tools/signtool-exe

変更後、build.batを上書き保存します。

settings.ini、vboxinstall.iniのカスタマイズ

VirtualBoxの公式ページから情報を入手し、2つのiniファイルの内容を更新します。

インストール版VirtualBox 最新版のダウンロードURLを調べる。

最新ビルド (現在は v7.0.xx)
https://www.virtualbox.org/wiki/Downloads

v6.1.xx
https://www.virtualbox.org/wiki/Download_Old_Builds_6_1

上のURLにて、VirtualBox v7.0.xx、あるいは、v6.1.xxの最新バージョンの情報を調べてメモします。

  1. バージョン番号
  2. "Windows hosts"のリンクのURL
  3. Oracle VM VirtualBox Extension Packの"All Supported platforms"のリンクのURL

例 VirtualBox v7.0.14の場合

  1. 7.0.12
  2. https://download.virtualbox.org/virtualbox/7.0.14/VirtualBox-7.0.14-161095-Win.exe
  3. https://download.virtualbox.org/virtualbox/7.0.14/Oracle_VM_VirtualBox_Extension_Pack-7.0.14.vbox-extpack

iniファイルの内容変更

  1. data\settings\settings.iniの変更

    [version]の下の「key=5126」の数字を、使用するバージョンの数字(ピリオド抜きの4桁表示)に変更し、上書き保存。

    例 v7.0.14の場合

    [version]
    key=7014
  2. data\settings\vboxinstall.iniの変更

    key1= の右辺を、"Windows hosts"のURLに変更する。

    key2= の右辺を、Extension Packの"All Supported platforms"のURLに変更する。

    上書き保存。

    例 v7.0.14の場合

    [download]
    key1=https://download.virtualbox.org/virtualbox/7.0.14/VirtualBox-7.0.14-161095-Win.exe
    key2=https://download.virtualbox.org/virtualbox/7.0.14/Oracle_VM_VirtualBox_Extension_Pack-7.0.14.vbox-extpack

Portable-VirtualBox.au3の修正 (VirtualBox v6.1.32以降)

VirtualBox v6.1.32をポータブル化したPortable-VirtualBoxを起動したら、次のエラーが表示されました。

NTCreatedFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND

ポータブル化したVirtualBox v6.1.32を起動した時に表示されたエラーメッセージ

これは、VirtualBox v6.1.32でVBoxDRVVBoxSUPに変更されたためです。このエラーを解消するために、Portable-VirtualBox.au3ファイルの内容を書き換えます。

  1. メモ帳等のテキストエディタで、Portable-VirtualBox-master\source\Portable-VirtualBox.au3を開く。
  2. すべて置き換え

    • $DRV$SUP
    • VBoxDrv\VBoxDrv.sysvboxsup\VBoxSup.sys
    • VBoxDRVVBoxSUP
  3. 上書き保存

Portable-VirtualBoxの動作に影響はありませんが、ReadMe.txtとLiesMich.txtの中身も、"VBoxDRV"を"VBoxSUP"に置き換えておきましょう。

build.batを実行する。

デジタル署名しない

build.batをダブルクリックで実行します。

デジタル署名する時だけ

デジタル署名する準備(signtool.exeと証明書の用意、signtool.exeのフルパスとsigntoolコマンドオプションの設定)を済ませてあるものとします。

管理者として、build.batを-sオプションを付きで実行する必要があります。

  1. 管理者としてコマンドプロンプト(cmd.exe)を起動。
  2. 次のコマンドを実行。

    cd /d "<full path of Portable-VirtualBox-master folder>"
    build.bat -s

SignTool Errorが表示された場合は、デジタル署名に失敗しています。署名証明書が存在すること、署名証明書が有効期限内であること、signtoolコマンドオプションが適切か確認してください。

署名に失敗した場合でも、"Signing self extracting .exe file"の前に"Success!"と表示されていれば、ポータブル化には成功しています。

build.bat トラブルシューティング

build.bat実行後、黒い画面一瞬だけ表示されて、すぐに消えた。
build.bat内の各種ツールのフルパス設定が間違っている可能性があります。
build.batのカスタマイズ Step 1 に戻って、各種ツールのフルパスを書き直してください。
Error: invalid command
Failed!

build.bat内のResourceHacker.exe コマンドのオプションが間違っています。

この場合、build\release\Portable-VirtualBox_current.exeが作成されません。

build.batの最後の方、

行頭が"%reshack%"で始まるコマンドを次のように修正してください。

rem Change the icon on the self-extracting archive.
"%reshack%" -action addoverwrite -open "%release_folder%\Portable-VirtualBox.tmp" -save "%release_folder%\%output_name%" -res "%build_folder%\Portable-VirtualBox\source\VirtualBox.ico" -mask ICONGROUP,1,1033
Can't locate signtool. Is it installed? ...
signtool.exeのフルパスが指定されていないか、間違っています。これは、build.bat -s 実行時のみ表示されます。
signtool.exeがインストールされていることを確認し、build.bat内のset "signtool=<ここ>" に、signtool.exeの正確なフルパスを書き込んでください。
デジタル署名しない場合は、build.bat実行時にコマンドオプション"-s"を付けないでください。
build.bat実行時にセキュリティソフトの警告が出る。

AutoItでコンパイルする際、一時的に実行ファイル(aut****.tmp.exe)が作成されます。これが一部のセキュリティソフトでマルウェアとして検出されるようになりました。マルウェアによるAutoItの悪用の可能性があるためです。

自分でAutoItを使用した場合は問題ありませんが、セキュリティソフトによってaut****.tmp.exeが強制的に削除されたり、作成を阻止されることがあります。

対策1

upx.exeを最新バージョンに更新する。

https://github.com/upx/upx/releases/latest
から、最新バージョンのWindows用upxをダウンロード・解凍し、"Portable-VirtualBox-master\data\tools"フォルダー内のupx.exeと差し替えます。

対策2

build.batを「管理者権限で」実行しない。

upx.exeを更新済みでも、管理者としてbuild.batを実行すると警告が出ることがあります。(au3xxxx.tmp.exeやPortable-VirtualBox.exeに対して)

デジタル署名をする場合は、(管理者としてではなく)普通にbuild.batを実行。その後、コマンドプロンプトを管理者として起動し、signtoolコマンドだけを実行します。

signtool コマンド例

cd /d "<full path of Portable-VirtualBox-master folder>"
"<full path of signtool.exe>" sign /f my_sample.pfx /fd sha256 /p mypassword "build\release\Portable-VirtualBox_current.exe"

(署名証明書=my_sample.pfx、アルゴリズム=sha256、パスワード=mypasswordで署名する場合)

対策3

対策1・2をやっても警告が出る場合は、
セキュリティソフトの除外設定をする。(警告をされたファイルのうち、問題ないと判断したものに対して)

AutoItの一時ファイルの場合は、"%userprofile%\AppData\Local\AutoIt v3\Aut2Exe"フォルダーごと除外設定に入れます。build.bat実行後は、除外設定から外しておきましょう。

Portable-VirtualBox.exeがPUAとして検出された場合

VirtualBox v6.1.44において、ポータブル化 1回目のPortable-VirtualBox.exeを実行したところ、Windows Defenderによって、PUA (Potentially Unwanted Application)として検出されました。(2023/04/19に確認)

ファイルにウイルスまたは望ましくない可能性のあるソフトウェアが含まれているため、操作は正常に完了しませんでした。
検出済み: Behavior:Win32/Persistence.A!ml
詳細: このプログラムは危険であり、攻撃者からのコマンドを実行します。

2回目と3回目のポータブル化では問題ありませんでした。(毎回、build.batを実行するところから作成しています。ちなみに、作成する度にHash値が変わります)

対処法

念のため、警告に従い、Portable-VirtualBox.exeを削除します。そのPortable-VirtualBox.exeが入っていたファイルも、フォルダーごと削除しましょう。

そして、build.batを実行するところから作り直します。作成したファイルをスキャンし、問題がないことを確認してから、Portable-VirtualBox.exeを実行してください。

Build後

build.batと同じ階層にbuildフォルダーが作成されています。(再びbuild.batを実行すると、既存のbulidフォルダー内のファイルは削除され、作り直されます)

完成したPortable-VirtualBoxは、2種類の形態になっています。

  1. Portable-VirtualBox-master\build\release\Portable-VirtualBox_current.exe
  2. Portable-VirtualBox-master\build\source\Portable-VirtualBoxフォルダー

1のPortable-VirtualBox_current.exeは自己展開アーカイブ形式です。これを実行すると解凍され、2のPortable-VirtualBoxフォルダーと完全に同じ状態になります。

2のPortable-VirtualBoxフォルダーは未圧縮の状態です。解凍不要で使えます。

解説

autoit v3のAut2exe.exeでコンパイルしたものが、2のPortable-VirtualBoxフォルダーです。

それを、さらに7zipによって自己展開アーカイブ形式で圧縮し、圧縮後のファイルのアイコンを7zipのものからVirtualBoxのものに変えたのが、1のPortable-VirtualBox_current.exeです。

自己展開アーカイブ形式:
普通に圧縮するよりもファイルサイズが少し増えますが、解凍ソフトなしで解凍(展開)できます。

Portable-VirtualBox.exe 初回実行時にすること、およびclean up方法は下記の記事をご覧ください。

後日バージョンアップする時のために、作業に使ったPortable-VirtualBox-masterフォルダーを保管しておきましょう。

後日、Portable-VirtualBoxをバージョンアップする場合

これより下は、この記事の内容の通りにカスタマイズしたものを使用します。

3つのバージョンアップ方法があります。

  • タイミング: build

    使用するもの: Portable-VirtualBox-masterフォルダー

    作業: settings.iniとvboxinstall.iniの内容を更新する。

  • タイミング: build & Portable-VirtualBox.exe 初回起動前

    使用するもの: Portable-VirtualBoxフォルダー

    Portable-VirtualBox-master\build\release\Portable-VirtualBox_current.exe を解凍したもの
    または、
    Portable-VirtualBox-master\build\source\Portable-VirtualBoxフォルダー

    作業: settings.iniとvboxinstall.iniの内容を更新する。

  • タイミング: build & Portable-VirtualBox.exe 初回起動後

    使用するもの: Portable-VirtualBoxフォルダー

    作業:

    1. app32、app64、vboxadditions の3つのフォルダーを削除する。

      仮想環境の設定がdata\.VirtualBoxフォルダーに入っている。仮想環境設定をクリアしたければ、.VirtualBoxフォルダーも削除する。
    2. settings.iniとvboxinstall.iniの内容を更新する。
      settings.ini、vboxinstall.iniのカスタマイズ
関連記事