현재 C++과 Qt를 사용하는 응용 프로그램을 개발 중이며 입력 파일이 실행 가능한지 알아야합니다.QFileInfo :: isExecutable()이 ".msi"파일에 대해 false를 반환하는 이유는 무엇입니까?
.msi
확장명이 false 인 경우를 제외하고 대부분의 파일에서 올바르게 작동하는 QFileInfo::isExecutable()
을 사용하고 있습니다.
파일이 실행 가능 여부를 어떻게 확인할 수 있습니까? 호환성을 위해 Qt에서이 작업을 수행해야합니다.
감사합니다. 나는 새로운 조건을 추가했고 파일의 확장자를 수동으로 확인하여 다른 응용 프로그램없이 실행될 수있는'.msi','.msp' 또는 다른 확장자가 아닌지 확인했습니다. – zozermania
@ zozermania : 정확성을 위해 msi 파일은 실행 가능하지 않습니다. msi 파일을 사용하려면 다른 응용 프로그램이 필요합니다. 해당 응용 프로그램은 [Windows Installer] (http://en.wikipedia.org/wiki/Windows_Installer)입니다. 물론 Windows에 설치되지만, 특히 오래된 컴퓨터 및 새 소프트웨어의 경우 Windows Installer를 최신 버전으로 업데이트하기 전에 msi 설치 패킷을 설치할 수 없습니다. 예를 들어 필요한 실제 응용 프로그램이 msiexec.exe임을 모른 채 QProcess를 사용하여 msi 파일을 시작할 수 없습니다. –