2010-03-16 4 views
1

자동으로 업데이트되는 Windows 앱을 만들고 있습니다. ClickOnce를 여러 가지 이유로 사용하지 않습니다. 나는 C에 File.Move() 내 업데이트 된 파일을하려고 할 때 : \ 프로그램 파일 윈도우 7에, 나는 다음과 같은 오류 얻을 : < 응용 프로그램 > \ \ 프로그램 파일 \ < 기업 > :새 바이너리를 C : Program Files에 어떻게 복사합니까?

경로에 대한 액세스가 'C를 \ <app.exe> '이 (가) 거부되었습니다.

UAC 프롬프트가 표시되지 않았습니다. 업데이트하려고하는 exe가 현재 실행되고 있지 않습니다.

+0

응용 프로그램은 처음에 어떻게 설치 되었습니까? 업데이트를 시도 할 때 (관리자 또는 비 관리자 계정) 프로그램을 실행하는 계정은 무엇입니까? –

+0

응용 프로그램이 올바른 UAC 프롬프트를 제공하는 MSI를 사용하여 처음 설치되었습니다. 관리자 계정으로 앱을 실행 해 보았지만 ("Run As Admin"은 아니지만) UAC 프롬프트를 표시하지 않고 실행됩니다. "Run As Admin"은 작동하지만 사용자가 그렇게하지 못하도록합니다. –

답변

1

UAC 프롬프트가 나타나지 않지만 문제는 UAC입니다.

자동으로 상승되도록 프로그램의 목록을 변경해야합니다. (이것은 UAC 프롬프트를 표시합니다)

+0

왜 이것을 다운 그레이드 했습니까? – SLaks

+0

적용 할 업데이트가 실제로있는 경우에만 admin으로 실행해야합니다. – SLaks

+0

적절한 매니페스트가있는 다른 exe 파일을 만들었습니다. 설치할 새 업데이트가있을 때 파일을 복사하도록 다른 exe를 호출합니다. 따라서 UAC 프롬프트는 필요할 때만 나타납니다. 감사. –

1

프로그램의 설치 폴더를 변경할 수 없으며 필요한 관리자 권한이 없습니다. 업데이터에 매니페스트를 추가하는 것은 실용적이지 않습니다. 사용자는 신속하게 상승 프롬프트를보고 싶어합니다.

실용적인 방법은 업데이트 프로그램을 예약 된 작업으로 실행하는 것입니다. 이러한 작업은 관리자 권한으로 실행되도록 허용되어 있습니다. 일정을 관리하려면 관리자 권한이 필요하기 때문입니다. 설치 프로그램을 사용하여 수행해야 할 작업.

관련 문제