私は、DLL のロードの問題に対する洗練された解決策を考え出そうと頭を悩ませています。DLL をロードする他の lib ファイルに静的にリンクするアプリケーションがあります。私はDLLを直接ロードしていません。%working_folder%\dlls のようなもの - %working_folder% に数十個 (はい...数十個) の DLL を入れたくない.
検索パス@スタートアップを調整するメインアプリの一部である何かを開発しようとしています。私が直面している問題は、この新しいカスタム DLL パスがシステム検索パスにないことです。アプリを起動すると、必要な DLL が適切な場所にないため、アプリがクラッシュします (STATUS_DLL_NOT_FOUND)。私がやりたいことは、この新しいカスタム DLL フォルダーがプロセス環境変数の検索パスにあるかどうかを @ startup で確認し、そうでない場合は追加することです。問題は、アプリケーションが 1 行のコードを実行する前に、これらすべての DLL を読み込もうとすることです。
これを修正するにはどうすればよいですか? 最初に起動し、環境変数を適切に調整し、CreateProcess を介してメイン アプリを起動するヘルプ アプリを作成することを検討しました。これはうまくいくと確信していますが、開発者にとっては困難です。彼らがメイン アプリをデバッグするとき、最初にヘルパー アプリを起動するつもりはありません。
レジストリ アプリ パス機能を試しましたが、成功しませんでした。以前と同じ鶏と卵の問題。
ここで何ができますか?