2016-04-13 38 views
5

私のNSISアンインストーラでは、プロセスが実行されているかどうかを確認したい。 FindProcDLLはWindows 7 x64で動作していないので、nsProcessを試しました。NSIS - プロセスが存在するかどうかを調べる(nsProcess not working)

私はウェブサイトからバージョン1.6をダウンロードした:http://nsis.sourceforge.net/NsProcess_plugin

私は例のフォルダにnsProcessTest.nsiを起動した場合、私は次のエラーを取得:

Section: "Find process" ->(FindProcess) 
!insertmacro: nsProcess::FindProcess 
Invalid command: nsProcess::_FindProcess 
Error in macro nsProcess::FindProcess on macroline 1 
Error in script "C:\Users\Sebastian\Desktop\nsProcess_1_6\Example\nsProcessTest.nsi" on line 14 -- aborting creation process 

を。これは、行14でありますサンプルスクリプト:

${nsProcess::FindProcess} "Calc.exe" $R0 

誰かが間違っていることを知っていますか?プロセスがNSISで実行されているかどうかを確認する方法はありますか?

+0

コンパイルエラーのためにNSISインストールフォルダのインクルードディレクトリにnsProcess.nshを入れましたか? nsProcess.dllファイルも同じですか?私は問題なしでWin7 x64でnsProcess FindProcessとKIllProcessを使用しています。 – hypheni

答えて

6

NSISはプラグインを見つけられませんので、そのファイルを正しいフォルダにコピーしてください。

NSIS 2.xの:

NSIS/ 
├── Include/ 
│ └── nsProcess.nsh 
└── Plugins/ 
    └── nsProcess.dll 

NSIS 3.xの:

NSIS/ 
├── Include/ 
│ └── nsProcess.nsh 
└── Plugins/ 
    ├── x86-ansi/ 
    │ └── nsProcess.dll 
    └── x86-unicode/ 
     └── nsProcess.dll 

Plugins\x86-unicode内のファイルがnsProcess.dllにリネームnsProcessW.dllである(それが過度に複雑作るために著者を非難!)

さらに一般的には、 o How can I install a plugin?はNSIS Wikiにあります。

+0

'Include'ではなく' Includes'でなければなりませんか? – ivokosir

+1

@ivokosirありがとう、私の答えを固定 – idleberg

関連する問題