私はこれに髪を引っ張ってきました。私が書いたC++OPOSドライバーがあります。私はC#で仮想ピンパッドを作成しました。それは機能し、すべてが良好です。
しかし、私に与えられた1つの要求は、C#ドライバーが呼び出し元のプログラムに存在している必要があるということです。これは、OPOSドライバーが存在する場所である必要があると予想していたため、理解するのに時間がかかりました。設定がおかしいと思わせてしまいます。
私はそれが曖昧であり、より多くの情報が必要であることを知っていますが、どこから始めればよいのか、この点であなたがどのような情報を手伝う必要があるのかわかりません。私は頻繁にチェックインし、質問に答えます....私はこの漠然としたことを嫌います..炎上しないでください:)私は必要なだけ編集します。
編集
これをうまく表現できなくてすみません。これを書いているとき、私はたくさんのことをしていました。自分で読み直して「NEWB!」と思っていました。ハ。
さて、ダウンして汚れています。問題はCOMドライバーに関するものではなく、C#仮想ピンパッドに関するものです。要約すると、C#仮想ピンパッドdllは、登録済みのUPOSドライバーと同じ場所ではなく、実行可能ファイルと同じ場所にある必要があるのはなぜですか?
それでそれについて詳しく説明します。ドライバーは動作します(私がそれを再び台無しにしない限り)。指摘されたように、それを使用するプログラムには登録する必要があります。それはすべて順調です。このUPOSドライバーに関連するすべての必要なファイルを同じフォルダーに配置します。ある時点で、UPOSドライバーに組み込まれたC ++仮想ピンパッドがありましたが、簡単にするために、COMで表示されるC#仮想ピンパッドを作成する方が迅速かつ簡単であると判断しました。そして、ほとんどの場合、それはそうでした。グラフィカルな変更を加えれば、VPP.dllを置き換えることができ、生活は良かったので、それは良かったです。次に、このドライバーセットをコンピューターにインストールしましたが、VPPを開こうとすると、クラッシュしました。必死でVPPのコピーを始めました。dllを別の場所に移動し、実行中のプログラムと同じ場所に配置すると、動作を開始することがわかりました。これは私が望むものではありません。他のドライバーと同じディレクトリに配置できるようにしたいと思います。(これは環境によって異なりますが、一般的には「ProgramFiles」フォルダにあります)これで、上記の要約された質問に戻ります。私のUPOSドライバーがCOM呼び出しを行うドライバーであることに気が遠くなります。インストールを実行すると、インストールの一部としてVPP.dllがProgram Filesフォルダーに配置され、regasmが実行されます(これは成功したことを示しています)。ですから、実行中のプログラムに関係しているのではないかと頭を悩ませています。ああ、それが一元化された場所にある必要があるもう1つの理由は、いくつかの異なるプログラム(正確には4つ)が異なる場所にインストールされていることです。そして、ヒューマンエラーは、VPP.dllを各コンピューターの潜在的に4つの場所にコピーする必要はありません。(最終的には約500になります)
明確にしたので(そして実際に質問しました。それについては申し訳ありませんが)、何か提案はありますか?