はじめまして
VB.NETでサードパーティ製のocxを使用しています。
(FJ製Linkexpress)
VB.NETのインストールされた環境で作成したDLLが、
VB.NETのインストールされていない環境にインストーラを使用して配布し実行したところ
エラーが発生しました。
<xxx.dll>
----------------------------------------
Private mfrmSend As frm_Send
Public Sub New()
MyBase.New()
mfrmSend = New frm_Send …①
<中略>
End Sub
----------------------------------------
①のフォームにはサードパーティ製のコントロールのみ貼り付けてあります。
VB.NETのインストールされていない環境でエラー箇所を特定するために、
MsgBoxを①の前後に入れ、エラーハンドリングを作成しその中にもMsgBoxを入れて実行してみました。
結果は①でエラーが発生しています。
> 429:クラスが登録されていません。
のエラーメッセージが出ています。
ocxはレジストリに登録してあることは確認済みです。
(VB.NETのインストーラを作成して配布)
VB.NETがインストールされた別の端末でも試してみましたが、正常に通過します。
もちろんコンパイルした端末でも正常です。
また、VB.NETがインストールされていないさらに別の端末でも試してみましたが、やはり同じ箇所でエラーが発生してしまいます。
VB.NETがインストールされている端末では実行できて、インストールされていない端末だと実行できないようです。
もともとVB6で使用していたプログラムをVB.NETでコンバージョンして使用しようとしています。
ocxがうまく登録されていないのではと思っているのですが、
VB.NETでocxを使用するには、レジストリ登録するだけではだめなんでしょうか。
何かご存知の方いらっしゃいましたら教えてください。
よろしくお願いいたします。
ツイート | ![]() |