다음을 통해 공유


방법: IIS 5.0 및 IIS 6.0을 구성하여 WPF 애플리케이션 배포

적절한 MIME(Multipurpose Internet Mail Extensions) 형식으로 구성된 경우 대부분의 웹 서버에서 WPF(Windows Presentation Foundation) 애플리케이션을 배포할 수 있습니다. 기본적으로 Microsoft IIS(인터넷 정보 서비스) 7.0은 이러한 MIME 형식으로 구성되지만 Microsoft IIS(인터넷 정보 서비스) 5.0 및 Microsoft IIS(인터넷 정보 서비스) 6.0은 구성되지 않습니다.

이 항목에서는 WPF 애플리케이션을 배포하도록 Microsoft IIS(인터넷 정보 서비스) 5.0 및 Microsoft IIS(인터넷 정보 서비스) 6.0을 구성하는 방법에 대해 설명합니다.

참고

레지스트리에서 UserAgent 문자열을 확인하여 시스템에 .NET Framework가 설치되었는지 판별할 수 있습니다. UserAgent 문자열을 검사하여 .NET Framework가 시스템에 설치되었는지 판별하는 스크립트 및 자세한 내용은 .NET Framework 3.0 설치 여부 확인을 참조하세요.

콘텐츠 만료 설정 조정

콘텐츠 만료 설정을 1분으로 조정할 수 있습니다. 다음 절차에서는 IIS로 이 작업을 수행하는 방법을 간략하게 설명합니다.

  1. 시작 메뉴를 클릭하고 관리 도구를 가리킨 후 IIS(인터넷 정보 서비스) 관리자를 클릭합니다. 명령줄에서도 “%SystemRoot%\system32\inetsrv\iis.msc”로 이 애플리케이션을 시작할 수 있습니다.

  2. 기본 웹 사이트 노드가 표시될 때까지 IIS 트리를 펼칩니다.

  3. 기본 웹 사이트를 마우스 오른쪽 단추로 클릭하고 컨텍스트 메뉴에서 속성을 선택합니다.

  4. HTTP 헤더 탭을 선택하고 “콘텐츠 만료 사용”을 클릭합니다.

  5. 1분 후에 만료하도록 콘텐츠를 설정합니다.

MIME 형식과 파일 확장명 등록

클라이언트의 시스템에서 브라우저가 올바른 처리기를 로드할 수 있도록 여러 MIME 형식과 파일 확장명을 등록해야 합니다. 다음 형식을 추가해야 합니다.

내선 번호 MIME 형식
.manifest application/manifest
.xaml application/xaml+xml
.application application/x-ms-application
.xbap application/x-ms-xbap
.deploy application/octet-stream
.xps application/vnd.ms-xpsdocument

참고

클라이언트 시스템에서 MIME 형식 또는 파일 확장명을 등록하지 않아도 됩니다. Microsoft .NET Framework를 설치할 때 자동으로 등록됩니다.

다음 Microsoft Visual Basic Scripting Edition(VBScript) 샘플은 필요한 MIME 형식을 IIS에 자동으로 추가합니다. 스크립트를 사용하려면 서버에서 .vbs 파일을 코드에 복사합니다. 그런 다음, 명령줄에서 파일을 실행하거나 Microsoft Windows Explorer에서 파일을 두 번 클릭하여 스크립트를 실행합니다.

' This script adds the necessary Windows Presentation Foundation MIME types
' to an IIS Server.
' To use this script, just double-click or execute it from a command line.
' Running this script multiple times results in multiple entries in the IIS MimeMap.

Dim MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Const ADS_PROPERTY_UPDATE = 2

' Set the MIME types to be added
MimeTypesToAddArray = Array(".manifest", "application/manifest", ".xaml", _
    "application/xaml+xml", ".application", "application/x-ms-application", _
    ".deploy", "application/octet-stream", ".xbap", "application/x-ms-xbap", _
    ".xps", "application/vnd.ms-xpsdocument")

' Get the MimeMap object
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")

' Call AddMimeType for every pair of extension/MIME type
For counter = 0 to UBound(MimeTypesToAddArray) Step 2
    AddMimeType MimeTypesToAddArray(counter), MimeTypesToAddArray(counter+1)
Next

' Create a Shell object
Set WshShell = CreateObject("WScript.Shell")

' Stop and Start the IIS Service
Set oExec = WshShell.Exec("net stop w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop

Set oExec = WshShell.Exec("net start w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop

Set oExec = Nothing

' Report status to user
WScript.Echo "Windows Presentation Foundation MIME types have been registered."

' AddMimeType Sub
Sub AddMimeType (Ext, MType)

    ' Get the mappings from the MimeMap property.
    MimeMapArray = MimeMapObj.GetEx("MimeMap")

    ' Add a new mapping.
    i = UBound(MimeMapArray) + 1
    ReDim Preserve MimeMapArray(i)
    Set MimeMapArray(i) = CreateObject("MimeMap")
    MimeMapArray(i).Extension = Ext
    MimeMapArray(i).MimeType = MType
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo

End Sub

참고

이 스크립트를 여러 번 실행하면 Microsoft IIS(인터넷 정보 서비스) 5.0 또는 Microsoft IIS(인터넷 정보 서비스) 6.0 메타베이스에 여러 MIME 맵 항목이 생성됩니다.

이 스크립트를 실행한 후에는 Microsoft IIS(인터넷 정보 서비스) 5.0 또는 Microsoft IIS(인터넷 정보 서비스) 6.0 MMC(Microsoft Management Console)에서 추가 MIME 형식이 표시되지 않을 수 있습니다. 그러나 이러한 MIME 형식은 Microsoft IIS(인터넷 정보 서비스) 5.0 또는 Microsoft IIS(인터넷 정보 서비스) 6.0 메타베이스에 추가되었습니다. 다음 스크립트는 Microsoft IIS(인터넷 정보 서비스) 5.0 또는 Microsoft IIS(인터넷 정보 서비스) 6.0 메타베이스의 모든 MIME 형식을 표시합니다.

' This script lists the MIME types for an IIS Server.
' To use this script, just double-click or execute it from a command line
' by calling cscript.exe

dim mimeMapEntry, allMimeMaps

' Get the MimeMap object.
Set mimeMapEntry = GetObject("IIS://localhost/MimeMap")
allMimeMaps = mimeMapEntry.GetEx("MimeMap")

' Display the mappings in the table.
For Each mimeMap In allMimeMaps
    WScript.Echo(mimeMap.MimeType & " (" & mimeMap.Extension + ")")
Next

스크립트를 .vbs 파일로 저장하고(예: DiscoverIISMimeTypes.vbs) 다음 명령을 사용하여 명령 프롬프트에서 실행합니다.

cscript DiscoverIISMimeTypes.vbs