-win32manifest(Visual Basic)

프로젝트의 PE(포팅 가능한 실행 파일) 파일에 포함할 사용자 정의 Win32 애플리케이션 매니페스트 파일을 식별합니다.

구문

-win32manifest: fileName  

인수

용어 정의
fileName 사용자 지정 매니페스트 파일의 경로입니다.

설명

기본적으로 Visual Basic 컴파일러는 asInvoker의 요청된 실행 수준을 지정하는 애플리케이션 매니페스트를 포함합니다. Visual Studio를 사용할 때 일반적으로 bin\Debug 또는 bin\Release 폴더와 같이 실행 파일이 빌드되는 동일한 폴더에 매니페스트가 생성됩니다. 예를 들어 highestAvailable 또는 requireAdministrator의 요청된 실행 수준을 지정하기 위해 사용자 지정 매니페스트를 제공하려면 이 옵션을 사용하여 파일 이름을 지정합니다.

참고 항목

이 옵션과 -win32resource 옵션은 함께 사용할 수 없습니다. 같은 명령줄에서 두 옵션을 모두 사용하려고 하면 빌드 오류가 발생합니다.

요청된 실행 수준을 지정하는 애플리케이션 매니페스트가 없는 애플리케이션은 Windows Vista의 사용자 계정 컨트롤 기능 아래에서 파일/레지스트리 가상화의 적용을 받습니다. 가상화에 대한 자세한 내용은 ClickOnce Deployment on Windows Vista(Windows Vista의 ClickOnce 배포)를 참조하세요.

다음 조건 중 하나라도 true인 경우 애플리케이션에 가상화가 적용됩니다.

  1. 사용자는 -nowin32manifest 옵션을 사용하며, -win32resource 옵션을 사용하여 나중 빌드 단계 또는 Windows Resource(.res) 파일의 일부로 매니페스트를 제공하지 않습니다.

  2. 요청한 실행 수준을 지정하지 않는 사용자 지정 매니페스트를 제공합니다.

Visual Studio는 기본 .manifest 파일을 만들고 이를 실행 파일과 함께 debug 및 release 디렉터리에 저장합니다. 프로젝트 디자이너의 애플리케이션 탭에서 UAC 설정 보기를 클릭하여 기본 app.manifest 파일을 보거나 편집할 수 있습니다. 자세한 내용은 Application Page, Project Designer (Visual Basic)을 참조하세요.

-nowin32manifest 옵션을 사용하여 애플리케이션 매니페스트를 사용자 지정 빌드 후 단계 또는 Win32 리소스 파일의 일부로 제공할 수 있습니다. 애플리케이션이 Windows Vista에서 파일 또는 레지스트리 가상화의 적용을 받도록 하려면 동일한 옵션을 사용합니다. 이렇게 하면 컴파일러가 PE 파일에 기본 매니페스트를 만들고 포함할 수 없습니다.

예시

다음 예제에서는 Basic C# 컴파일러가 PE에 삽입하는 기본 매니페스트를 보여줍니다.

참고 항목

컴파일러는 표준 애플리케이션 이름 "MyApplication.app"을 매니페스트 XML에 삽입합니다. 이는 Windows Server 2003 서비스 팩 3에서 애플리케이션을 실행하기 위한 해결 방법입니다.

<?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" name="MyApplication.app"/>  
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">  
    <security>  
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">  
        <requestedExecutionLevel level="asInvoker"/>  
      </requestedPrivileges>  
    </security>  
  </trustInfo>  
</assembly>  

참고 항목