2009-09-01 30 views
0

ActiveX CABファイル内にシステムDLLを展開する方法を探しています。 CABはシステムファイルを更新できず、インストール全体が失敗します。完璧に、私はActiveXのインストールフォルダにDLLをコピーしたいと思います。CABファイル内にシステムDLLを展開する

私の最善の提案(私はまだ試していない)は、いくつかのスタンドアロンインストーラでINFファイルフックを使用していますが、別の方法があるのでしょうか?

他のアイデアが理解されるであろう...

+0

どのシステムDLLですか? –

+0

ダンプの作成にdbghelp.dllを使用しますが、Win2Kではdbghelp.dllにMiniDumpWriteDumpは含まれていません。だから私はそれ以降のバージョンを使用する必要があり、システムのものを置き換えることはできません。 – Eugene

+0

おそらくこれは疑問な質問ですが、Win2KでもMiniDumpWriteDumpを呼び出せなければならないことは本当に難しい要件ですか?これはLoadLibrary/GetProcAddressをこのバイナリのシステムコピーに対して使用するように頭痛を軽減するかもしれないし、エントリーポイントが見つからない場合(ちょうど2Kになるだろう)...それはうまくいけばXP +にあるはずだ... – reuben

答えて

0

は、メインのActiveXコントロールのリソースとしてのあなたのdllを梱包してください。それをファイルに書き込むには、独自のコードを使用します。

マルウェア業界ではこれを実行した経験が豊富で、サンプルコードが利用可能である必要があります。

+0

私はWin2Kのサポートを拒否することにしましたが、この回答はもっと有望です... – Eugene

0

dllをActiveXインストールフォルダにインストールし、dll(LoadLibraryを使用)とそのメソッド(GetProcAddressを使用)を動的にロードできます。
この方法では、dllをどこからロードするかを制御し、システムの代わりにローカルコピーを使用することができます。

+0

スタンドアロンインストーラ(.msi、* .exe)を使用している場合のみ、DLLをActiveXインストールフォルダにインストールできます。この場合、すべては遅いバインディングなしでも機能するはずです。 しかし、質問はCABファイルからどうやってやるのですか? CABにはDestDirキーがありますが、値はシステムの場所の1つです。 ところで、dbghelp.dllに依存しているdbghelp.libからMiniDumpWriteDumpを使用しているとします。 – Eugene

関連する問題