web-dev-qa-db-ja.com

NSISスクリプトでexeファイルを実行する方法は?

InnoSetupには、exe、バッチファイル、およびmsiを実行するrunという部分があります。この実行にコマンドラインパラメータを指定することもできます。

Innosetupのサンプルを提供します。

[Run]
Filename: "{app}\msdirent.exe ";
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\NETCFSetupv2.msi""" ; Check:ShouldInstallComCtlUpdate ;

しかし、NSISSスクリプトでは、exeを実行する方法と、関連するexeにコマンドライン引数を指定する必要がありますか?

14
karthik

次のコマンドを試してください

Exec "$APPS\msdirent.exe"

コマンドライン引数の場合、

Exec "$APPS\msdirent.exe 1"

Msdirent.exeをインストーラーに追加するには、

SetOutPath "$APPS"
File "localpath\msdirent.exe"

Exec "$APPS\msdirent.exe 1"
13
Siva Karuppiah

つのNSIS命令 新しいプロセスを開始できます:ExecExecWait、およびExecShell(内部的に最初の2つは CreateProcess そして最後のものは ShellExecute )を使用します

すべての場合において、SetOutPath子プロセスの作業ディレクトリ を設定します。

NSISには3つの引用符があり、スペースを含むWindowsパスは"で引用する必要があるため、引用符を正しく取得することが重要です。

ExecWait '"$instdir\myapp.exe"'
Exec '"$instdir\otherapp.exe" param1 "par am 2" param3'
19
Anders