2010-08-20 6 views
0

Windows 7에 C# 응용 프로그램을 설치하면 UAC에 항상 표시됩니다. 관리자로 로그인하지 않았지만 UAC없이 응용 프로그램을 설치하려고합니다. 어떻게 할 수 있습니까?C#을 사용하여 UAC가없는 창 7에 응용 프로그램 설치

+0

Program Files 폴더를 조작하면 디자인 상 UAC 프롬프트가 실행됩니다. – Aaron

+2

아니요. 그러나 UAC 프롬프트가 표시되지 않으면 프로그램 파일에 쓰려는 시도가 거부되어 액세스가 거부됩니다. –

답변

2

단일 패키지 제작link text

당신이 당신이 요청하는 방식으로 작동 설치하기 위해 Windows Installer/Windows Installer XML 사용할 수 있습니다.

+0

메신저가 XP에서 개발 중입니다. –

+0

XP에서 7/2008에 실행될 때 사양에 맞는 Windows Installer 패키지를 만들 수 있습니다. –

2

UAC없이 응용 프로그램을 설치하려면 현재 로그인 한 사용자가 쓸 수있는 폴더 만 터치하면됩니다. Google 크롬은 사용자의 로컬 애플리케이션 데이터 폴더에 전체 애플리케이션을 설치합니다.

이것은 매우 비표준이며 MS가이 위치에서 코드를 실행하는 것을 금지해야한다고 주장하지만 응용 프로그램을 설치하려면 관리자/UAC 액세스를 요구하는 작업 솔루션입니다.

덧붙여서 Chrome은 최근에 하나의 사용자가 컴퓨터에있는 모든 사용자가 사용할 수 있도록 기존의 설치 프로그램을 제공했습니다. 당신이 당신의 응용 프로그램이 UAC를 트리거하지 않고 설치하려는 경우

+0

-1 내 프로그램이 어디로 가야하는지 알려주고 있습니다. – danielkza

2

, 즉하려고하지 않습니다 ((대신 설치의 %의 ProgramFiles %까지) %의 APPDATA의 %에 설치하고 레지스트리의 HKCU 하이브 쓰기 HKCR, HKCR 등에 쓰기)

+0

이러한 선택은 상승하지 않고 성공할 수 있도록합니다. 그들은 왜 그것이 올라가고 있는지를 언급하지 않습니다. –

3

UAC 프롬프트는 "exe 내부의 코드가 X를 호출하거나 Y 위치에 쓰려고합니다." 이들은 다음을 포함한다 :

  • 이름 (예 setup21.exe) 설치, 패치 등 업데이트를 포함하고 requireAdministrator 요청 매니페스트를 내장에는 매니페스트
  • 없다. Visual Studio에서 의도적으로이 작업을 수행했을 것입니다.
  • requireAdministrator를 요청하는 폴더에 외부 매니페스트 (NewApp.exe의 경우 NewApp.exe.manifest)가 있습니다. 당신도이 일을 의도적으로했을 것입니다.
  • exe ​​및 권한 상승을 위해 선택한 속성 호환성을 마우스 오른쪽 단추로 클릭하거나 7을 높이기위한 XPSP2로 실행하십시오.
  • 이 설치 프로그램에서 제공하는 그룹 정책을 적용한 사람이 있어야합니다. 상승 RUN (가능성이) 한 번, 그것을 실행 "올바른 일을하지 않았을 수"와

이들 중 어떤 것으로 보인다합니까 "권장 설정"을 다시 시도하기로 합의 말하는 윈도우에서 대화를 가지고

  • ? 그렇다면 UAC 프롬프트가 사라지는 지 확인하고 수정하십시오.