2

開発マシンにインストール/登録された ocx ファイルに依存するテスト ユーティリティがあります。不要なファイルでマシンを汚染することなく、このツールをテスト マシンで実行したいと考えています。ターゲット マシン ソフトウェア以外は何もインストールしないでください。ネットワーク ドライブ上でツールを実行するか、テスト マシンにコピーされたスタンドアロン ディレクトリからツールを実行するのが理想的です。しかし、ocx をテスト マシンに登録することは論外です。ocx ファイルを exe と同じディレクトリに配置しても機能しません。何があっても、「アプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再インストールすると、問題が解決する可能性があります。」というエラーが表示されます。他に何を試すことができますか?参考までに、Visual Studio 2008 を使用しています。

4

3 に答える 3

6

Windows XP+ について話している場合、Microsoft には Reg-Free COM と呼ばれる機能があります。基本的に、DLL/OCX を呼び出す EXE のマニフェスト ファイルを作成します。このファイルには、実際に HKCR に登録せずに COM 呼び出しを行うために必要なすべての登録情報が含まれています。

http://msdn.microsoft.com/en-us/library/ms973913.aspx

于 2010-06-16T12:55:23.183 に答える
0

COM レイヤーは、Windows レジストリを使用して、GUID を機能を実装するコンポーネント (DLL、OCX、EXE) に変換します。これを回避する別の方法はないと思います。

幸いなことに (ただし、あなたのためではありません)、Microsoft はこれが少し複雑すぎることに気付きました。そのため、.Net コンポーネントはこの登録を必要としません。アプリケーションの横に .Net DLL を配置するだけで、アプリケーションによって「検出可能」になります。

あなたの状況では、仮想マシンを使用してコンポーネントをテストできますか? もしそうなら、あなたはできる

  • 仮想マシン イメージを作成します (登録されたコンポーネントはありませんが、Windows から必要なものはすべてあります)。
  • 仮想マシン イメージのバックアップ
  • 次に、イメージを使用して仮想マシンを起動し、コンポーネントを登録して、アプリケーションをテストします
  • テストの後、イメージを捨てて、バックアップを取り直して、新しい環境からやり直すことができます
于 2010-06-15T20:15:53.537 に答える
0

ここではPSExecが役立つ場合があります。PSExec を使用して別の Winodws マシンでリモート プログラムを実行する社内システム テスト ツールで使用します。これにより、テスト ハーネスとすべての依存関係を (汚染された) 開発者/テスト ハーネス マシンで実行できるようになりますが、テスト対象のコードは非常にクリーンな vmware イメージで実行できます。

于 2010-06-15T20:27:31.100 に答える