1
서비스로 실행중인 C++ 응용 프로그램이 있습니다. 그리고 NSIS 설치 프로그램을 자동으로 그 서비스에서 시작하고 싶습니다. 가능한가? 그렇다면 어떻게해야합니까?UAC 권한을 묻지 않고 C++ 응용 프로그램에서 NSIS 설치 프로그램을 실행하십시오.
서비스로 실행중인 C++ 응용 프로그램이 있습니다. 그리고 NSIS 설치 프로그램을 자동으로 그 서비스에서 시작하고 싶습니다. 가능한가? 그렇다면 어떻게해야합니까?UAC 권한을 묻지 않고 C++ 응용 프로그램에서 NSIS 설치 프로그램을 실행하십시오.
서비스와 동일한 사용자로 설치 프로그램을 시작하려면이 서비스가 무결성 수준 높음 또는 시스템에서 실행되는 경우 CreateProcess
또는 ShellExecute
을 사용하여 설치 프로그램을 시작하십시오.
현재 로그인 한 사용자로 설치 프로그램을 시작하려면 CreateProcessAsUser
을 사용해야하지만이 경로를 사용하면 상황이 복잡해집니다. 로그인 한 사용자가 없거나 둘 이상의 사용자가있을 수 있습니다. 프로세스를 시작할 사용자를 결정한 후 WTSQueryUserToken
으로 토큰을 얻을 수 있습니다.
서비스가 실행중인 계정은 무엇입니까? 설치 관리자가 관리자 수준의 저장 영역에 기록해야합니까? .nsi에 RequestExecutionLevel을 설정 했습니까? – EricLaw
실행중인 계정은 Admin입니다. 레지스트리 항목을 변경하는 일부 스크립트가 있습니다. 예 .nsns 파일에서 RequestExecutionLevel을 시도했지만 도움이되지 않았습니다. – Vivek
설치 프로그램을 누구로 실행 하시겠습니까? 서비스와 동일한 사용자 (아마 SYSTEM) 또는 로그인 한 일반 사용자 계정? – Anders