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

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

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

Re[3]: DLLの登録について


(過去ログ 63 を表示中)

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

■36137 / inTopicNo.1)  DLLの登録について
  
□投稿者/ 黒松 柊 (1回)-(2009/05/21(Thu) 18:20:33)

分類:[ASP.NET (VB)] 

 お初にお目にかかります、黒松と申します。

現在、ASP.NET(VB)、Visual Studio 2005 でWebの開発をしております。
その際、クライアント側のローカルファイルをJavaScriptで操作する処理(読み書き)があるのですが、クライアントがハンディターミナル(Windows CE 5.0)の為、ファイル操作を行うActiveXObject「Scripting.FileSystemObject」が使用出来ません。
よって、代りのDLL(VB スマートデバイス Windows CE 5.0用クラスライブラリ)を自作し、ハンディターミナルから配布・レジストリ登録処理を行ったのですが、上手くいきませんでした。

私が行ったことは、作成したDLLを

1.regsrvce.exe で登録 → DLLがCOMではない(アセンブリである)ので、エラー
2.ハンディターミナルに.Net Compact Framework 2.0をインストールし、さらに開発環境から RegAsm.exe をコピーしてきて登録を実行
3.アプリケーションを配置するための スマートデバイス CAB プロジェクトを作成し、CABを実行

2と3は、一応ファイルの配布は出来ているのですが、どうもレジストリの登録が出来ていないようで、実際そのDLLを使用しているJavaScriptの箇所で「オートメーション サーバーはオブジェクトを作成できません」と言うエラーが出ます。
(2のやり方はかなり無理やりですが ^^;)

(通常のデスクトップOSであれば、作成したアプリケーションのアセンブリ情報にある「アセンブリをCOM参照可能にする」と言うチェックを入れて、RegAsm.exe を実行すれば特に問題なく進めると思うのですが、Windows CE 5.0だと、この部分がチェック不可能になっております)

作成したDLLの中身はファイル入出力をするだけの至ってシンプルな物なのですが、このDLLを登録する良い方法は無いでしょうか?
または、全く別の方法があればご教授願いたく。
宜しくお願い致します。
引用返信 編集キー/
■36142 / inTopicNo.2)  Re[1]: DLLの登録について
□投稿者/ Azulean (392回)-(2009/05/21(Thu) 22:02:41)
ネイティブプロセスから、.NET Compact Frameworkで作ったCOMは読み込めないのではないか?といったこという風に認識していますが、Windows CEのWebブラウザはマネージプロセスなのですか?
http://social.msdn.microsoft.com/Forums/ja-JP/windowsmobileja/thread/de55ef5b-9be5-4e30-a115-cee7bf8f6591

もし、Webブラウザがネイティブプロセスなら、.NET Compact Frameworkで作ったCOMのロードは失敗すると思います。
# そのあたりのことに詳しくないので言い切れません。
引用返信 編集キー/
■36176 / inTopicNo.3)  Re[2]: DLLの登録について
□投稿者/ 黒松 柊 (2回)-(2009/05/22(Fri) 19:44:44)
Azuleanさん、返信ありがとうございます。

> ネイティブプロセスから、.NET Compact Frameworkで作ったCOMは読み込めないのではないか?といったこという風に認識していますが、Windows CEのWebブラウザはマネージプロセスなのですか?
> http://social.msdn.microsoft.com/Forums/ja-JP/windowsmobileja/thread/de55ef5b-9be5-4e30-a115-cee7bf8f6591
>
> もし、Webブラウザがネイティブプロセスなら、.NET Compact Frameworkで作ったCOMのロードは失敗すると思います。
> # そのあたりのことに詳しくないので言い切れません。

現在使っているハンディターミナルのWebブラウザは、IE6.0です。
これがマネージorネイティブプロセスであるかは、現在のところ調べきれておりません。
が、とりあえずレジストリの登録を手動で行い、画面操作をした所、エラーの内容が変化しました。
「エラー 800401f9 のため操作を完了できませんでした。」

Azuleanさんの挙げて頂いたフォーラムの記事のエラーと同じものとなりました。(Error in the DLL)
このエラーだけでは原因がはっきりしない(こちらのインストールミスの可能性もある)ので、調査を続行したいと思います。
ブラウザがネイティブプロセスで、ロード出来ないとなると、つらいですが ^^;
引用返信 編集キー/
■36342 / inTopicNo.4)  Re[3]: DLLの登録について
□投稿者/ 黒松 柊 (3回)-(2009/05/27(Wed) 17:03:35)
結局、他サイト様で公開されていたライブラリを使用し、解決しました。
(ファイル操作が可能)

ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -