Mage.exe(매니페스트 생성 및 편집 도구)

매니페스트 생성 및 편집 도구(Mage.exe)는 응용 프로그램 매니페스트 및 배포 매니페스트의 생성과 편집을 지원하는 명령줄 도구입니다. Mage.exe는 명령줄 도구로서 배치 스크립트뿐 아니라 ASP.NET 응용 프로그램을 비롯한 Windows 기반 응용 프로그램에서도 실행할 수 있습니다.

Mage.exe 대신 그래픽 응용 프로그램인 MageUI.exe를 사용할 수도 있습니다. 자세한 내용은 MageUI.exe (매니페스트 생성 및 편집 도구, 그래픽 클라이언트)을 참조하십시오.

  • Mage.exe 및 MageUI.exe의 두 버전이 Visual Studio 2010 설치 프로그램의 구성 요소로 포함되어 있습니다. 버전 정보를 보려면 MageUI.exe를 실행하고 도움말을 선택하고 정보를 선택합니다. 이 설명서는 Mage.exe 및 MageUI.exe의 버전 4.0.x.x에 대해 설명합니다.
Mage [commands] [commandOptions]

매개 변수

다음 표에서는 Mage.exe에서 지원되는 명령을 보여 줍니다. 이러한 명령에서 지원되는 옵션에 대한 자세한 내용은 New 및 Update 명령 옵션 및 Sign 명령 옵션을 참조하십시오.

명령

설명

-cc, ClearApplicationCache

모든 온라인 전용 응용 프로그램의 다운로드한 응용 프로그램 캐시를 지웁니다.

-n, -New fileType [newOptions]

지정한 형식의 새 파일을 만듭니다. 유효한 형식은 다음과 같습니다.

  • Deployment: 새 배포 매니페스트를 만듭니다.

  • Application: 새 응용 프로그램 매니페스트를 만듭니다.

이 명령에 추가 매개 변수를 지정하지 않으면 적절한 기본 태그 및 특성 값을 사용하여 적절한 형식의 파일이 만들어집니다.

다음 표에 나와 있는 -ToFile 옵션을 사용하여 새 파일의 이름과 경로를 지정할 수 있습니다.

응용 프로그램의 모든 어셈블리가 매니페스트의 <dependency> 섹션에 추가된 상태로 응용 프로그램 매니페스트를 만들려면 다음 표에서 설명하는 -FromDirectory 옵션을 사용합니다.

-u, -Update [filePath] [updateOptions]

매니페스트 파일에서 하나 이상의 항목을 변경합니다. 편집하는 파일의 형식은 지정할 필요가 없습니다. Mage.exe에서 휴리스틱 집합을 사용하여 파일을 검사하고 배포 매니페스트인지 아니면 응용 프로그램 매니페스트인지 확인합니다.

이미 인증서를 사용하여 파일에 서명한 경우 -Update를 사용하면 키 서명 블록이 제거됩니다. 이유는 키 서명에 파일의 해시가 포함되어 있으며 파일 렌더러를 수정하면 해시가 무효화되기 때문입니다.

다음 표에 나와 있는 -ToFile 옵션을 사용하여 기존 파일을 덮어쓰지 않고 새 파일 이름 및 경로를 지정할 수 있습니다.

-s, -Sign [signOptions]

키 쌍 또는 X509 인증서를 사용하여 파일에 서명합니다. 서명은 파일 내부에 XML 요소로 삽입됩니다.

-TimestampUri 값을 지정하는 매니페스트를 서명할 때 인터넷에 연결해야 합니다.

-h, -?, -Help[verbose]

사용 가능한 모든 명령과 옵션에 대한 설명을 표시합니다. verbose를 지정하면 자세한 도움말을 볼 수 있습니다.

New 및 Update 명령 옵션

다음 표에서는 -New 및 -Update 명령에서 지원하는 옵션을 보여 줍니다.

옵션

기본값

적용 대상

설명

-appc, -AppCodeBase manifestReference

배포 매니페스트

응용 프로그램 매니페스트 파일에 대한 URL 또는 파일 경로 참조를 삽입합니다. 이 값은 응용 프로그램 매니페스트에 대한 전체 경로여야 합니다.

-appm, -AppManifest manifestPath

배포 매니페스트

배포의 응용 프로그램 매니페스트에 대한 참조를 배포 매니페스트에 추가합니다.

