この頁でやること

  1. Visual Basic 6.0 SP6 ランタイムの確認と導入

  2. BMSE を展開して適当な場所に置く
  3. 必要ならツールバーを修正 (bmse.iniResolution キーを True に)
  4. 必要ならヘルプ導入 (bmse.iniHelp キーに相対パスを指定)
  5. 必要なら DirectShow フィルタ導入 (BMSE 上で *.ogg を鳴らせるように)

Visual Basic 6.0 SP6 ランタイム の確認と導入

BMSE や uBMplay が用いる Visual Basic 6.0 ランタイムや ActiveX コントロールのうちいくつかを、本稿では手動で登録します。これは理由あってのことですが、不慣れな方には敷居が高いかもしれません。

この節を流し読みして手に余りそうなら、XTRM Runtime v10.0 以降 [https://forest.watch.impress.co.jp/library/software/xtrmruntime/] (外部リンク)」を導入してください。このランタイムパッケージをインストールした場合、そのまま「BMSE のインストール」に進むことができます。もし BMSE だけでなく uBMplay もご利用を検討されているなら、DX7VB.DLL / MSVCR100.DLL を別途導入してください。

  • バージョンや内容が異なる Visual Basic ランタイムを複数導入すると、競合して不具合が発生する場合があります (DLL Hell [https://ja.wikipedia.org/wiki/DLL地獄] (外部リンク))。理想をいえば、必要なファイルだけを導入することが望ましいです。

自分の環境を把握する

ランタイムのインストール手順は環境によって異なります。ご使用の環境が不明な場合は環境調査用の書庫 (9 KiB) を保存して展開し、中身の Windows 用バッチファイルを左ダブルクリックなどで実行してください。

Windows OS 上で環境調査用バッチファイルを実行すると、インストールするうえで必要になるシステム関連情報が表示され、さらに「ランタイムを配置するべきフォルダ」が Windows エクスプローラによって自動的に開かれます。

  • 環境調査用バッチファイルの詳細は附録#osver.zip を参照してください。ランタイムの導入手順も本頁より詳しく解説しているので、コンピュータの操作に不慣れな方には附録を読まれることをお勧めします。
  • 環境調査用バッチファイルは、Windows Server 系やその他の一般的でない Windows OS には対応していません。それらをご使用の場合は、以降の解説の環境分岐を「デスクトップ版 Windows の近似するバージョン」に適宜読み替えてください。

ランタイムや ActiveX コントロールの置き場所を把握する

環境調査用バッチファイルを実行した際に Windows エクスプローラによって開かれる場所が、ご使用の環境における、ランタイムや ActiveX コントロールを配置するべきフォルダ」です。

Windows OS のインストール先を変更していない場合は、以下に述べる場所が「ランタイムや ActiveX コントロールを配置するべきフォルダ」です。

これらの場所を開く際、このフォルダの内容を表示するには、次のリンクをクリックしてください: ファイルの表示」などのように警告される場合は、指示に従ってフォルダの内容を表示させてください。

[64-bit] Windows 11/10/8.1/8/7/Vista/XP:

C:\Windows\SysWOW64

C: ドライブ直下の、Windows フォルダ直下の、SysWOW64 フォルダ直下】 にランタイムを配置します。(System フォルダや System32 フォルダも存在しますが、インストール手順とは無関係です。)

[32-bit] Windows 10/8.1/8/7/Vista/XP:

C:\Windows\System32

C: ドライブ直下の、Windows フォルダ直下の、System32 フォルダ直下】 にランタイムを配置します。(System フォルダも存在しますが、インストール手順とは無関係です。)

Windows 2000/NT 4.0:

C:\WINNT\system32

C: ドライブ直下の、WINNT フォルダ直下の、system32 フォルダ直下】 にランタイムを配置します。(system フォルダも存在しますが、インストール手順とは無関係です。)

Windows ME/98/95:

C:\WINDOWS\SYSTEM

C: ドライブ直下の、WINDOWS フォルダ直下の、SYSTEM フォルダ直下】 にランタイムを配置します。(SYSTEM32 フォルダも存在しますが、インストール手順とは無関係です。)

「Windows がインストールされたフォルダ」のドライブや名前は環境によって異なるので、必ずしもこの通りの場所に目的のフォルダが存在するとは限りません。自分の環境における経路 (パス)」をご確認のうえ、以降の解説を適宜読み替えてください。

  • この場所の中身はすべて重要です。本稿に関係ないファイルやフォルダを誤って削除すると、Windows が正常に働かなくなる可能性があります。

古いランタイム類の存在確認やファイルバージョン確認を手動で行う際は、この場所から目的のファイルを探します。

Windows 11/10/8.1/8/7/Vista:
  1. 目的のフォルダをエクスプローラで開く。
  2. ウィンドウ右上の検索フォームに、目的のファイル名を入力する。
Windows 11/10/8.1/8/7/Vista/XP/2000/NT 4.0/ME/98/95:
  1. 目的のフォルダをエクスプローラで開く。
  2. コンテキストメニューから 【並べ替え → 名前】 (または 【アイコンの整列 → 名前順】) を左クリックする。
  3. ファイルアイコンにフォーカスがある状態で、調査対象ファイルの名前の先頭数文字をキーボードから入力する。(註)

註: たとえば COMDLG32.OCX を探すなら、IME が半角英数・無変換の状態で 【 com 】 と入力します。すると、COM” から始まる名前のファイルやフォルダが自動的に選択されます。

コマンドライン・インタプリタの呼び出し方を把握する

BMSE や uBMplay が用いるファイルのうちいくつかを、本稿では手動で登録します。その手順の途中で、コマンドプロンプトや MS-DOS プロンプトなどのコマンドライン・インタプリタを使う場面があります。

コマンドライン・インタプリタを呼び出す方法は、環境によって異なります。目的の場所に変更を加えるために、特別な権限が必要になる場合もあります。この節ではそれを行うためのいくつかの方法のうちの一部を解説します。

Windows 11/10/8.1/8:
  1. キーボードの Windows キー を押しながら Q キーを押す。
  2. 現れた検索欄に 【 cmd 】 と入力する。
  3. 検索結果から 【コマンドプロンプト】 を右クリックして、
  4. 展開されたメニューから 【管理者として実行】 を左クリックする。
Windows 7/Vista:
  1. デスクトップ左下隅のスタートメニュー (窓マーク) を左クリックする。
  2. 展開されたメニューから 【すべてのプログラム】 を左クリックする。
  3. 展開されたメニューから 【アクセサリ】 を左クリックする。
  4. 展開されたメニューから 【コマンドプロンプト】 を右クリックして、
  5. 展開されたメニューから 【管理者として実行】 を左クリックする。
Windows XP/2000/NT 4.0:
  1. 管理者の権限を持つアカウントでログオンする
  2. デスクトップ左下隅の 【スタート】 を左クリックする。
  3. 展開されたメニューから 【ファイル名を指定して実行】 を左クリックする。
  4. 現れた入力枠に 【 cmd 】 と入力して Enter キーを押す。
Windows ME/98/95:
  1. 開いているフォルダがある場合は、それらをすべて閉じる。
  2. デスクトップ左下隅の 【スタート】 を左クリックする。
  3. 展開されたメニューから 【ファイル名を指定して実行】 を左クリックする。
  4. 現れた入力枠に 【 command 】 と入力して Enter キーを押す。

コマンドライン・インタプリタへの貼り付け方を把握する

起動したコマンドライン・インタプリタのウィンドウ上端にある、アイコンやウィンドウ名や閉じるボタンなどが並ぶ部位にご注目ください。この部位はタイトルバーと呼ばれます。

Windows コマンドライン・インタプリタのタイトルバーは、ちょっと特別です。

コマンドライン・インタプリタのタイトルバーを右クリックすると、専用のコンテキストメニュー (システムメニュー) が展開されます。ここからクリップボードを介して文字列のコピーや貼り付けができます

この場で実際に練習してみましょう。

  1. いままさに読まれているこのリスト項目のコマンド文字列 (c から " までの 17 文字) を、マウス左ボタンを押しながらドラッグします (マウスを引きずります)。するとコマンド文字列が範囲選択されます。

    cd "%windir%\..\"
  2. 選択されたコマンド文字列を右クリックメニューから 【コピー】 し、
  3. ウィンドウをコマンドライン・インタプリタに切り替えて、
  4. コマンドライン・インタプリタのシステムメニューから 【貼り付け】 を実行します。

貼り付けて Enter キーを押すと、C:\>” と表示されるはずです (Windows を C: ドライブにインストールしていた場合)。

Windows 95 から Windows 11 まで:

これは少なくとも Windows 95 から Windows 11 までは同じ結果になります。

一般的な日本語環境の Windows 上で、バックスラッシュ記号は半角の円記号に置き換えて表示されます。この仕様は Windows を難しくしていますが、コピーペーストさえ覚えておけば確実に対処できます。

Windows 11 2022 Update 以降、かつ管理者権限なし

(設定次第では Windows 10 までと同じ結果になる場合もありますが、)

管理者として起動しなかった場合、既定の状態ではコマンドプロンプトは Windows Terminal 配下のタブとして開かれます。この場合、バックスラッシュ記号はバックスラッシュ記号として表示されます。

以降の手順において、管理者権限がない状態で regsvr32 などのコマンドを入力すると、エラーが発生し失敗します。この「管理者権限がないコマンドウィンドウ」ではインストール手順を進行できないので、ターミナルを閉じてください。そしてコマンドプロンプトを管理者として開き直してください。

7-Zip のインストール状況を確認する

ランタイムのインストーラーから必要なファイルを抽出するために、7-Zip 4.52 beta 以降や Explzh 5.25 以降などの「MSI インストーラーパッケージの書庫内閲覧および展開に対応したアーカイバ」が必要です。

本稿では条件を満たすアーカイバとして 7-Zip を解説します。Explzh などをご使用の場合は、以降の解説を適宜読み替えてください。

Windows NT 4.0/ME/98/95 には 7-Zip 9.20 (7z920.exe) [https://www.7-zip.org/download.html] (外部リンク) までのバージョンをインストールできます。それ以降の Windows には、いまのところバージョンを問わず 7-Zip をインストールすることが可能です。

  • ただし、7-Zip の一部のバージョンは正しくアンインストールされません。また、64-bit 版と 32-bit 版を同時にインストールすると不具合が生じます。詳細と対処法は附録#7-Zip の確認と導入を参照してください。
  • 7-Zip を常用する予定がない場合は、前述の不具合がない安定版 (alpha 版でも beta 版でもないバージョン) をインストールされることをお勧めします。

7-Zip の有無やインストールされているバージョンは、コントロールパネルなどから確認できます。

インストールされているプログラムを一覧する手順の一例

Windows 11

デスクトップ最下部左端の窓マークを右クリック → 【アプリと機能】

Windows 10

デスクトップ左下隅の窓マークを左クリック → 【設定】(画面左端の歯車アイコン) → 【アプリ】

Windows 8.1/8:
  • タイルの場合は、スタート画面左下の下向き矢印 → 【アプリ】
  • デスクトップの場合は、左下隅の窓マークを右クリック → 【コントロールパネル】 → 【プログラム】 → 【プログラムと機能】
Windows 7/Vista:

デスクトップ左下隅の窓マーク → 【コントロールパネル】 → 【プログラム】 → 【プログラムと機能】

Windows XP:

デスクトップ左下隅の 【スタート】 → 【コントロールパネル】 → 【プログラムの追加と削除】

Windows 2000/NT 4.0/ME/98/95:

デスクトップ左下隅の 【スタート】 → 【設定】 → 【コントロールパネル】 → 【アプリケーションの追加と削除】

  • 7-Zip を常用する予定がない場合は、ランタイムのインストール作業が済み次第 7-Zip をアンインストールして構いません。アンインストールはコントロールパネルなどから行えます。

必要なファイルを確認する

  • MSVBVM60.DLL (Visual Basic Virtual Machine; VB6 ランタイム)
  • COMDLG32.OCX (Common Dialog ActiveX コントロール)
  • MSCOMCTL.OCX (Windows Common Controls ActiveX コントロール)

BMSE は前述の 3 ファイルを用います。各ファイルの 【プロパティ】 の 【詳細】 タブから、ファイルバージョンを確認できます。

Visual Basic 製の BMS 関連 ソフトウェアが用いる以下の 4 ファイルについても、この際ついでにまとめて面倒を見たほうが楽かもしれません。

  • DX7VB.DLL (Microsoft DirectX for Visual Basic; uBMplay 用)
  • DX8VB.DLL (Microsoft DirectX for Visual Basic; unofficial nazobmplay 用)
  • MSVCR100.DLL (Visual C++ 2010 SP1 Runtime Library; uBMplay 1.5.x 用)
  • VB6JP.DLL (Visual Basic Environment International Resources; unofficial nazobmplay および WAview 用)

まずは目的の場所をエクスプローラなどで開いて、これら DLL/OCX ファイル群の有無およびファイルバージョンを確認します。

MSVBVM60.DLL (6.0.97.82 以上)

BMSE や uBMplay が必要とする Visual Basic 6.0 SP6 ランタイムです。

目的の場所に当該ファイルが見当たらなかったり、インストールされているファイルのバージョンが 6.0.97.82 未満であれば、Visual Basic 6.0 Service Pack 6: ランタイム再頒布可能パッケージ [https://web.archive.org/web/20210126210635/https://www.microsoft.com/en-us/download/details.aspx?id=24417] (外部リンク) を以下の手順で導入します。

  1. C: ドライブ直下にフォルダを新規作成します。仮に ZZ と命名します。
  2. ダウンロードした VB6.0-KB290887-X86.exe を 【C:\ZZ】 内に配置して実行します。
  3. “Yes” を押して次に進むとテキスト入力枠が現れます。
  4. テキスト入力枠に C:\ZZ と入力して “OK” を押します。
  5. C:\ZZ】 内に展開された vbrun60sp6.exe をさらに実行します。
  6. 実行後は一時的な展開先 【C:\ZZ】 は用済みなので、中身ごと削除します。

Windows 11/10/8.1/8/7/Vista にこのパッケージを導入すると、このプログラムは正しくインストールされなかった可能性があります [http://dsas.blog.klab.org/archives/51785861.html] (外部リンク)」と表示される場合があります。インストール自体は成功しているので、メッセージを無視して閉じてください。

  • 後述の方法で vbrun60sp6.exe から MSVBVM60.DLL のみを取り出して手動で登録しても構いません。が、Windows 11/10/8.1/8/7/Vista でそれをするには特殊なアクセス権限が必要です。TrustedInstaller】 で検索してください。

  • このパッケージはプログラムの一覧などからアンインストールすることができません。とはいえ Windows 11/10/8.1/8/7/Vista/XP SP3 は MSVBVM60.DLL 6.0.97.82 以上のバージョンを標準で含むので、それらの環境では通常は無理に更新する必要はありません。

COMDLG32.OCX (6.1.98.41 以上) / MSCOMCTL.OCX (6.1.98.46 以上)

BMSE や uBMplay が必要とする ActiveX コントロールです。

Microsoft Visual Basic 6.0 Service Pack 6 セキュリティ ロールアップ更新プログラム [https://www.microsoft.com/en-us/download/details.aspx?id=50722] (外部リンク) から VB60SP6-KB3096896-x86-XXX.msi をダウンロードします。どの言語を選んでも、取り出せるファイル群の内容は同一です。

Windows 11/10/8.1/8/7/Vista/XP SP3/XP SP2:

ダウンロードした VB60SP6-KB3096896-x86-XXX.msi を右クリックし、プロパティ】 から 【ブロックを解除】 します。

ダウンロードした VB60SP6-KB3096896-x86-XXX.msi を右クリックし、7-Zip】 → 【開く】 から COMDLG32.OCXMSCOMCTL.OCX をドラッグして取り出します。不明な点は附録#7-Zip によるファイル抽出を見てください。

目的の場所に当該ファイルが見当たらなかったり、インストールされているファイルのバージョンがインストーラー由来のもの未満であれば、抽出したファイル群を以下の手順で導入します。大まかな流れは「古い登録を解除 → ファイルを配置 → 登録」となります。

  1. コマンドライン・インタプリタ管理者権限で開きます
  2. 必要なら、環境に応じて解除コマンドを入力します。(コピーして貼り付け)

    古いファイルが既にある場合はその登録を解除します。

    Windows 11/10/8.1/8/7/Vista/XP/2000/NT 4.0:
    1. 64-bit 環境のみ】 以下の通りに入力し、Enter キーを押す。

      cd /d "%SystemRoot%\SysWOW64"
    2. 全環境】 続けて以下の通りに入力し、Enter キーを押す。

      regsvr32 /u COMDLG32.OCX MSCOMCTL.OCX
    Windows ME/98/95:
    1. 以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" /u "%windir%\SYSTEM\COMDLG32.OCX"
    2. 続けて以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" /u "%windir%\SYSTEM\MSCOMCTL.OCX"
  3. 抽出した COMDLG32.OCXMSCOMCTL.OCX切り取り目的の場所貼り付けます。古いバージョンのファイルがあれば、構わず上書きします。
  4. コマンドライン・インタプリタを閉じていたら管理者権限で開きます
  5. 環境に応じて登録コマンドを入力します。(コピーして貼り付け)

    レジストリに登録するコマンドは以下の通りです。

    Windows 11/10/8.1/8/7/Vista/XP/2000/NT 4.0:
    1. 64-bit 環境のみ】 以下の通りに入力し、Enter キーを押す。

      cd /d "%SystemRoot%\SysWOW64"
    2. 全環境】 続けて以下の通りに入力し、Enter キーを押す。

      regsvr32 COMDLG32.OCX MSCOMCTL.OCX
    Windows ME/98/95:
    1. 以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" "%windir%\SYSTEM\COMDLG32.OCX"
    2. 続けて以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" "%windir%\SYSTEM\MSCOMCTL.OCX"
  6. コマンドを入力したら、コマンドライン・インタプリタを閉じます。

ファイル抽出後の VB60SP6-KB3096896-x86-XXX.msi は削除して構いません。以上で BMSE 動作環境の導入は完了です。

uBMplay 用の準備が不要なら「BMSE のインストール」にお進みください。

  • これらの ActiveX コントロールをアンインストールする場合は、導入時の手順と同様に解除コマンドを入力してから、当該ファイルを手動で削除してください。アンインストール後は BMSE や uBMplay などが動作しなくなります。

DX7VB.DLL / DX8VB.DLL

uBMplay や unofficial nazobmplay が必要とする DirectX ライブラリです。

  • Windows NT 4.0 には DirectX 7 以降をインストールできないため、uBMplay や unofficial nazobmplay は動作しません。

ファイルを抽出するためにインストーラーをダウンロードします。

これらの EXE ファイルを実行しないでください

Windows 11/10/8.1/8/7/Vista/XP/2000:

DirectX 8.1 Runtime for Windows 2000 [https://www.microsoft.com/ja-JP/download/details.aspx?id=10968] (外部リンク) (DX81NTjpn.exe)

  • Windows XP SP2 以降の場合は、ダウンロードした DX81NTjpn.exe を右クリックし、プロパティから 【ブロックを解除】 します。
Windows ME/98:

DirectX 8.1b Runtime for Windows 98/ME [http://www.microsoft.com/downloads/details.aspx?FamilyID=63dafd1a-f9c9-4f35-89b0-261abc0e37a9&DisplayLang=ja] (外部リンク) (DX81jpn.exe)

Windows 95:

DirectX 8.0a Runtime for Windows 95/98/ME [http://www.microsoft.com/downloads/details.aspx?FamilyID=c55c9e71-94cb-4f70-80cc-d09e5acd075b&DisplayLang=ja] (外部リンク) (DX80jpn.exe)

ダウンロードした DirectX ランタイム インストーラーを右クリックし、名前の変更】 から拡張子 .exe.cab に変更します。この CAB 書庫を左ダブルクリックなどで開き、DX7VB.DLLDX8VB.DLL を取り出します。

目的の場所に当該ファイルが見当たらなかったり、インストールされているファイルのバージョンがインストーラー由来のもの未満であれば、抽出したファイル群を以下の手順で導入します。大まかな流れは「古い登録を解除 → ファイルを配置 → 登録」となります。

  1. コマンドライン・インタプリタ管理者権限で開きます
  2. 必要なら、環境に応じて解除コマンドを入力します。(コピーして貼り付け)

    古いバージョンのファイルが存在するならその登録を解除します。Windows XP は、インストーラー由来のそれよりも新しいバージョンのファイルを最初から持っているかもしれません。ご注意ください。

    Windows 11/10/8.1/8/7/Vista/XP/2000:
    1. 64-bit 環境のみ】 以下の通りに入力し、Enter キーを押す。

      cd /d "%SystemRoot%\SysWOW64"
    2. 全環境】 続けて以下の通りに入力し、Enter キーを押す。

      regsvr32 /u DX7VB.DLL DX8VB.DLL
    Windows ME/98/95:
    1. 以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" /u "%windir%\SYSTEM\DX7VB.DLL"
    2. 続けて以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" /u "%windir%\SYSTEM\DX8VB.DLL"
  3. 抽出した DX7VB.DLLDX8VB.DLL切り取り目的の場所貼り付けます。古いバージョンのファイルがあれば、構わず上書きします。
  4. コマンドライン・インタプリタを閉じていたら管理者権限で開きます
  5. 環境に応じて登録コマンドを入力します。(コピーして貼り付け)

    レジストリに登録するコマンドは以下の通りです。

    Windows 11/10/8.1/8/7/Vista/XP/2000:
    1. 64-bit 環境のみ】 以下の通りに入力し、Enter キーを押す。

      cd /d "%SystemRoot%\SysWOW64"
    2. 全環境】 続けて以下の通りに入力し、Enter キーを押す。

      regsvr32 DX7VB.DLL DX8VB.DLL
    Windows ME/98/95:
    1. 以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" "%windir%\SYSTEM\DX7VB.DLL"
    2. 続けて以下の通りに入力し、Enter キーを押す。

      "%windir%\SYSTEM\regsvr32.exe" "%windir%\SYSTEM\DX8VB.DLL"
  6. コマンドを入力したら、コマンドライン・インタプリタを閉じます。

ファイル抽出後の DirectX ランタイム インストーラーは削除して構いません。以上で uBMplay や unofficial nazobmplay の動作環境の導入は完了です。

  • これらの DirectX ライブラリをアンインストールする場合は、導入時の手順と同様に解除コマンドを入力してから、当該ファイルを手動で削除してください。アンインストール後は uBMplay などが動作しなくなります。

MSVCR100.DLL (10.0.40219.325 以上)

uBMplay 1.5.X が必要とする Visual C++ 2010 SP1 (x86) ランタイムです。

目的の場所に当該ファイルが見当たらない場合は、Microsoft Visual C++ 2010 Service Pack 1 再頒布可能パッケージ MFC のセキュリティ更新プログラム [https://www.microsoft.com/ja-jp/download/details.aspx?id=26999] (外部リンク) を以下の手順で導入します。

  1. 【ダウンロード】 を左クリックします。
  2. 表示される選択肢から 【vcredist_x86.exe】 を左クリックしてチェックし、【次へ】 を左クリックします。
  3. vcredist_x86.exe をダウンロードして実行します。
  4. 【同意する】 チェックボックスを左クリックして、【インストール】 を左クリックします。
  5. インストール完了後、用済みの vcredist_x86.exe を削除します。
  • このランタイムはプログラムの一覧からアンインストールできます。アンインストール後は uBMplay 1.5.X の音声が鳴らなくなります。
  • インストールされているファイルのバージョンが 10.0.40219.325 未満だった場合は、古い Visual C++ 2010 (x86) ランタイムをプログラムの一覧からアンインストールしたうえで、改めて前述のリンクから最新のランタイムパッケージをインストールし直してください。

VB6JP.DLL

unofficial nazobmplay や WAview が必要とするローカルリソースです。

  1. 目的の場所に当該ファイルが見当たらない場合、area[nothing] /download [https://www.nothing.sh/download/] (外部リンク) から vb6jp.cab をダウンロードします。
  2. Windows 11/10/8.1/8/7/Vista/XP SP3/XP SP2 の場合、ダウンロードした vb6jp.cab のプロパティから 【ブロックを解除】 します。
  3. vb6jp.cab を左ダブルクリックして、中身の VB6JP.DLL を取り出します。
  4. VB6JP.DLL切り取り目的の場所貼り付けます。
  5. vb6jp.cab を削除します。
  • このファイルはレジストリに登録する必要がありません。
  • アンインストールする場合は、念のため後述の解除コマンドを入力してから当該ファイルを手動で削除してください。アンインストール後は unofficial nazobmplay や WAview などの設定画面が文字化けします。

    意味なく手動登録された可能性に備えて、解除コマンドを入力します。

    Windows 11/10/8.1/8/7/Vista/XP/2000/NT 4.0:
    1. 64-bit 環境のみ】 以下の通りに入力し、Enter キーを押す。

      cd /d "%SystemRoot%\SysWOW64"
    2. 全環境】 続けて以下の通りに入力し、Enter キーを押す。

      regsvr32 /u VB6JP.DLL
    Windows ME/98/95:

    以下の通りに入力し、Enter キーを押す。

    "%windir%\SYSTEM\regsvr32.exe" /u "%windir%\SYSTEM\VB6JP.DLL"

BMSE のインストール

BMSE 自体にはインストーラはありません。レジストリも使いません。

http://ucn.tokonats.net/ (外部リンク) から bmse_138.zip をダウンロードして、任意の場所に展開すればインストール完了です。

bmse フォルダ内の BMSE.exe を左ダブルクリックすると、BMSE が起動します。

【Options → Select Language → 】 から、使用する言語を選択できます。

初期状態では英語・日本語・韓国語を選択できます。

何もかも初めてという方におすすめする設定:
  • 「Windows 10 April 2018 Update (バージョン 1803)」またはそれ以降のバージョンの Windows 環境で、使用する BMSE の言語を 【English】 以外に変更すると、文字化けする場合があります。

    その場合、デスクトップ左下隅の Windows マークを左クリックし、スタートメニューの 【設定 (歯車マーク)】 から、以下を確認してください。

    【時刻と言語】 → 【地域と言語】 → 【管理用の言語の設定】 → 【システム ロケールの変更】 [https://twitter.com/Nekokan_Server/status/996733130571563008] (外部リンク)

    【ワールドワイド言語サポートで Unicode UTF-8 を使用】 がチェックされていた場合は、この項目のチェックを外してから 【OK】 を左クリックしてください。Windows 再起動後に文字化けが解消されるはずです。

    この方法でも文字化けが解消されない場合は、BMSE を再度ダウンロードし、lang フォルダの中身を新品のもので上書きしてみてください。

    そこまでやっても文字化けが直らない場合、またはシステムロケールを UTF-8 のまま運用したい場合は、BMSE の言語を 【English】 のまま変更せずに使用してください。

    システムロケールが UTF-8 のとき、英数字以外の文字は BMSE を経由するとほぼ確実に文字化けします。BMS ファイルから参照される音声や映像などのファイル名は英数字に限定するのが無難です。タイトルなどに非英数字文字を用いる譜面は UTF-8 対応テキストエディタで編集するのが無難です。

初期ファイル構成

[フォルダ]bmse
\lang
\english.ini
言語設定ファイル (英語)
\japanese.ini
言語設定ファイル (日本語)
\korean.ini
言語設定ファイル (韓国語)
\theme
\default.ini
外観設定ファイル (bms)
\default_oct.ini
外観設定ファイル (otc/fp)
\default_pms.ini
外観設定ファイル (pms)
\BMSE.exe
実行ファイル
\readme.txt
BMSE 説明書

[註 1] bmse.inibmse_viewer.ini は、存在しない場合は BMSE 起動時に自動生成されます。たとえば、BMSE インストール直後の初回起動時などに BMSE.exe の同位に生成されます。

  • BMSE 本体の設定を初期化する場合は、bmse.ini を削除してください。
  • 外部ビューワの設定を初期化する場合は、bmse_viewer.ini を削除してください。

[註 2] error.txt は、BMSE が異常終了した場合に BMSE.exe の同位に生成されます。既に存在する場合は最新のエラー内容が追記されます。一部のエラーは記録されません。詳細は以下の項目を参照してください。

必要なら VScroll ドロップダウンリストの表示位置を修正

おもに Microsoft Office 関連製品が導入されている環境で、Microsoft Update などによって Visual Basic 6 ランタイムが最新の状態に更新されている場合は、BMSE 初回起動時から ツールバーの行頭に VScroll ドロップダウンリストが表示されているかもしれません。

これはランタイムの脆弱性が修正済みである証拠なので、ご心配には及びません。この状態ではツールバーの行頭側アイコンをクリックできず不便ですから、以下の手順で VScroll の表示位置を修正してください。

  1. BMSE が起動中なら閉じてください。
  2. bmse フォルダ内に生成されているであろう bmse.ini を、メモ帳などのテキストエディタで開いてください。開き方はヘルプのインストールを参照してください。
  3. [Toolbar] セクション内に “Gird”、Size”、および “Resolution” キーを探し、これら 3 つの値を True に変更してください。

    “Gird” キーは既定で誤字が生成されます。バグが気になる場合は “Grid” に変更してください。

  4. bmse.ini を上書き保存して、メモ帳を閉じてください。

ツールバー崩壊現象に関する詳細

この現象は [CVE-2012-0158] に対する [MS12-027 [https://learn.microsoft.com/ja-jp/security-updates/securitybulletins/2012/ms12-027#mscomctlocx-rce-vulnerability---cve-2012-0158] (外部リンク)] (2012年4月11日) のセキュリティフィックスに起因するもので、MSCOMCTL.OCX のバージョンが 6.1.98.33 以降なら必ず発生します。

bmse.ini[Toolbar] セクション内 “Grid”、Size”、および “Resolution” キーの値が False のとき、本来なら非表示にされるべきこれらのドロップダウンリストはツールバーの行頭に重なって表示されます。これらのキーの値をすべて True に変更すれば、問題は解決されます。

BMSE を使用していながら、この現象を手元で再現できない環境は、脆弱性を放置している可能性があります。この脆弱性は「過去10年間最も悪用例の多い『Microsoft Office』のバグ [https://news.mynavi.jp/techplus/article/20160707-a480/] (外部リンク)」と呼ばれることもあり、Microsoft Office 製品などの当該バージョン使用者には Windows Update から更新プログラムが確実に配信されるはずです。しかし Microsoft Office 製品などを導入しておらず Visual Basic ランタイムを単独で導入した環境では、更新プログラムが必要であることが検知されません (Windows Update や MBSA などに看過されます)。古いランタイムを導入しているユーザーは手動で自衛しなければなりません


BMSE のアンインストール

bmse フォルダを中身ごと削除すればアンインストール完了です。

Microsoft 公式サイト以外から Visual Basic ランタイムパッケージをダウンロードしてインストールしていた場合、ものによっては【プログラムの追加と削除】からランタイムパッケージを削除することもできます。

ただし、uBMplay [http://ucn.tokonats.net/software/ubmplay/] (外部リンク)unofficial nazobmplay [https://manbow.nothing.sh/nazobmplay/download.html] (外部リンク)WAview [https://web.archive.org/web/*/http://nickle.ath.cx/~softlab/in_bm/] (外部リンク) は BMSE と同様に Visual Basic ランタイムを必要とするので、通常はランタイムパッケージまでわざわざアンインストールする必要はないでしょう。


ヘルプのインストール

ヘルプが必要な場合は任意で導入できます。導入しなくても構いません。

BMSE が起動中であればいったん閉じたうえで、ヘルプとして BMSE から呼び出したいファイルを、BMSE.exe があるフォルダに移動またはコピーします。

BMSE.exe がある場所 (BMSE のアイコンが見える場所) に、ヘルプを並べて置いてください。

次に bmse.ini を、メモ帳などのテキストエディタで開きます。

11 行目あたりの Help="" という箇所の引用符の間に、移動させたファイルの名前を記述します。

たとえば Help="bmse_help.chm" は軽量版ヘルプを指定しています。(https://hitkey.nekokan.dyndns.info/bmse_help.zip)

Help キーを書き換えたら bmse.ini を保存して、BMSE を起動します。

メニューの【ヘルプ】 か [F1] キーから、指定したファイルを開くことができます。

呼んでも何も起こらない場合はファイル名の記述の正誤を確認してください。

初期状態では Help キーが空なので、ヘルプ呼び出し機能は無効になっています。Help キーを設定すると機能が有効になります。


bmse.ini の Help キー補足

BMSE.exe からのパス (経路) を指定できます。

例 1) BMSE.exe の下位に置いた BMSC オフラインマニュアル [http://www.doits.jp/mediamaximum/contents/bm98/index.html] (外部リンク) を呼ぶ例:

たとえば BMSE.exe と同じ場所に help フォルダを作り、その中に BMSC ヘルプのフォルダを置きます。

前述のディレクトリ構成なら、Help キーは以下のように指定できます。

Help="help\bmscreator_help_8\help.html"

経由するフォルダの名前を『 \ 』で区切って記述してください。

階層の分離符バックスラッシュ『 \ (U+005C REVERSE SOLIDUS) 』は、日本語版 Windows 上などで『 円記号 』に置き換えて表示される場合があります。しかしこれは表示上そのように見えているだけであり、文字としての円記号 “¥” (U+00A5) [https://www.fileformat.info/info/unicode/char/00a5/index.htm] (外部リンク)」や「全角の円記号 “” (U+FFE5) [https://www.fileformat.info/info/unicode/char/ffe5/index.htm] (外部リンク)」とは明白に異なる文字です。自分の環境で表示される区切り文字を使用してください。

日本語 Windows 上で、106/109 日本語キーボードを用いている場合:

右手側 Shift キーの左隣にあるキーを、半角英数モードで入力すれば、その文字がパス区切り文字です。

英語 Windows 上で、106/109 日本語キーボードを用いている場合:

右手側 Shift キーの左上にあるキーを入力すれば、その文字がおそらくはパス区切り文字です。

  • 分離符をスラッシュ『 / 』で代用すると正常に動作しない場合があります。

    スラッシュ区切りが原因で正常に動作しない可能性がある例:
    Help="help/bmscreator_help_8/help.html"

    BMSC ヘルプを正常に呼べなかったこの例は、たしか Windows XP SP3 + Firefox 3 での結果だったような記憶があります。

    2017年に 64-bit Windows 10 + Firefox 50 で試したところ、スラッシュ区切りでも問題なく Firefox が起動しました。Microsoft EdgeHTML 14 を既定のブラウザにした場合も同様に、スラッシュ区切りが通用しました。

例 2) BMSE.exe の上位を辿ってナナシグルーヴマニュアル [https://d11x.sakura.ne.jp/asdf/ナナシグルーヴ/] (外部リンク) を呼ぶ例:

例として以下のディレクトリ構成を仮定します。BMSE.exe からみたとき、ナナシグルーヴマニュアルまでの道順 (パス) が、「1 階層上へ」 → 「1 階層上へ」 → 「player フォルダ」 → 「nanasi フォルダ」 → 「nanasi_manual.chm」 となっている。

このディレクトリ構成のとき、Help キーは以下の通りです。

Help="..\..\player\nanasi\nanasi_manual.chm"

.. 』 (ピリオド 2 個) は「1 階層上位のディレクトリ」を意味します。

ファイル参照ダイアログでの「1 つ上のフォルダへ」クリックと同義です。

  • BMSE の readme.txt には、bmse.exe と同位、もしくは下位のディレクトリに置かないと正常に実行できません” と明記されています。上位ディレクトリを経由するヘルプのパス指定は正常に動作しない可能性があることを、あらかじめご了承ください。(関連項目)
  • . 』 (ピリオド 1 個) は「同位のディレクトリ」を意味します。

    Help="bmse_help.chm"
    Help=".\bmse_help.chm"

    どちらも「BMSE.exe と同じフォルダにある bmse_help.chm」を参照します。.. 』 (ピリオド 2 個) と間違わないようご注意ください。

  • "D:\bms\player\nanasi\nanasi_manual.chm"

    のような、コンピュータの最上位階層からの完全なパス名は Help キーには指定できません。必ず BMSE.exe からのパス を指定してください。

パスについて補足:

Help キーに指定するパスが適切であれば、どんなファイルでも呼び出せます。ショートカットを経由すればコマンドライン引数も渡せます。

BMSE で F1 キーを押すと、uBMplay が特定の譜面を再生する例:
「リンク先」として「D:\ubmplay\uBMplay.exe -sp D:\nspr\nspr.bms」が設定されたショートカット「それ自体」が、bmse.ini の Help キーとして指定されています。
  1. uBMplay のショートカットを作り、そのプロパティを開く
  2. “リンク先” のパス末尾から、半角スペース区切りで任意の引数を設定する
  3. そのショートカットを任意の場所に置き、Help キーから参照する

    (ショートカットは Help="ubm_nspr.lnk" のような指定も可)

つまり Help キーは外部ツール枠のひとつとしても利用できるという話でした。


DirectShow フィルタのインストール

BMSE には音声プレビューという便利な機能があります。オブジェクトに WAV ファイルが定義されていれば ( #WAV** example.wav )、そのオブジェクトをメインパネルや定義リストから選択した時に音を鳴らすことができます。

ここで鳴らせる音声形式は、DirectShow のフィルタを追加すれば増やすことができます。ただし、これは BMSE の管轄外の話です (Windows の APIMCI の仕事)。

BMSE の readme.txt には “サポート対象外” と明記されていますので、以下は自己責任でお試しください。

Ogg Vorbis を BMSE 上で鳴らせるようにする

  1. もし古いバージョンの RadLight Ogg Media DirectShow filter [http://www.oggmedia.info/] (外部リンク)Open Codecs (Ogg Codecs) [https://www.xiph.org/dshow/] (外部リンク)OggDS [http://hp.vector.co.jp/authors/VA022257/ogm] (外部リンク)、あるいはそれらに類する Ogg DirectShow フィルタが既に導入されていた場合、それらをすべてアンインストールします

  2. RadLight Ogg Media DirectShow filter 1.0.0.2 [https://www.free-codecs.com/radlight_ogg_media_directshow_filter_download.htm] (外部リンク) をダウンロードします。(公式サイト [http://www.oggmedia.info/] (外部リンク) 消滅につき、二次配布サイトを参照しています。二次配布先も消えている場合は、DuckDuckGo [https://duckduckgo.com/] (外部リンク) などから各自検索してください。)

  3. Windows Media Player や BMSE、その他 DirectShow フィルタを利用するアプリケーションをいったんすべて閉じます。

  4. ダウンロードしたアーカイブを展開し、インストーラを実行します。

  5. BMSE 上で Ogg Vorbis を鳴らすには、#WAV** example.ogg と定義します。拡張子が異なると音を鳴らせません。

鳴らせるようになるかどうかは環境にもよります。古いバージョンの OggDS や Open Codecs (Ogg Codecs) ではエラーが出た・BMSE が強制終了した・どころか RadLight でも強制終了したという報告例 [http://ucn.tokonats.net/bbs/20070611164536.html] (外部リンク) もあります。

筆者環境 (64-bit Windows 11) では、oggcodecs_0.82.16930-win32.exe [https://ftp.osuosl.org/pub/xiph/releases/oggdsf/] (外部リンク) で問題なく Ogg を再生できており、RadLight よりも Ogg Codecs のほうが安定して再生できています。

動画やその他の codec との相性もあります。たとえば 0.83.17220 以降の Open Codecs (Ogg Codecs) [https://www.xiph.org/dshow/] (外部リンク) は VP6 と競合し、Ogg 再生時に BMSE や Windows Media Player を強制終了させる場合があります。競合は Ogg Codecs 0.82.16930 [https://ftp.osuosl.org/pub/xiph/releases/oggdsf/] (外部リンク) を入れ直すか、または以下の手順で解消します。

  1. コマンドライン・インタプリタ管理者権限で開きます
  2. 解除コマンドを入力します。(コピーして貼り付け)

    1. 64-bit 環境のみ】 以下の通りに入力し、Enter キーを押す。

      cd /d "%SystemRoot%\SysWOW64"
    2. 全環境】 続けて以下の通りに入力し、Enter キーを押す。

      regsvr32 /u vp6dec.ax
  3. コマンドを入力したら、コマンドライン・インタプリタを閉じます。

BMSE 上で ogg を鳴らせなくてもデメリットはほとんどないので、いろいろ試してもだめなら潔く諦めることをおすすめします。


RadLight Ogg Media DirectShow filters [https://www.free-codecs.com/radlight_ogg_media_directshow_filter_download.htm] (外部リンク)Open Codecs (Ogg Codecs) [https://www.xiph.org/dshow/] (外部リンク) のアンインストールは、“プログラムの追加と削除” から行えます。

OggDS [http://hp.vector.co.jp/authors/VA022257/ogm/] (外部リンク) のアンインストールは、C:\WINDOWS\system もしくは C:\WINDOWS\system32あたりにある OggDSUninst.exe を実行します。

その他の形式を BMSE 上で鳴らせるようにする

Windows 98 以降の場合、MP3 は最初から鳴らすことができます。#WAV** example.mp3” のように定義します。

Direct Show Filterについて [ FINALSTREAM ] [https://web.archive.org/web/20190611005831/http://codec.finalstream.net/dsf/] (外部リンク) あたりも参考にどうぞ。

注意点は以下の通りです。

  • DirectShow フィルタはむやみに入れると環境を破壊する恐れがあります。対象形式に対して必要な一種類だけを導入してください。

    うまく鳴らない場合、動画方面と競合している可能性もありえます。行儀が悪いソフトもあるし、コーデックパックなど下手に導入していると、不具合の原因切り分けが困難になります (アンインストールすると余計ひどくなるなんて話もあるくらい)。余計な導入は極力控えるべきです。

  • BMSE 上で鳴らせたとしても、BMS 再生ソフト側がその音声形式に対応しているとは限りません。全ソフトで鳴らせる形式は WAV のみです。
  • 比較的新しい BMS 再生ソフトの場合、定義名とファイル名で拡張子部分が異なっていても、名前部分が同じであればそれを自動的に読み込んでくれます。たとえば “#WAVxx Eg.wav” という定義があったとき、実際のファイルは Eg.mp3Eg.ogg であっても構わないわけです。

    しかし BMSE にその機能は無いため、「定義名と同名かつ別拡張子」のファイルは単音プレビューを行いません。譜面作成時にそれをやられても逆に困る気もしますし、素直に諦めてください。

「譜面には *.wav として定義されているが、対応する同名ファイル群の拡張子は *.ogg となっており、かつそれが実際に Ogg Vorbis 形式の音声ファイル」である場合、以下のいずれかの方法で BMSE 上でも鳴らせるようになります。

古い形式や珍しい形式でエンコードされた音源は、DirectShow フィルタ適用済みの BMSE でも鳴らせない場合があります。

DirectShow フィルタは必ずしも万能ではないため、テキスト置換よりは直接 WAV 化したほうが確実です。ただしもちろん、相応に容量は嵩みます。

oggdec について補足

最近の BMS シーンでは、Ogg Vorbis 使用作品に oggdec.exe [https://rarewares.org/ogg-oggdec.php] (外部リンク) を同梱する例も見かけます。これはバッチファイル経由で ogg → wav の変換を実行するものです。たとえば以下の内容のテキストファイルを用意し、拡張子を *.txt から *.bat に変更したとします。慣例名は _decode.bat です。

oggdec *.ogg
EXIT

この *.batoggdec.exe を共に対象作品フォルダに置いたうえで、*.bat を左ダブルクリックなどで実行すれば、ogg → wav のデコードが完了します。これらを作品に同梱しておけば、ユーザ側はデコーダを用意する手間が省けます。

Ogg ファイル群の同位に _decode.bat および oggdec.exe を同梱しておき、ユーザ側に実行してもらいます。

デコード完了後に変換後の wav ファイルだけを残したい場合は、*.bat に以下のように記述します。(ただし元の ogg を消すと何かと不便です。)

oggdec *.ogg
del *.ogg
EXIT

バッチファイルは書き方次第では悪意ある内容も実行させることができてしまうので、ユーザ側は実行前に中身を一応確認するべきです。

  • Windows 95/98/ME では、古い oggdec しか動作しません。期待通りに動作する保証もありません。