2012-01-02 7 views
13

InnoSetup에는 이라는 실행 파일이 있으며,이 파일에는 exe, 배치 파일 및 msi 파일이 실행됩니다. 이 실행에 명령 줄 매개 변수를 제공 할 수도 있습니다. NSIS 스크립트에서 exe 파일을 실행하는 방법은 무엇입니까?

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

그러나 NSISS 스크립트에서

, 어떻게 내 EXE 파일을 실행하고 또한 내가 관심을 exe 명령 줄 인수를 제공해야합니다 :

은 내가 Innosetup 샘플을 제공?

답변

12

은을 시작할 수 있습니다 당신은 3 NSIS instructions

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

Exec "$APPS\msdirent.exe 1" 
+1

: 어떻게 설치로 그 msdirent.exe 팩을? – karthik

+0

@ Sivakg : +1 대답은 – karthik

+0

정확하게 경로를 인용해야합니다, NSIS 설명서 또는 예를 들어 내 대답을 참조하십시오! – Anders

16

, 설치에 msdirent.exe 추가를 들어 다음 명령

명령 줄 인수에 대한
Exec "$APPS\msdirent.exe" 

Exec "$APPS\msdirent.exe 1" 

시도 새 프로세스 : Exec, ExecWait 및,465,373,210 (내부적으로 처음 두 사용 CreateProcess 나머지 1 ShellExecute를 사용)를 설정 working directory for the child processSetOutPath 모든 경우

.

는 것이 중요하다 인용 공간이 "으로 인용해야와 NSIS는 3 인용 부호 창문 경로를 가지고 있기 때문에 올바른 :

Sivakg @
ExecWait '"$instdir\myapp.exe"' 
Exec '"$instdir\otherapp.exe" param1 "par am 2" param3' 
+0

@ Anders : 답변 해 주셔서 감사합니다. 나는 당신의 대답을 upvote하지만 Sivakg 먼저 대답을주는 사람입니다. – karthik

+0

@karthik 글쎄, 그의 현재 대답은 틀렸어, 그 Exec은 모든 시스템에서 작동하지 않을거야. – Anders

관련 문제