manifestPath에서 가리키는 파일이 실제로 존재해야 하며, 그렇지 않으면 Mage.exe에서 오류가 발생합니다. manifestPath에서 참조하는 파일이 응용 프로그램 매니페스트가 아니면 Mage.exe에서 오류가 발생합니다.

-cf, -CertFile filePath

모든 파일 형식

매니페스트에 서명하는 데 사용할 X509 디지털 인증서의 위치를 지정합니다. 인증서에 암호가 필요한 경우 -Password 옵션을 이 옵션과 함께 사용할 수 있습니다.

-ch, -CertHash hashSignature

모든 파일 형식

클라이언트 컴퓨터의 개인 인증서 저장소에 저장되는 디지털 인증서의 해시를 지정합니다. 이 해시는 Windows 인증서 콘솔에서 표시되는 디지털 인증서의 지문 문자열에 해당합니다.

hashSignature에는 대문자와 소문자를 모두 사용할 수 있습니다. 이 매개 변수를 단일 문자열로 제공할 수도 있고, 지문의 각 8비트 단위 값을 공백으로 구분하여 전체 지문을 따옴표로 묶어 제공할 수도 있습니다.

-fd, -FromDirectory directoryPath

응용 프로그램 매니페스트

응용 프로그램 매니페스트를 모든 하위 디렉터리를 포함하여 directoryPath에 있는 모든 어셈블리 및 파일에 대한 설명으로 채웁니다. 여기에서 directoryPath는 배포할 응용 프로그램이 있는 디렉터리입니다. Mage.exe는 디렉터리에 있는 각 파일이 어셈블리인지 또는 정적 파일인지 결정합니다. 파일이 어셈블리인 경우에는 <dependency> 태그 및 installFrom 특성이 어셈블리 이름, 코드베이스 및 버전과 함께 응용 프로그램에 추가됩니다. 정적 파일인 경우에는 <file> 태그가 추가됩니다. Mage.exe는 또한 간단한 휴리스틱 집합을 사용하여 응용 프로그램의 주 실행 파일을 검색하고 이를 매니페스트에서 ClickOnce 응용 프로그램의 진입점으로 표시합니다.

Mage.exe에서는 파일을 "데이터" 파일로 자동으로 표시하지 않습니다. 이는 직접 수행해야 합니다. 자세한 내용은 방법: ClickOnce 응용 프로그램에 데이터 파일 포함을 참조하십시오.

또한 Mage.exe에서는 각 파일의 크기를 기반으로 파일에 대한 해시를 생성합니다. ClickOnce에서는 이러한 해시를 사용하여 매니페스트가 생성된 후 배포 파일이 무단으로 변경되지 않았는지 확인합니다. 배포 파일 중 변경된 파일이 있는 경우 -Update 명령 및 -FromDirectory 옵션을 사용하여 Mage.exe를 실행하면 모든 참조된 파일의 해시 및 어셈블리 버전이 업데이트됩니다.

-FromDirectory를 사용하면 directoryPath에 있는 모든 하위 디렉터리의 모든 파일이 포함됩니다.

-FromDirectory-Update 명령과 함께 사용할 경우 Mage.exe는 이 디렉터리에 더 이상 존재하지 않는 파일을 응용 프로그램 매니페스트에서 모두 제거합니다.

-if, -IconFile filePath

응용 프로그램 매니페스트

.ICO 아이콘 파일의 전체 경로를 지정합니다. 이 아이콘은 시작 메뉴 및 프로그램 추가 또는 제거 항목에서 응용 프로그램 이름 옆에 나타납니다. 아이콘을 지정하지 않으면 기본 아이콘이 사용됩니다.

-ip, -IncludeProviderURL url

true

배포 매니페스트

배포 매니페스트가 -ProviderURL 의해 설정된 업데이트 위치 값을 포함할지 여부를 나타냅니다.

-i, -Install willInstall

true

배포 매니페스트

ClickOnce 응용 프로그램을 로컬 컴퓨터에 설치할지 여부 또는 웹에서 실행할지 여부를 지정합니다. 응용 프로그램을 설치하면 Windows의 시작 메뉴에 응용 프로그램이 표시됩니다. 유효한 값은 "true" 또는 "t"와 "false" 또는 "f"입니다.

-MinVersion 옵션을 지정하면 사용자 컴퓨터에 -MinVersion보다 이전 버전이 설치되어 있는 경우 -Install에 전달하는 값에 관계없이 응용 프로그램이 설치됩니다.

이 옵션은 -BrowserHosted 옵션과 함께 사용할 수 없습니다. 같은 매니페스트에 두 옵션을 모두 지정하려고 하면 오류가 발생합니다.

-mv, -MinVersion [version]

ClickOnce 배포 매니페스트에서 -Version 플래그에 지정되어 나열된 버전입니다.

배포 매니페스트

사용자가 실행할 수 있는 이 응용 프로그램의 최소 버전입니다. 이 플래그를 사용하면 응용 프로그램의 명명된 버전이 필수 업데이트가 됩니다. 주요 변경 내용 또는 심각한 보안 결함에 대한 업데이트가 포함된 제품 버전을 출시하는 경우 이 플래그를 사용하여 해당 업데이트를 필수적으로 설치해야 하고 이전 버전을 더 이상 실행할 수 없도록 지정할 수 있습니다.

version의 구문은 -Version 플래그에 대한 인수의 경우와 동일합니다.

-n, -Name nameString

배포

모든 파일 형식

응용 프로그램을 식별하는 데 사용되는 이름입니다. ClickOnce에서는 시작 메뉴(응용 프로그램 자체를 설치하도록 구성한 경우)와 권한 높이기 대화 상자에 응용 프로그램을 표시하는 데 이 이름을 사용합니다.

참고참고
기존 매니페스트를 업데이트하고 게시자 이름을 이 옵션으로 지정하지 않으면 Mage.exe는 컴퓨터에 정의된 조직 이름으로 매니페스트를 업데이트합니다.다른 이름을 사용 하려면 이 옵션을 사용하여 원하는 게시자 이름을 지정합니다.

-pwd, -Password passwd

모든 파일 형식

디지털 인증서로 매니페스트에 서명하는 데 사용되는 암호입니다. -CertFile 옵션과 함께 사용해야 합니다.

-p, Processor processorValue

Msil

응용 프로그램 매니페스트

배포 매니페스트

이 배포가 실행될 마이크로프로세서 아키텍처입니다. 이 값은 특정 마이크로프로세서용으로 미리 컴파일된 어셈블리를 가진 하나 이상의 설치를 준비하는 경우에 필요합니다. 유효한 값은 msil, x86, ia64 및 amd64를 포함합니다. msil(Microsoft intermediate language)을 지정하면 모든 어셈블리가 플랫폼에 종속되지 않고, 응용 프로그램이 처음 실행될 때 CLR(공용 언어 런타임)에서 JIT 컴파일을 수행합니다.

-pu, -ProviderURL url

배포 매니페스트

ClickOnce에서 응용 프로그램 업데이트를 확인할 URL을 지정합니다.

-pub, -Publisher publisherName

응용 프로그램 매니페스트

배포 매니페스트

배포 또는 응용 프로그램 매니페스트의 설명 요소에 게시자 이름을 추가합니다. 응용 프로그램 매니페스트에서 사용하는 경우에는 "true" 또는 "t" 값을 갖는 -UseManifestForTrust를 함께 지정해야 합니다. 이렇게 하지 않으면 이 매개 변수에서 오류가 발생합니다.

-s, -SupportURL url

응용 프로그램 매니페스트

배포 매니페스트

프로그램 추가/제거에서 ClickOnce 응용 프로그램에 대해 표시되는 링크를 지정합니다.

-ti, -TimestampUri uri

응용 프로그램 매니페스트

배포 매니페스트

디지털 타임스탬프 서비스의 URL입니다. 매니페스트에 타임스탬프를 적용하면 응용 프로그램의 다음 버전을 배포하기 전에 디지털 인증서가 만료되어도 매니페스트에 다시 서명할 필요가 없습니다. 자세한 내용은 Windows 루트 인증서 프로그램 멤버를 참조하십시오.

-t, -ToFile filePath

  • 변경 후:

  • 배포: deploy.application

  • 응용 프로그램: application.exe.manifest

  • 업데이트:

  • 입력 파일입니다.

모든 파일 형식

생성 또는 수정된 파일의 출력 경로를 지정합니다.

