私たちは、マシン上で複数のインスタンスを実行したいサードパーティのネイティブアプリケーション(C言語で書かれています)を持っています。アプリケーション用に仮想化されたレジストリを使用して「サンドボックス」を作成するにはどうすればよいですか?
ただし、設定ファイルの場所を見つけるために、アプリケーションは特定のレジストリキーを読み書きします。実行中にこの位置を継続的に読み取ります。レジストリキーはHKLMにあります。つまり、2つの異なる場所にあるconfigファイルに対して、アプリケーションの2つの異なるインスタンスを試してみると、プロセスはそれぞれのつま先を踏んでいます。
プロセスが使用しているレジストリを「仮想化」する(または、サンドボックス内の各プロセスを実行する)ことができます。どちらも、単一の場所に書き込んでいると考えることができますが、異なっていて、彼らはお互いに足を踏み合わないでしょうか?独自の仮想化ソフトウェアは、はるかに複雑で、プログラミングとWindows SDKを使用してライブラリの呼び出しをフックに全体の粗が必要になるの作成
https://en.wikipedia.org/wiki/Portable_application_creators
:
興味深い考えです。私はDLLをチェックして、そこにレジストリキーを見つけたので、私はこれをテストします。理想的な解決策ではありませんが(私たちはプロセス作成でもう少しダイナミックになりたいですが)、これはうまくいくかもしれません。 –
これをテストしたところ、うまくいくようです。ありがとう。私は他の提案があるのを待つつもりですが、他の解決策が出てこない場合でも、問題を解決するはずです。ありがとう! –
あなたの歓迎、私はあなたを助けることができてうれしいです! –