Last update:2003/05/27
eVBレジストリ修正ツール 補足

 以下はMicrosoft(R) eMbedded Visual Basic(R)(以後、eVB)にてプログラムを開発されている方の参考になれば幸いです。

 eVBを利用すると作成したプログラムのインストーラを作成することができます。しかし、このインストーラにてインストールすると拡張子「.vb」に関するアプリケーション(ここでのアプリケーションとは「.vb」を解釈実行するインタプリタであるpvbload.exe)の関連付けが正しく登録されません。
 結果としてインストーラにてインストールしたにも関わらず、eVBのアプリケーション(拡張子が「.vb」のファイル)の起動が正常に行われません。

  :Pocket PC 2002のSDKでは上記問題は修正されている可能性があります。実機がないため確認できていません。

 以下にeVBにて作成したインストーラに含まれるpvbload.exeにて登録するレジストリを示します。

キー HKEY_CLASSES_ROOT\VBCE.ProjectRun\Shell\開く\Command
データ Default (レジストリエディタによっては「(標準)」と表示されます。)
\Windows\pvbload.exe %1
データ型 REG_SZ

 上記では「Shell」の下に「開く」が作成されています。しかし、本来キーの値は「Shell」の下には「Open」が作成される必要があります。以下に登録されるべきと考えられるレジストリの内容を示します。

キー HKEY_CLASSES_ROOT\VBCE.ProjectRun\Shell\Open\Command
データ Default (レジストリエディタによっては「(標準)」と表示されます。)
\Windows\pvbload.exe %1
データ型 REG_SZ

 当サイトで公開している「eVBレジストリ修正ツール」は上記のレジストリの前半のレジストリがあればを「開く」キーを含めて削除し、後半のレジストリがなければ作成しています。

 しかし、このようなことをしなくともeVBの「アプリケーション インストール ウィザード」から起動されているcabwiz.exeにてインストーラを作成しているのであればCABファイルを作成する時、インストーラから上記レジストリを登録することができます。
 具体的には.infファイルのDefaultInstallセクションのAddRegを以下のように 記述します。詳細はMSDN等を参照ください。

【.infの記述例】

  :

[DefaultInstall]
AddReg=RegData

  :

[RegData]
HKCR,VBCE.ProjectRun\Shell\Open\Command,,0x00000000,\Windows\pvbload.exe %%1

  :

 このようにすることによりインストール時にpvbload.exeを上書きしてしまったとしても、インストール後にレジストリを修正する使用する必要はなくなります。
 ただ、上記情報はインストーラにて登録しているのでアンインストールすると削除されることに注意する必要があります。


戻る
Copyright(C) 2002, 2003 LIUNQA. All rights reserved.