-New를 사용할 때 -ToFile을 제공하지 않으면 현재 작업 디렉터리로 출력됩니다. -Update를 사용할 때 -ToFile을 제공하지 않으면 Mage.exe에서 파일을 입력 파일에 다시 기록합니다.

-tr, -TrustLevel level

인트라넷

응용 프로그램 매니페스트

클라이언트 컴퓨터의 응용 프로그램에 부여할 신뢰 수준입니다. 유효한 값은 "Internet", "Intranet" 및 "FullTrust" 등입니다.

-um, -UseManifestForTrust willUseForTrust

False

응용 프로그램 매니페스트

클라이언트에서 응용 프로그램이 실행될 때 응용 프로그램 매니페스트의 디지털 서명을 사용하여 신뢰 관련 결정을 내릴지 여부를 지정합니다. "true" 또는 "t"를 지정하면 응용 프로그램 매니페스트를 사용하여 신뢰 관련 결정을 내립니다. "false" 또는 "f"를 지정하면 배포 매니페스트의 서명이 사용됩니다.

-v, -Version versionNumber

1.0.0.0

응용 프로그램 매니페스트

배포 매니페스트

배포의 버전입니다. 인수는 "N.N.N.N" 형식의 유효한 버전 문자열이어야 하며, 여기서 "N"은 부호 없는 32비트 정수입니다.

-wpf, -WPFBrowserApp isWPFApp

false

응용 프로그램 매니페스트

배포 매니페스트

응용 프로그램이 독립형 실행 파일이 아닌 Internet Explorer 내에 호스팅되는 WPF(Windows Presentation Foundation) 응용 프로그램인 경우에만 이 플래그를 사용합니다. 유효한 값은 "true" 또는 "t"와 "false" 또는 "f"입니다.

응용 프로그램 매니페스트의 경우 entryPoint 요소 아래에 hostInBrowser 특성을 삽입합니다.

배포 매니페스트의 경우 deployment 요소의 install 특성을 false로 설정하고 배포 매니페스트를 .xbap 확장명으로 저장합니다. 이 인수를 -Install 인수와 함께 지정하면 브라우저에서 호스팅되는 응용 프로그램을 오프라인 응용 프로그램으로 설치할 수 없으므로 오류가 발생합니다.

Sign 명령 옵션

다음 표에서는 -Sign 명령에서 지원하며 모든 파일 형식에 적용할 수 있는 옵션을 보여 줍니다.

옵션

설명

-cf, -CertFile filePath

매니페스트에 서명하는 데 사용할 디지털 인증서의 위치를 지정합니다. 이 옵션을 -Password 옵션과 함께 사용할 수 있습니다.

-ch, -CertHash hashSignature

클라이언트 컴퓨터의 개인 인증서 저장소에 저장되는 디지털 인증서의 해시를 지정합니다. 이 해시는 Windows 인증서 콘솔에서 표시되는 디지털 인증서의 지문 속성에 해당합니다.

hashSignature에는 대문자와 소문자를 모두 사용할 수 있습니다. 이 매개 변수를 단일 문자열로 제공할 수도 있고, 지문의 각 8비트 단위 값을 공백으로 구분하여 전체 지문을 따옴표로 묶어 제공할 수도 있습니다.

-pwd, -Password passwd

디지털 인증서로 매니페스트에 서명하는 데 사용되는 암호입니다. -CertFile 옵션과 함께 사용해야 합니다.

-t, -ToFile filePath

생성 또는 수정된 파일의 출력 경로를 지정합니다.

설명

Mage.exe에 대한 모든 인수는 대/소문자를 구분하지 않습니다. 명령 및 옵션의 앞에 대시(-) 또는 슬래시(/)를 사용할 수 있습니다.

-Sign 명령과 함께 사용되는 모든 인수는 -New 또는 -Update 명령에도 함께 사용할 수 있습니다. 다음 두 명령은 서로 동일합니다.

mage -Sign c:\HelloWorldDeployment\HelloWorld.deploy -CertFile cert.pfx
mage -Update c:\HelloWorldDeployment\HelloWorld.deploy -CertFile cert.pfx

서명된 문서에서는 파일의 해시를 사용하여 서명이 문서에 대해 올바른지 확인하므로 서명은 마지막에 수행해야 하는 작업입니다. 서명된 파일이 변경되면 다시 서명해야 합니다. 이전에 서명된 문서에 다시 서명하는 경우 Mage.exe는 이전 서명을 새로운 서명으로 바꿉니다.

