외부 응용 프로그램이 종료 코드 5를 반환하면 어떻게 든 강제로 재부팅 할 수 있습니까?외부 응용 프로그램의 반환 코드를 기반으로 강제로 재부팅하는 방법은 무엇입니까?
[Run]
Filename: {app}\e.exe; Parameters: Z; Description: {cm:ALaunchProgram,{#ti}};
실행 섹션과 함께 할 수없는 경우 실행 파일을 사후 단계에서 실행하도록 ShellExec을 호출 할 수 있습니까?
외부 응용 프로그램이 종료 코드 5를 반환하면 어떻게 든 강제로 재부팅 할 수 있습니까?외부 응용 프로그램의 반환 코드를 기반으로 강제로 재부팅하는 방법은 무엇입니까?
[Run]
Filename: {app}\e.exe; Parameters: Z; Description: {cm:ALaunchProgram,{#ti}};
실행 섹션과 함께 할 수없는 경우 실행 파일을 사후 단계에서 실행하도록 ShellExec을 호출 할 수 있습니까?
실행 파일이 Inno가 재부팅을 요구할 때 자동으로 감지 할 수있는 작업 (예 : 재부팅시 파일을 바꾸거나 삭제하도록 예약)을 수행하지 않는 한 [Run]
항목에서 재부팅을 트리거 할 수 없습니다. 이는 RestartIfNeededByRun
설정을 통해 제어되며 기본값은 yes
입니다.
반환 값을 캡처하여 흥미로운 것을 원하면 [Code]
을 사용해야합니다. 설치 후해야하는 경우 제안 된 장소는 CurStepChanged(ssPostInstall)
입니다 (실제로는 [Run]
항목이 정상적으로 수행 된 후에 발생합니다).
이 시점에서 Exec
을 사용하여 프로그램을 실행하고 종료 코드를 확인하고 선택적으로 재부팅할지 여부를 나타내는 전역 변수를 설정할 수 있습니다. 그런 다음 NeedRestart
이벤트 기능에서 해당 값을 사용할 수 있습니다.
그러나이 경로로 이동하기 전에 실행하려는 것이 실제로 일종의 필수 구성 요소 인 경우이를 대신 PrepareToInstall
에서 설치하는 것이 좋습니다. 이 예제는 Inno에 포함되어 있으며, 필수 설치와 기본 애플리케이션 설치 사이의 재부팅을 트리거하는 예를 포함합니다.
외부 설치 프로그램에서 신호를 보내면 다시 시작해야한다고 생각합니다. Inno Setup은 'FinishPage'에 그러한 메시지를 표시합니다. 기본값은'yes' ... 설명 : yes로 설정하면 [Run] 섹션에서 실행 된 프로그램이 대체 할 파일을 대기열에 둡니다. 다음 재부팅 (MoveFileEx를 호출하거나 wininit.ini를 수정하여) 설치 프로그램은이를 감지하고 설치가 끝난 후 컴퓨터를 다시 시작하라는 메시지를 표시합니다. – RobeN