我是NSIS的新手,我嘗試在執行類似於預先請求的安裝時執行可執行文件。我試着將下面的代碼複製到安裝路徑,但它沒有執行它。Exec在NSIS安裝程序中不起作用
Section "example" example
SetOutPath "$INSTDIR"
File "setup.exe"
Exec "$INSTDIR\setup.exe"
BringToFront
SectionEnd
我是NSIS的新手,我嘗試在執行類似於預先請求的安裝時執行可執行文件。我試着將下面的代碼複製到安裝路徑,但它沒有執行它。Exec在NSIS安裝程序中不起作用
Section "example" example
SetOutPath "$INSTDIR"
File "setup.exe"
Exec "$INSTDIR\setup.exe"
BringToFront
SectionEnd
變量是否映射到名稱包含空格的目錄?如果是這樣,你應該添加簡單的報價,包括雙引號到Exec
說法:
Exec '"$INSTDIR\setup.exe"'
從關答案多半是正確的,我只是想補充的是,Exec的/ ExecWait正確的語法是總是Exec '"c:\path\app.exe" param1 "par am2" param3'
參數當然是可選的,但在應用程序的路徑應始終被引用,不只是因爲你的情況,其中$ INSTDIR可以包含空格,但至少在Win9x將失敗不管你不要什麼(根據NSIS手冊)
如果空間/缺少引號不是問題,那麼有一對夫婦的其他東西,你可能要考慮:
嗯,感謝指出,雙引號總是強制性的。在最新版本的幫助下,它不是那麼明顯,因爲它在4.9.1.2中聲明「[...]請注意,如果命令可能有空格,您應該*將它放在引號中以將其與參數分隔[ ...]「,並且還表明引號對於win9x是強制性的。也許可以幫助更新? – Seki