VB6で作ったWinsockアプリをVistaで動かす2009年01月13日 11時52分

10年ほど前に前任者がVisual Basic 6で作ったソフトを修正することになった。もともとはバーコード端末から読み取ったデータをActiveXを使って収集するサーバー型プログラムなのだが、バーコード端末が故障しすでに修理不能のため、変わりにパソコンにUSBで接続したバーコードリーダーからデータを読み取りVB6で作成したプログラムでWinsockを使ってデータをやり取りするように変更した。

とりあえずWindows2000環境では問題なく動作する。しかしVistaで動かそうとすると

「コンポーネント 'MSWINSCK.OCX' 、またはその依存関係のひとつが適切に登録されていません」

とかいうエラーが起きて動作しない。Vistaでは古いVBで作ったWinsockアプリは動かないのか?しばらくネットで調べたらそんなことはなかった。

対応方法:

VistaパソコンにVB6のランタイムをインストールした後、「スタート」から検索窓に

「regsvr32 /u mswinsck.ocx」

と入力し実行。今度は、

「regsvr32 mswinsck.ocx」

と入力し実行。どうやらmswinsck.ocxを再登録する必要があるらしい。これで問題なく動作するようになった。

コメント

_ あずみや ― 2009年10月04日 08時32分24秒

キャッチフィーリングというソフトで遊ぼうとしたところ
コンポーネントが登録されていないと表示され、
なにか解決策はないかと一生懸命検索したところ
さかなでさんのブログにたどりつきました。

VB6のライタイムをダウンロードし、
ファイルを開いて実行をおし、解答先をc:\windows\system32\
にしました

そこでさかなで様の方法でことを進めていくと
「regsvr32 /u mswinsck.ocx」
と入力し、実行しようとすると

モジュール"MSWINSCK"の読み込みに失敗しました。

バイナリが指定されたパスに収納されていることを確認するか、バイナリまたは依存.DLLファイルに問題がないかを調べてください。

指定されたモジュールが見つかりません。
と出てしまい、
実行ができません

regsvr32 mswinsck.ocx
もまったく同様です。

なにか策はありませんでしょうか?よろしくおねがいします

_ さかなで ― 2009年10月04日 15時11分18秒

不思議ですね。この記事を書いたときはVista のBusiness からやったのですが、今、家のHome Editionでやってみてもできました。

自分はVB6のランタイムを

http://www.vector.co.jp/soft/dl/win95/util/se188840.html

からダウンロードし、vb6sp6rt4.exeを実行して解凍、その後できたフォルダにあるVB6SP6RT4.msiをインストールしたら、後は記事の通りregsvr32を実行しました。

コメントを拝見する限り、もしかしたら解凍しただけでインストールできていないのでは?とも読み取れます。インストールできていればコントロールパネルの「プログラムと機能」にVisual Basic 6.0のランタイムライブラリが表示されていると思います。それを確認してから、もう一度実行されてみてはいかがでしょうか。

_ あずみや ― 2009年10月04日 17時17分40秒

さかなで様、早急なお返事ありがとうございます。
お忙しいところ大変すみませんでした。

さかなで様がお察ししたとおり、私は解凍しただけで
インストールはできていませんでした
最新版のVB6のランタイムだと解凍先が選択できなく、そのVB6SP6RT4.msiを選択し、インストールができなかったのでひとつ前のほうをダウンロードし、インストールをすると モジュール・・・・は表示されなくなりました
私の場合regsvr32 /u mswinsck.ocxは成功することができましたがregsvr32 mswinsck.ocはエラーコードがでてしまい成功することはできませんでしたが

そちらはなんとか自分でのり越えられました^^;;

そしてついに念願のキャッチフィーリングを起動することができました

さかなで様、本当にありがとうございました
本当にうれしいです;w;
ありがとうでした”

_ さかなで ― 2009年10月04日 21時12分55秒

それはよかったですね^^

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
↓に「sakanade」と入力してください。

コメント:

トラックバック