2017-09-12 7 views
0

特定の操作を実行するためにカスタムのNSISプラグインが用意されています。 NSISスクリプトで は、私は、次のコマンドを使用してプラグインをロードしていますNSISスクリプトでカスタムプラグインを読み込めません

!addplugindir "Plugin\" 

(このNSISスクリプトが存在する同じフォルダに、ExDll.dllという名前のDLLする「プラグイン」というフォルダがありますが存在する)

及びIは、以下のコマンドを使用してDLLの機能を実行しています:

ExDll::Func123 "<param1>" "<param2>" 

は、コンパイル後に、実行可能ファイルは、適切に問題なく実行されます。しかし、私は別のシステムに同じ実行可能ファイルを移動したときに、私は次のエラーを取得する:、:( "\ Users \ユーザーuser123 \のAppData \ローカル\ Tempに\ nsw19B5.tmp C")

Could not load: C:\Users\user123\AppData\Local\Temp\nsw19B5.tmp\ExDll.dll 

私は上記のディレクトリをチェックしますDLL「ExDll.dll」が存在します。

だから、私は次のようたクエリ:

  1. は何この背後にある可能な理由になることができますか?
  2. この問題はどうすれば解決できますか?

答えて

0

おそらくいくつかの依存関係がありません。問題のあるシステムでDependency Walkerで.DLLを検査してください。おそらく、MSVCRTファイルの1つに直接リンクしており、VC C++ランタイムファイルが上記のシステムにインストールされていないことがわかります。

don't need the CRT/Zl)、または静的リンク(/MT)に切り替えることができます。

関連する問題