배포 매니페스트를 채우기 위해 -AppManifest 옵션을 사용하는 경우 Mage.exe는 현재 배포 버전에 기반한 이름을 가진 하위 디렉터리 내의 배포 매니페스트와 동일한 디렉터리에 응용 프로그램 매니페스트가 있는 것으로 가정하고 그에 따라 배포 매니페스트를 구성합니다. 응용 프로그램 매니페스트가 다른 위치에 있는 경우에는 -AppCodeBase 옵션을 사용하여 위치를 설정합니다.

응용 프로그램을 배포하기 전에 배포 및 응용 프로그램 매니페스트에 서명해야 합니다. 매니페스트 서명에 대한 지침은 신뢰할 수 있는 응용 프로그램 배포 개요를 참조하십시오.

응용 프로그램 매니페스트에 대한 -TrustLevel 옵션에서는 클라이언트 컴퓨터에서 응용 프로그램을 실행하는 데 필요한 권한 집합을 지정합니다. 기본적으로 응용 프로그램의 신뢰 수준은 응용 프로그램의 URL이 속하는 영역을 기반으로 할당됩니다. 인터넷을 통해 배포된 응용 프로그램은 인터넷 영역에 배치되는 반면 회사 네트워크를 통해 배포된 응용 프로그램은 일반적으로 인트라넷 영역에 배치됩니다. 두 가지 보안 영역 모두 응용 프로그램에서 로컬 리소스에 액세스하는 데 제한이 있지만 인트라넷 영역이 인터넷 영역보다 약간 덜 제한적입니다. 완전 신뢰 영역에서는 컴퓨터의 로컬 리소스에 대해 응용 프로그램에 완전한 액세스가 부여됩니다. -TrustLevel 옵션을 통해 응용 프로그램을 이 영역에 배치하면 CLR의 트러스트 관리자 구성 요소가 이러한 높은 신뢰 수준을 부여할지 여부를 사용자에게 묻습니다. 응용 프로그램을 회사 네트워크를 통해 배포하는 경우에는 신뢰할 수 있는 응용 프로그램 배포를 사용하여 사용자에게 묻지 않고 응용 프로그램의 신뢰 수준을 높일 수 있습니다.

응용 프로그램 매니페스트에서는 사용자 지정 신뢰 섹션도 지원합니다. 이 섹션을 사용하면 응용 프로그램 실행에 필요한 특정 권한만 요청하도록 매니페스트를 구성할 수 있으므로 응용 프로그램에서 최소 권한만 요청하도록 하는 보안 원칙을 따르는 데 도움이 됩니다. Mage.exe에서는 사용자 지정 신뢰 섹션을 직접 추가할 수 없습니다. 텍스트 편집기, XML 파서 또는 그래픽 도구인 MageUI.exe를 사용하여 이를 추가할 수 있습니다. MageUI.exe를 사용하여 사용자 지정 신뢰 섹션을 추가하는 방법에 대한 자세한 내용은 MageUI.exe (매니페스트 생성 및 편집 도구, 그래픽 클라이언트)를 참조하십시오.

Visual Studio 2010에 포함된 Mage.exe 버전 4로 만든 새로운 매니페스트는 .NET Framework 4 Client Profile을 대상으로 합니다. 이전 버전의 .NET Framework를 대상으로 지정하려면 Mage.exe의 이전 버전을 사용해야 합니다. 기존 매니페스트에 어셈블리를 추가하거나 제거 또는 기존 매니페스트를 다시 서명할 때 Mage.exe는 매니페스트를 대상 .NET Framework 4 Client Profile로 업데이트하지 않습니다. 다음 표에서는 이러한 기능 및 제한 사항을 보여 줍니다.

매니페스트 버전

작업

Mage v2.0

Mage v4.0

.NET Framework 버전 2.0 또는 3.x를 대상으로 하는 응용 프로그램 매니페스트

를 엽니다.

OK

OK

닫기

OK

OK

저장

OK

OK

다시 서명

OK

OK

새 그룹

OK

지원 안 함

업데이트(아래 참조)

OK

OK

.NET Framework 버전 4를 대상으로 하는 응용 프로그램 매니페스트

를 엽니다.

OK

OK

닫기

OK

OK

저장

OK

OK

다시 서명

OK

OK

