Windows 프로그래밍-UAC를 켜 두어야합니까?


11

Windows에서 개발할 때 권장되는 UAC (사용자 계정 컨트롤) 설정은 무엇입니까?

Win7에서도 나는 그것을 끌 수있을 정도로 성가신 것을 발견하지만 (생산력을 떨어 뜨릴 수 있기 때문에) 때로는 코드에서 더 많은 문제를 발견 할 수 있기 때문에 기분이 좋지 않습니다.


"내 컴퓨터에서 작동합니다!" 개발자의 소프트웨어 응답 문제에 대한 고전적인 답변입니다. 액세스 권한, 하드웨어 리소스 또는 설치된 라이브러리 (및 일부)가 다르기 때문일 수 있습니다. 사용자 컴퓨터와 비교하여 사용자 컴퓨터의 가능한 제한 사항을 알고 릴리스 전에 가능한지 테스트하십시오. 왜냐하면 ... "우리는 당신의 기계를 배송하지 않습니다!"
Martin Maat

답변:


16

권장 사항 (Microsoft의 경우에도)은 ON 상태를 유지하고 가능할 때마다 IDE를 무제한 으로 실행하는 것 입니다.

우선, 그것은 프로그래머가 실제 사용자가 가질 수있는 것과 같은 "불쾌감"과 함께 살도록 강요합니다 (알지 못하는 경우 올바르게 프로그래밍하겠습니까?).

그런 다음 UAC를 비활성화하고 관리자로 작업하는 것은 Unix 에서처럼 루트처럼 작동하는 것이 나쁩니다.


4
Windows는 리눅스가 아니며, 실제로는 비교가되지 않습니다 ..
Thomas Bonini

9
@ Kop : OS에 관계없이 전체 권한으로 실행하는 것이 좋거나 나쁩니다 ... Windows와 UNIX / Linux가 어떻게 다른지 알 수 없습니다.
Wizard79

1
@Brian : Azure 개발과 같은 관리자 권한이 필요한 라이브러리가 여전히 있지만 대부분의 작업은 비 관리자로 수행 할 수 있습니다.
Agent_9191

2
@Walter : Windows 서비스를 자유롭게 만들 수 있습니다. 서비스를 설치 / 제거하려면 높은 권한이 필요합니다. 어쨌든 IDE에서 직접 무언가를 설치해서는 안되므로 IT 전문가가 사용하는 명령 프롬프트가 높아지기 때문에 향상된 명령 프롬프트가 더 잘 작동합니다.
Agent_9191

2
@zneak : 당신이 틀렸다. 기술적 인 관점에서 관리자의 루트 사용자 (또는 UAC의 관리자 권한)는 정확히 동일합니다. 물론 시스템 파티션에서 format 명령을 사용할 수는 없지만 UI 선택 일뿐입니다. 시스템 파티션 또는 다른 형식을 지우는 형식의 타사 프로그램을 사용할 수 있습니다.
Wizard79

4

프로그램 사용 여부에 관계없이 제한된 사용자 계정으로 프로그램을 테스트해야합니다. 이것은 제한된 계정이나 UAC가 켜진 상태에서 프로그램을 실행할 때 발생할 수있는 대부분의 문제를 포착해야합니다.


문제는 UAC가 꺼져 있으면 테스트를 위해 전용 컴퓨터 나 가상 컴퓨터가 켜져 있어야한다는 것입니다.
Wizard79

UAC가 꺼져 있어도 제한된 계정을 통해 제한된 권한을 테스트 할 수 있습니다.
젤라틴

2
권한이없는 시나리오와 권한이 부여되지 않은 시나리오를 모두 테스트해야합니다 .
Ben Voigt

4

Windows 7에서 실행 중이고 UAC를 그대로두고 내 계정이 실제 관리자 계정이 아닙니다. 따라서 UAC에 부딪 칠 때 계속하려면 관리자 암호를 입력해야합니다. Vista에서도 나는 그것을 유지했다. 많은 개발자들이 방해가된다고 들었지만 아직 보지 못했습니다. Vista에서는 여러 영역이 너무 제한적이어서 더 큰 문제였습니다.

개발자들이 UAC에 방해가된다고 말할 때 항상 제기하는 질문은 "계속해서 무엇을하고 있는가?"입니다. 시스템 폴더 (Windows, Program Files, IIS 사이트)의 파일을 조작하려고하면 문제가있는 것입니다. IIS 웹 사이트는 C : \ inetpub 외부에 존재할 수 있습니다. SQL Server 사용자 데이터베이스는 프로그램 파일 외부에 존재할 수 있습니다. UAC 프롬프트가 정기적으로 표시 되는 유일한 시간 은 응용 프로그램 설치 및 업데이트입니다. 더 자주 보는 경우 시스템보다는 시스템에 대해 작업하는 것 같습니다.


2
Visual Studio에서는 IIS 호스팅 웹 응용 프로그램 프로젝트가 실행되고 있지 않으면 열 수 없습니다.
Heinzi

내가 (다른 위치에 저장 각각 예를 들어 두 개의 SVN 지점) 동일한 응용 프로그램의 두 버전을 실행하는 경우, Heinzi의 관점 @ 연장하기 위해, 당신은 필요 당신이에서 작업하는 것이 올바른 폴더에 IIS 설정을 할 수 있도록 VS 스튜디오 (즉,이 두 가지 중에서 마지막으로 연 솔루션). 상승 된 권한이 없으면 IIS를 수동으로 업데이트해야 할뿐만 아니라 개발중인 (VS에서) 완전히 다른 버전의 응용 프로그램 (브라우저에서)을 잊고 테스트 할 위험이 있습니다.
Flater

1

IMHO, 그것은 당신이하고있는 일로 요약됩니다.

현재 직장에서는 웹앱과 Windows 서비스를 개발하고 있습니다. 그로 인해 나는 자아가 생산성을 떨어 뜨린다 고 생각합니다. 사용자가 설치할 앱을 작업하는 경우 가능한 한 사용자가 경험하는 것과 가깝게 사용할 수 있도록 그대로 둡니다.


UAC를 끄는 데 어떻게 도움이됩니까? 웹앱 개발에는 IIS를 처음 설정하는 경우를 제외하고 관리자 권한이 필요하지 않습니다. Windows 서비스를 시작하고 중지하려면 관리자 권한이 필요하지만 단일 명령 창을 통해 net start/stop단일 UAC 프롬프트가 표시됩니다. 그렇지 않으면 명령 행 러너와 Win 서비스 러너를 갖도록 로직을 빌드해야합니다.
Agent_9191

개발에는 도움이되지 않지만 UAC의 성가심을 없애줍니다. 액세스가 적은 시뮬레이션을 위해 필요하지 않은 경우 끄십시오. 그렇지 않으면 그대로 두십시오

2
IIS에서 호스팅되는 웹앱을 디버깅하려면 높은 권한이 필요합니다.
FinnNk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.