0
내 응용 프로그램의 inno 설정에서/s (자동 설치) 명령을 사용하여 NSIS가 작성한 세 번째 실행 파일을 실행하려면 아래 스크립트가 필요합니다.Inno 설정 Exec() 명령 매개 변수를 사용하는 다른 타사 실행 파일
[Files]
Source: "..\programB.exe"; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: InstallProgramB
[Code]
procedure InstallProgramB;
var
ResultCode: Integer;
begin
// Install programB and wait for it to terminate
if not Exec(ExpandConstant('{app}\programB.exe'), '/s', '', SW_SHOWNORMAL,
ewWaitUntilTerminated, ResultCode) then
begin
MsgBox('Failed to install programB!' + #13#10 +
SysErrorMessage(ResultCode), mbError, MB_OK);
end;
end;
문제는 "자동 설치"가 아닌 programB.exe의 마법사를 팝업한다는 것입니다. 나는 this 을보고 명령 줄 매개 변수 "/ s"를 두 번째 인수에 놓았지만,/s는 작동하지 않는 것 같습니다. 모든 의견은
IMHO가 작동해야합니다. 그렇지 않은 경우 다른 매개 변수를 지정해야 할 수도 있습니다 (확실하지는 않음). 'SW_SHOWNORMAL' 대신에'ShowCmd' 매개 변수에 대해'SW_HIDE' 플래그를 지정하여 GUI 프로세스를 숨길 수는 있지만이 설정을 실행하는 실제 문제를 숨길뿐입니다. 명령 프롬프트에서 실행하면이 명령 행이 작동합니까? – TLama
@tlama 좋은 지적! 올바른 명령은/S가 아닌/S가되어야합니다. – Heidi
[링크] (http://nsis.sourceforge.net/Docs/Chapter4.html#silent) – Heidi