2016-09-22 6 views
0

설치 자체를 구성하는 데 필요한 정보를 복구하기 위해 QT 설치 프레임 워크를 사용하는 동안 일부 셸 명령을 실행하고 싶습니다 (예 : 네트워크 어댑터 나열).QT 설치 프레임 워크에서 쉘 프로세스를 실행하고 결과를 기다리십시오.

현재 IFW는 설치 프로그램 구성 프로세스 후에 만 ​​실행되는 canned shell 작업 (addOperation, addElevatedOperation)을 준비 할 수있는 것으로 보입니다.

대신 설치 설정 중에 실행하고 싶습니다. 예 : 설치 프로그램 페이지 중 하나에서 작업을 실행하고 결과를 검색합니다. 같은 뭔가 :

Component.prototype.pageChanged = function (page) { 
    if (page === QInstaller.ReadyForInstallation) { 
    component.runOperation(...) 
} 
}; 

답변

0

나는 외부 프로세스를 실행하고 Qt를 설치 프레임 워크를 기반으로 내 설치 프로그램에 그 결과를 기다려야하고 싶습니다. 어떻게해야합니까?

native API (Windows 예) 또는 Qt QProcess::WaitOnFinish (보다 보편적 인)으로 해결할 수 있습니다. 따라서 C++ 코드로 설치 프로그램의 API를 어떻게 든 작동시켜야 할 가능성이 큽니다.

+0

QProcess가 저의 대안이었습니다. 그러나, 당신이 쓴 것처럼, 나는 피하고 싶습니다 IFW 코드를 수정해야합니다. – Pierluigi

2

QT 설치 프레임 워크 설치 프로그램은이 문제를 해결할 수있는 방법을 제공합니다.

installer.performOperationConsumeOutput 작동을 실행할 수 있습니다.

ConsumeOutput을 사용하면 외부 프로세스를 실행하고 프로세스 출력을 설치 프로그램 키에 저장할 수 있습니다.

관련 문제