C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

regsvr32のエラー

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■85502 / inTopicNo.1)  regsvr32のエラー
  
□投稿者/ k3user (1回)-(2017/10/30(Mon) 18:23:59)

分類:[.NET 全般] 

旧グレープシティのInputmanの32BitのOCXであるDate60.ocxを
Windows10環境でRegSvr32を使用してレジストリ登録しようとしたのですが、
エラーになります。

以下のコマンドを入力すると
C:\Windows\SysWOW64\regsvr32 C:\Windows\SysWOW64\date60.ocx

このようなエラーが出ます。
「C:\Windows\SysWOW64\date60.ocxの読み込みに失敗しました。
バイナリが指定されたパスに格納されていることを確認するか、バイナリまたは依存.dllファイルに問題が無いかを調べてください。
ダイナミックリンクライブラリの初期化ルーチンの実行に失敗しました。」

OCX自体はC:\Windows\SysWOW64に配置しています。
また
Visual Studioのdumpbinを使用して依存関係を調べてみたのですが、
問題が無いように見えます
date60.ocxをdumpbinコマンドを使用して依存関係を調べてみたのですが、
以下のファイルもC:\Windows\SysWOW64に存在します。

KERNEL32.DLL
USER32.DLL
GDI32.DLL
ADVAPI32.DLL
ole32.DLL
OLEAUT32.DLL
VERSION.DLL
OLEPRO32.DLL

なにか他に設定が必要でしょうか?




引用返信 編集キー/
■85506 / inTopicNo.2)  Re[1]: regsvr32のエラー
□投稿者/ とっちゃん (469回)-(2017/10/31(Tue) 11:42:03)
No85502 (k3user さん) に返信
> 旧グレープシティのInputmanの32BitのOCXであるDate60.ocxを
> Windows10環境でRegSvr32を使用してレジストリ登録しようとしたのですが、
> エラーになります。
>

http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=37447

これですかね?

OCXなどの旧製品は ActiveXパックとして販売だけは続けているようです。
http://www.grapecity.com/tools/products/activexpack

が、ここのページを見ると

>>> ※ 弊社のActiveXコンポーネントは64ビットOSやWindows 8以降のOSには対応していないため、
>>> .NET Framework対応のコンポーネントへの移行を推奨しております。
>>> ActiveX旧製品を利用して開発したVisual Basicアプリケーションを
>>> .NET Frameworkアプリケーションに移行する場合の参考情報は下記ページをご確認ください。

とあります。

64bitOSかつWindows10なので、そもそも対応していない(動かない?)という可能性が高いように思いますが。。。


さて、サポートやらはとりあえず置いておくとして。。。

OCXはインストール先がきちんと決まっており、登録処理や、共有ファイルとしての管理など
結構厳格な決まりがあるはずです(InputMan がどうなってるかは知りません)。

通常、適当にファイルをコピーしてregsvr32で登録して。。。とはならず、
添付のインストーラでインストールとか、インストール手順を見てインストールパッケージを作成するとか
そういうお作法が必須のはずです。

ちょっと、グレープシティのサイトを見てみた範囲ではその辺のドキュメントはないので
おそらく製品ヘルプとかそういうのに書かれているんじゃないかと思いますがどうなっていますか?

ちなみに、32bitなモジュールなので、C:\Windows\SysWOW64 ではなく、C:\Windows\system32 と見えます。

引用返信 編集キー/
■85507 / inTopicNo.3)  Re[1]: regsvr32のエラー
□投稿者/ 魔界の仮面弁士 (1446回)-(2017/10/31(Tue) 13:50:54)
No85502 (k3user さん) に返信
> 以下のコマンドを入力すると
> C:\Windows\SysWOW64\regsvr32 C:\Windows\SysWOW64\date60.ocx

コマンド自体はそれでよい気もしますが、それを呼ぶための
コマンドプロンプトは「管理者として実行」していますか?

C:\Windows\SysWOW64\regsvr32.exe を実行する際、
C:\windows\System32\cmd.exe から起動していた場合は
C:\Windows\SysWOW64\cmd.exe から呼んだ場合はどうなりますか?


> Visual Studioのdumpbinを使用して依存関係を調べてみたのですが、

依存情報は、data60.dep に書かれているはずです。
DLL バージョンが不整合を起こしていないかどうかも確認してみてください。
引用返信 編集キー/
■85508 / inTopicNo.4)  Re[2]: regsvr32のエラー
□投稿者/ k3user (2回)-(2017/10/31(Tue) 18:33:58)
回答ありがとうございます。

問題が解決いたしました。

原因はIMBASE6.DLLとIMSHARE6.DLLというInputManのDLLがあるのですが、
これらを同じ場所に配置しないといけないようです。
配置することでエラーは解消されました。


Inputmanのマニュアルに「配布時は必ず上記2ファイルを添付してください。」との
記述が一番最初のページにありました。
お騒がせしてしまい誠に申し訳ありませんでした。



引用返信 編集キー/
■85509 / inTopicNo.5)  Re[2]: regsvr32のエラー
□投稿者/ k3user (3回)-(2017/10/31(Tue) 18:38:30)
回答ありがとうございます。

問題が解決いたしました。
原因はIMBASE6.DLLとIMSHARE6.DLLというInputManのDLLがあるのですが、
これらを同じ場所に配置しないといけないようです。
配置することでエラーは解消されました。


>通常、適当にファイルをコピーしてregsvr32で登録して。。。とはならず、
>添付のインストーラでインストールとか、インストール手順を見てインストールパッケージを作成するとか
>そういうお作法が必須のはずです。

ご指摘の通り本来はCABによる配信が通常のインストールなのですが、
今回CABの使用は禁止という要求があったためregsvr32を使用しました。
(なぜCAB配信がNGかはわからないです。)






解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