2017-03-15 1 views
1

다른 사람들과 반대되는 질문을하는 것 같습니다. 프로세스를 생성하고 시스템에서 관리자 권한을 요청하지 않겠습니다. 1) 응용 프로그램 2) 업데이터컴퓨터에서 관리자 권한을 요청하지 않는 프로세스를 생성하는 방법 C#

응용 프로그램은 주기적으로 소프트웨어 업데이트가 있는지 확인하기 위해 웹 서비스를 확인 :

나는 2 실행 파일을 가지고있다. 존재하는 경우 업데이트 프로그램 .exe가 생성되고 현재 응용 프로그램이 닫힙니다.

그러면 업데이터는 파일을 다운로드하고 원래 프로세스를 압축 해제하고 생성합니다.

여기에는 관리자 권한이 필요하지 않지만 UAC는 계속 참여하고 있습니다.

키보드 나 마우스가없는 컴퓨터에서 실행되는 응용 프로그램으로 사용자 상호 작용없이 업데이트 프로세스를 실행하고 싶습니다.

이 작업을 수행하려면 UAC를 끄거나 해제해야하는 항목이 있습니까?

여기에 추가 할 수있는 유일한 부분은 ClickOnce를 사용하여 처음에는 항상 업데이트 프로그램을 실행하고 프로그램의 최신 복사본을 다운로드하는 최소 응용 프로그램을 배포하는 것입니다.

if (System.IO.File.Exists("AppUpdater.exe")) 
{ 
    Process.Start(fileName: "AppUpdater.exe", arguments: appId + " " + versionNo + " " + callingApp); 
} 


if (File.Exists(CallingApp)) 
{ 
    Process.Start(CallingApp); 
} 

감사

+1

실행중인 앱에 매니페스트가 있습니까? –

답변

0

는 문제가 발생했다 업데이터 응용 프로그램 내 실행했다 밝혀 :

나는 업데이트 프로그램 또는 호출 응용 프로그램을 산란하기 위해 다음과 같은 라인을 사용하고 있습니다. 프로젝트 속성에서 일부 설정을 변경해야했습니다.

UAC 메시지가 표시되지 않는 다른 응용 프로그램과 일치하도록 여러 설정을 변경했기 때문에 어느 것이 문제의 원인인지 정확히 알 수 없습니다.

주된 것이 "Icon and Manifest"설정이라고 생각됩니다. 나는 이것을 "기본 설정으로 매니페스트 삽입"으로 변경했습니다.

관련 문제