새 그룹

지원 안 함

OK

업데이트(아래 참조)

지원 안 함

OK

매니페스트 버전

작업 세부 정보 업데이트

Mage v2.0

Mage v4.0

.NET Framework 버전 2.0 또는 3.x를 대상으로 하는 응용 프로그램 매니페스트

어셈블리 수정

OK

OK

어셈블리 추가

OK

OK

어셈블리 제거

OK

OK

.NET Framework 버전 4를 대상으로 하는 응용 프로그램 매니페스트

어셈블리 수정

지원 안 함

OK

어셈블리 추가

지원 안 함

OK

어셈블리 제거

지원 안 함

OK

Mage.exe는 .NET Framework 4 Client Profile 대상으로 새 매니페스트를 만듭니다. .NET Framework 4 Client Profile이 .NET Framework 4 Client Profile 및 .NET Framework 4의 전체 버전에서 실행할 수 있도록 한 ClickOnce 응용 프로그램입니다. 응용 프로그램이 .NET Framework 4의 정품 버전을 대상으로 하고 .NET Framework 4 Client Profile에서는 실행할 수 없는 경우 텍스트 편집기를 사용하여 클라이언트 <framework> 요소를 제거하고 매니페스트에 다시 서명합니다. 다음은 .NET Framework 4 Client Profile을 대상으로 하는 샘플 <framework> 요소입니다.

<framework targetVersion="4.0" profile="client" supportedRuntime="4.0.20506" />

예제

다음 예제에서는 Mage(MageUI.exe)의 사용자 인터페이스를 엽니다.

mage

다음 예제에서는 기본 배포 매니페스트 및 응용 프로그램 매니페스트를 만듭니다. 이러한 파일은 현재 작업 디렉터리에 각각 deploy.application 및 application.exe.manifest라는 이름으로 만들어집니다.

mage -New Deployment
mage -New Application

다음 예제에서는현재 디렉터리에 있는 모든 어셈블리 및 리소스 파일로 채워진 응용 프로그램 매니페스트를 만듭니다.

mage -New Application -FromDirectory . -Version 1.0.0.0

다음 예제에서는 배포 이름 및 대상 마이크로프로세서를 지정하여 이전 예제를 계속 진행합니다. 또한 ClickOnce에서 업데이트를 확인할 URL을 지정합니다.

mage -New Application -FromDirectory . -Name "Hello, World! Application" -Version 1.0.0.0 -Processor "x86" -ProviderUrl http://internalserver/HelloWorld/

다음 예제에서는 Internet Explorer에 호스팅되는 WPF 응용 프로그램을 배포하기 위한 매니페스트 쌍을 만드는 방법을 보여 줍니다.

mage -New Application -FromDirectory . -Version 1.0.0.0 -WPFBrowserApp true
mage -New Deployment -AppManifest 1.0.0.0\application.manifest -WPFBrowserApp true

다음 예제에서는 응용 프로그램 매니페스트에서 가져온 정보로 배포 매니페스트를 업데이트하고 응용 프로그램 매니페스트의 위치에 대한 코드베이스를 설정합니다.

mage -Update HelloWorld.deploy -AppManifest 1.0.0.0\application.manifest -AppCodeBase http://internalserver/HelloWorld.deploy

다음 예제에서는 사용자가 설치한 버전에 업데이트를 적용하도록 배포 매니페스트를 편집합니다.

mage -Update c:\HelloWorldDeployment\HelloWorld.deploy -MinVersion 1.1.0.0

다음 예제에서는 다른 디렉터리에서 응용 프로그램 매니페스트를 검색하도록 배포 매니페스트를 설정합니다.

mage -Update HelloWorld.deploy -AppCodeBase http://anotherserver/HelloWorld/1.1.0.0/

다음 예제에서는 현재 작업 디렉터리에 있는 디지털 인증서를 사용하여 기존 배포 매니페스트에 서명합니다.

mage -Sign deploy.application -CertFile cert.pfx -Password <passwd>

참고 항목

작업

연습: ClickOnce 응용 프로그램 수동 배포

참조

MageUI.exe (매니페스트 생성 및 편집 도구, 그래픽 클라이언트)

Visual Studio 및 Windows SDK 명령 프롬프트

개념

ClickOnce 보안 및 배포

신뢰할 수 있는 응용 프로그램 배포 개요