Vista에서는 UAC(User Account Control, 사용자 계정 관리) 기능을 통해 프로그램 실행에 대한 권한을 강화했는데, 일반 사용자 권한으로 실행되는 프로그램에서는 시스템 폴더, Program Files 폴더, 레지스트리 제어 등에 있어 많은 제약이 따르게된다.

UAC 기능을 고려하지 않은 프로그램을 Admin 권한으로 실행하는 방법은 다음과 같다.

    1. Vista 제어판을 통해 UAC 기능을 중지 시킨다. (비추)
        - UAC 기능이 불편함을 초래할 수는 있으나, 사용자 모르게 임의로 실행되는 악성
          프로그램 등으로부터 보호하는 기능을 가지고 있으므로 가급적 사용을 권장한다.
    2. 실행 파일에서 오른쪽 버튼 클릭 후 "관리자 권한으로 실행" 메뉴 선택
        - 경우에 따라 Admin 권한을 부여하기 위한 일회성 방법이다.
        - "사용자 계정 컨트롤"의 권한 상승 화면을 거쳐야 한다.
    3. 실행 파일의 속성->호환성 탭에서 "관리자 권한으로 이 프로그램 실행" 체크
        - 속성 변경 후에는 자동으로 Admin 권한으로 실행된다.
        - "사용자 계정 컨트롤"의 권한 상승 화면을 거쳐야 한다.
        - 파일명을 변경하거나 위치(폴더)를 이동하는 경우, "권한 수준" 내용을 초기화 된다.

 
Vista에서 Admin 권한으로 실행되는 프로그램을 만들기 위해서는 manifest 파일을 리소스에 포함시키면 되는데 VB6의 리소스 편집기에서는 manifest 리소스 관리를 지원하지 않으므로 [1]VS6의 rc.exe 프로그램을 이용해서 리소스 파일을 만들고 이 리소스 파일을 포함해서 컴파일한다. 또는 [2]VS2005의 mt.exe를 이용해서 이미 컴파일 된 프로그램에 manifest 정보를 추가한다.

[1] manifest 리소스 정보를 포함해서 컴파일하는 방법

1) manifest 파일 만들기
    - 다음의 내용을 텍스트 파일로 저장한다. (파일명 : "app_name.exe.manifest")
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="AdminApp"
     type="win32"/>

  <description>Description of your application</description>
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>

        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>


2) ResourceScript 파일 만들기
    - 다음의 내용을 텍스트 파일로 저장한다. (파일명 : ResourceScript.rc)
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#define RT_MANIFEST                     24
CREATEPROCESS_MANIFEST_RESOURCE_ID   RT_MANIFEST    "app_name.exe.manifest"


3) rc.exe 를 이용한 리소스 파일 만들기
    - 도스창에서 다음의 명령을 입력해서 리소스 파일을 만든다.
    - "c:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\" 폴더에 있다.
"RC.EXE" /r /fo app_name.res ResourceScript.rc


4) VB 프로젝트에 리소스 파일 추가
   - VB에서 프로젝트->파일 추가 메뉴를 통해 3)에서 만든 리소스 파일(app_name.res)을 프로젝트 리소스 파일로 등록한다.

5) 프로젝트 컴파일

6) Vista의 UAC 사용 환경에서 테스트


[2] VS 2005의 mt.exe를 이용하는 방법

1) Admin 권한 부여를 위한 프로그램(EXE) 준비

2) manifest 파일 만들기 ([1]과 동일)

3) 실행 파일에 manifest 정보 추가하기

mt -manifest app_name.exe.manifest -outputresource:app_name.exe;#1


4) Vista의 UAC 사용 환경에서 테스트


※ manifest 적용 후에는 다음 그림처럼 방패 모양이 추가되는 것을 볼 수 있다. (Vista에서 확인 가능)
사용자 삽입 이미지 사용자 삽입 이미지


※ manifest 적용 및 테스트를 위한 예제 프로젝트



-- 출처 : EnjoyDev.com(www.enjoydev.com) --
블로그 이미지

요다할아범

,

1.regedit.exe 를 시작한다.
2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services key로 이동한다.
3.지우고 싶은 서비스의 key를 선택한다.
4.Edit 메뉴에서 Delete를 선택한다.
5. "Are you sure you want to delete this Key" 메시지가 나오면 Yes를 선택한다.
6.regedit를 종료한다.


 

블로그 이미지

요다할아범

,
2018.11.05 Update
Windows 7, Windows 10에서 바로 이용할 수 있는 REG 파일 Upload --> 

Disable-ZIP-CAB-Compressed-Folders.reg

적용 후 재부팅!

===================================================================


XP 탐색기에서 ZIP 폴더를 없애려면 두가지 방법이 있는데

방법.1

시작버튼 -> 실행을 선택한 다음...

regsvr32 /u zipfldr.dll 이라고 쓰고 엔터...

복구는 regsvr32 zipfldr.dll 으로 하면 됩니다.


방법.2

regedit에서

zipfldr.dll로 검색해서 지워주면

껐다 켜도 ZIP 폴더 작동하지 않습니다.




----------------------------------------------------------------------------------------
윈도우 7 의 경우

1. 시작 메뉴 - 파일 검색 부분에서 regedit를 쓰고 엔터.

2. UAC 가 뜨면 확인을 누르거나, 사용자 계정에서 사용자 계정 컨트롤 부분을 꺼준다.

3. zip 폴더 비활성화
A) 해당 레지스트리 위치로 이동한다.
HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}

사용자 삽입 이미지


B) 해당 폴더를 우클릭하여 사용권한 메뉴로 들어간다.

C) 5번째로 이동하여 진행할것.
4. CAB 파일 비활성화 
NOTE: You will also need to step 3 as well to disable CAB folders.
A) 해당 위치의 레지스트리 폴더로 이동한다.
HKEY_CLASSES_ROOT\CLSID\{0CD7A5C0-9F37-11CE-AE65-08002B2E1262}

사용자 삽입 이미지


B) 해당 폴더를 우클릭 후 사용권한 메뉴로 들어간다.
5. 고급 버튼을 누른다.  

사용자 삽입 이미지


6. 소유자 탭에 들어가서 현재 사용중인 계정을 클릭하고 확인을 누른다. ( 관리자 계정이 아니면 레지스트리 변경이 안되므로.. 일반 계정으로는 해당 단계를 진행하지 못합니다. ) 

7. 유저 및 어드미니스터의를 선택하여 모든 권한 에 체크를 하고 확인을 누릅니다.  

사용자 삽입 이미지


8. 해당 레지스트리 폴더(cab 또는 zip 레지스트리 폴더) 를 삭제합니다.  


블로그 이미지

요다할아범

,

실행 -> regedit 에서

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 로 가서

등록->DWORD..... 값 이름:MaxConnectionPerServer에서 원하는 값을 입력한다.

블로그 이미지

요다할아범

,

윈도우탐색기의 속성을 열어서 대상에

D:\를 시작위치로 잡으려면

 - %SystemRoot%\explorer.exe /n,/e,D:\

Desk

 - %SystemRoot%\explorer.exe /e,/select

블로그 이미지

요다할아범

,