다음을 통해 공유


Microsoft .NET Framework 3.0 배포 가이드

 

Microsoft Corporation

2006년 7월

콘텐츠

요약
소개
설치 요구 사항
   소프트웨어 요구 사항
   하드웨어 요구 사항
.NET Framework 3.0 재배포 가능 패키지를 가져올 위치
Visual Studio 2005 설치 프로젝트를 사용하여 .NET Framework 3.0 재배포
사용자가 수동으로 .NET Framework 설치
애플리케이션 설정에서 재배포 가능 패키지 연결
웹 애플리케이션용 .NET Framework 3.0 재배포
Microsoft .NET Framework 3.0 검색
   레지스트리 키 읽기
   인터넷 Explorer 사용자 에이전트 문자열 읽기
.NET Framework 3.0 재배포 가능 패키지에 대한 명령줄 옵션
.NET Framework 3.0 재배포 가능 패키지에 대한 오류 코드

요약

이 문서에서는 .NET Framework 3.0 재배포 가능 패키지인 Dotnetfx3.exe Microsoft .NET Framework 3.0 애플리케이션을 배포하는 방법을 설명합니다. (인쇄된 페이지 10개)

참고 이 설명서에는 배포를 논의하는 시나리오에 대한 정보가 포함될 수 있지만, 이 설명서에서는 구성 요소의 일부를 사용하거나 배포할 수 있는 권한을 부여하지 않습니다. 구성 요소 사용에는 구성 요소에 대한 사용권 계약이 적용됩니다. 사용자 권한 및 사용 조건을 이해하려면 구성 요소 사용권 계약을 검토하세요.

소개

Microsoft.NET Framework 3.0은 .NET Framework 3.0 애플리케이션을 실행하는 데 필요한 Windows Vista API에 대한 .NET Framework 2.0 바인딩이 포함된 재배포 가능 설치 관리자를 제공합니다.

.NET Framework 3.0 재배포 가능 패키지는 독립 실행형 실행 파일로 사용할 수 있습니다. 파일의 이름은 대상 플랫폼의 형식에 따라 달라집니다. 32비트 플랫폼의 경우 파일 이름은 Dotnetfx3.exe. 64비트 플랫폼의 경우 파일 이름은 Dotnetfx3_x64.exe. 설치하는 동안 필요한 구성 요소를 다운로드하는 Dotnet3setup.exe 라는 작은 재배포 가능 패키지를 배포할 수도 있습니다.

참고 .NET Framework 3.0의 IA64 지원은 Microsoft Windows Server 코드 이름 "Longhorn"으로 제한됩니다. Longhorn에는 이미 .NET Framework 3.0이 포함되어 있으므로 재배포 가능 패키지가 필요하지 않습니다.

컴퓨터에 재배포 가능 파일을 수동으로 시작하고 설치하거나 .NET Framework 3.0 애플리케이션에 대한 설치 프로그램의 일부로 시작하고 설치할 수 있습니다.

참고 .NET Framework 3.0을 설치하려면 관리자 권한이 필요합니다.

설치 요구 사항

이 섹션에서는 Microsoft .NET Framework 3.0 재배포 가능 패키지를 설치할 컴퓨터에 대한 소프트웨어 및 하드웨어 요구 사항을 설명합니다. 최소 요구 사항이 충족되지 않으면 Dotnetfx3.exe 재배포 가능 패키지의 설치를 차단합니다.

소프트웨어 요구 사항

Microsoft .NET Framework 3.0을 설치하려면 다음 운영 체제 중 하나를 대상 컴퓨터에 설치해야 합니다.

  • 서비스 팩 2 이상이 포함된 Microsoft Windows XP Home 또는 Microsoft Windows XP Professional.
  • 서비스 팩 1 이상이 포함된 Microsoft Windows Server 2003 제품군.

Microsoft Windows Vista(IA64 플랫폼 포함 안 함) 및 Microsoft Windows Server 코드명 "Longhorn" IA64 Edition의 경우 .NET Framework 3.0은 운영 체제의 기능입니다.

하드웨어 요구 사항

다음 표에서는 .NET Framework 3.0을 실행하기 위한 하드웨어 요구 사항을 나열합니다.

  CPU 필요 RAM 필요
최소 펜티엄 400MHz 96MB
권장 펜티엄 1GHz 이상 256MB 이상

.NET Framework 3.0 재배포 가능 패키지를 가져올 위치

Microsoft .NET Framework 3.0 재배포 가능 패키지는 Microsoft Vista 다운로드 센터 또는 Microsoft Windows 업데이트 웹 사이트에서 다운로드할 수 있습니다.

참고 Microsoft Windows 업데이트 사이트는 공식적으로 릴리스된 .NET Framework 3.0 버전만 제공하며 베타 버전은 제공하지 않습니다.

사용자가 인터넷에서 Microsoft .NET Framework 3.0을 설치하도록 해야 하는 경우 자체 네트워크에 재배포 가능 패키지를 게시하지 마세요. 대신 사용자를 Microsoft Vista 다운로드 센터 또는 Microsoft Windows 업데이트 웹 사이트로 안내합니다.

Visual Studio 2005 설치 프로젝트를 사용하여 .NET Framework 3.0 재배포

Visual Studio 2005로 만들어지고 .NET Framework 3.0이 필요한 애플리케이션을 배포하는 경우 애플리케이션을 설치하기 전에 대상 컴퓨터에 .NET Framework 설치해야 합니다. Visual Studio 2005 설치 프로젝트를 사용하여 만든 설치 실행 파일에 .NET Framework 3.0을 포함할 수 있습니다. 실용적이지 않은 경우 나중에 설명한 대로 사용자가 .NET Framework 수동으로 설치할 수 있습니다.

애플리케이션과 함께 Microsoft .NET Framework 3.0을 설치하도록 Visual Studio 2005 설치 프로젝트를 구성하면 .NET Framework 3.0이 애플리케이션과 함께 패키지됩니다. 애플리케이션 설정의 시작 조건은 Framework 3.0이 설치되었는지 whether.NET 확인하고, 필요한 경우 설치 프로세스는 애플리케이션을 설치하기 전에 .NET Framework 설치합니다. Microsoft .NET Framework 3.0은 Whether.NET Framework 2.0이 설치되어 있는지 차례로 확인합니다. 그렇지 않은 경우 설치 프로세스는 사용자에게 이전 버전의 .NET Framework 설치하라는 메시지를 표시합니다.

애플리케이션의 설치 프로세스에 .NET Framework 3.0을 포함하려면 설치 프로젝트를 만드는 컴퓨터에 .NET Framework 3.0용 선택적 Visual Studio 확장을 설치해야 합니다.

.NET Framework 3.0용 Visual Studio 확장이 설치되어 있는지 확인하려면

  1. Windows 제어판 프로그램 추가 또는 제거를 클릭합니다.
  2. 프로그램 추가 또는 제거 대화 상자에서 .NET Framework 3.0용 Microsoft Visual Studio 2005 확장에 대해현재 설치된 프로그램 목록을 검사합니다.

.NET Framework 3.0용 Visual Studio 2005 확장이 나열되지 않은 경우 Microsoft 다운로드 센터의 Microsoft Visual Studio Code 이름 "Orcas" 커뮤니티 기술 미리 보기 – WinFX용 개발 도구 페이지에서 사용할 수 있는 WinFX용 개발 도구의 일부로 확장 패키지를 다운로드하고 설치할 수 있습니다.

컴퓨터에 .NET Framework 3.0용 Visual Studio 확장 패키지가 설치되어 있다고 확신하는 경우 .NET Framework 3.0을 포함하는 설치 프로젝트를 만들 수 있습니다.

설치 프로젝트에 .NET Framework 3.0을 포함하려면

  1. Visual Studio 2005에서 다음 단계에 따라 새 설치 프로젝트를 만듭니다.

    1. 파일 메뉴에서 새로 만들기를 클릭한 다음 프로젝트를 클릭합니다.
    2. 다른 프로젝트 형식에서 설정 및 배포를 선택합니다.
    3. 프로젝트 이름을 지정하고 확인을 클릭합니다.
  2. 프로젝트 출력, 병합 모듈, 파일 및 어셈블리를 추가합니다.

  3. 솔루션 탐색기 프로젝트 이름을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

    속성 페이지 대화 상자가 표시됩니다.

  4. 필수 구성 요소를 클릭합니다.

  5. 설치 프로그램 만들기를 선택하여 필수 구성 요소 검사 설치 상자를 선택합니다.

  6. 목록에서 Microsoft .NET Framework 3.0을 찾은 다음 대상 플랫폼에 적합한 버전을 선택합니다.

  7. 필수 구성 요소의 원본 위치를 지정합니다.

    .NET Framework 3.0의 위치에 대해 Windows Vista 다운로드 사이트 또는 고유한 사이트를 지정할 수 있습니다. URL은 자체 애플리케이션이 배포되는 CD를 지정할 수도 있습니다.

  8. 확인을 클릭합니다.

사용자가 수동으로 .NET Framework 설치

경우에 따라 애플리케이션에 .NET Framework 3.0을 자동으로 설치하는 것은 실용적이지 않을 수 있습니다. 이 경우 사용자가 .NET Framework를 직접 설치하도록 할 수 있습니다. 재배포 가능 패키지는 The.NET Framework 3.0 재배포 가능 패키지의 앞부분에서 설명한 대로 여러 원본에서 사용할 수 있습니다. 그러나 애플리케이션 사용자가 애플리케이션을 가져올 위치 또는 설치 방법을 알고 있다고 가정해서는 안 됩니다. .NET Framework를 찾아서 설치하는 방법에 대한 지침을 설치 프로세스에서 제공하는 것이 좋습니다.

애플리케이션 설정에서 재배포 가능 패키지 연결

Visual Studio 설치 프로젝트를 만들지 않거나 사용자가 .NET Framework 3.0을 수동으로 설치하도록 하려는 경우 자체 애플리케이션 설정의 일부로 .NET Framework 3.0 설치 프로세스를 연결할 수 있습니다. .NET Framework 3.0 설치 프로세스를 연결하려면 명령줄에서 재배포 가능 파일을 실행하고 다음 자동 설치 명령줄 옵션을 사용할 수 있습니다.

/q /norestart

웹 애플리케이션용 .NET Framework 3.0 재배포

.NET Framework 3.0 기능을 사용하는 웹 기반 애플리케이션에서는 .NET Framework 다운로드하여 사용자의 컴퓨터에 설치해야 할 수 있습니다. 브라우저 헤더에서 사용자 에이전트 문자열을 쿼리하여 .NET Framework 3.0이 사용자의 컴퓨터에 설치되어 있는지 여부를 확인할 수 있습니다. 올바른 버전의 .NET Framework 설치되지 않은 경우 .NET Framework 3.0 다운로드 센터로 사용자를 안내하여 .NET Framework 3.0 패키지를 가져올 수 있습니다.

Microsoft .NET Framework 3.0 검색

레지스트리 키를 읽고 인터넷 Explorer 사용자 에이전트 문자열을 쿼리하여 .NET Framework 3.0이 설치되어 있는지 검색할 수 있습니다.

레지스트리 키 읽기

.NET Framework 3.0 설치 관리자는 설치에 성공하면 레지스트리 키를 씁니다. 다음 표에 나열된 레지스트리 키를 확인하여 Framework 3.0이 설치된 whether.NET 테스트할 수 있습니다.

레지스트리 키 이름
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup
이름: InstallSuccess

형식: DWORD

Data: 1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
이름: Version

형식: REG_SZ

Data: .NET CLR 3.0.build number

인터넷 Explorer 사용자 에이전트 문자열 읽기

.NET Framework 3.0이 컴퓨터에 설치되면 .NET Framework 3.0 버전 번호가 브라우저 헤더에 보고된 사용자 에이전트 문자열의 일부로 표시됩니다. 다음 예제에서는 JavaScript를 사용하여 Framework 3.0이 설치된 whether.NET 검색하고 보고하는 샘플 페이지를 보여줍니다.

참고 이 샘플 페이지에는 인터넷 Explorer 필요합니다.

<HTML>
  <HEAD>
    <TITLE>Test for .NET Framework 3.0</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var NETFX3RuntimeVersion = "3.0.50727";
    
    function window::onload()
    {
      if (HasRuntimeVersion(NETFX3RuntimeVersion))
      {
result.innerText = "This machine has the correct version of the .NET 
Framework 3.0 runtime: " + NETFX3RuntimeVersion + "."  + "\n\nThis 
machine's userAgent string is: " + navigator.userAgent + ".";
      } 
      else
      {
        document.write("The .NET Framework version 3.0 is not installed on this computer.<br/>"
+ "<a href='https://msdn.microsoft.com/windowsvista/default.aspx'>"
+ "Click here to get</a> .NET Framework 3.0 now.");      }
    }
    
    //
    // Retrieve the version from the user agent string and compare with specified version.
    //
    function HasRuntimeVersion(versionToCheck)
    {
      var userAgentString = navigator.userAgent.match(/.NET Framework 3.0 RunTime [0-9.]+/g);

      if (userAgentString != null)
      {
        var i;

        for (i = 0; i < userAgentString.length; ++i)
        {
          if (CompareVersions(GetVersion(versionToCheck), GetVersion(userAgentString[i])) <= 0)
            return true;
        }
      }

      return false;
    }

    //
    // Extract the numeric part of the version string.
    //
    function GetVersion(versionString)
    {
      var numericString = versionString.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i);
      return numericString.slice(1);
    }

    //
    // Compare the version strings by converting them to numeric format.
    //
    function CompareVersions(version1, version2)
    {
      for (i = 0; i < version1.length; ++i)
      {
        var number1 = new Number(version1[i]);
        var number2 = new Number(version2[i]);

        if (number1 < number2)
          return -1;

        if (number1 > number2)
          return 1;
      }

      return 0;
    }
    
    -->
    </SCRIPT>
  </HEAD>
  
  <BODY>
    <div id="result" />
  </BODY>
</HTML>

".NET Framework 3.0" 문자열을 검색하는 데 성공하면 다음 메시지가 표시됩니다.

This machine has the correct version of the .NET Framework 3.0: 3.0.50727.
This machine's userAgent string is: Mozilla/4.0 (compatible; MSIE 6.0; 
Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 
3.0.50727).

그렇지 않으면 다음 메시지가 나타납니다.

The .NET Framework version 3.0 is not installed on this computer.
Click here to get the .NET Framework 3.0 now.

.NET Framework 3.0 재배포 가능 패키지에 대한 명령줄 옵션

다음 표에서는 명령줄에서 .NET Framework 3.0 재배포 가능 설치 프로그램(Dotnetfx3.exe, Dotnetfx3_x64.exe 또는 Dotnet3setup.exe)을 실행할 때 포함할 수 있는 옵션을 나열합니다.

옵션 Description
/q
모든 UI를 표시하지 않습니다. 이 옵션을 사용하여 .INI 파일을 지정할 수 없습니다.
/quiet
/q와 동일합니다.
/qb
진행률만 표시하는 최소 UI를 표시합니다.
/passive
/qb와 동일합니다.
/uninstall
제품을 제거합니다.
/remove
/uninstall와 동일합니다.
/f
설치된 모든 .NET Framework 3.0 구성 요소를 복구합니다.
/nopatch
패치가 적용되지 않도록 지정하고 패치 검사를 무시합니다.
/norollback
설치 구성 요소가 실패할 경우 설치 프로그램을 롤백하지 않도록 지정합니다.
/norestart
설치가 완료된 후 설치 관리자가 컴퓨터를 다시 시작하지 않도록 지정합니다. 재배포 가능 설치 관리자는 다시 부팅이 필요한 경우 ERROR_SUCCESS_REBOOT_REQUIRED(3010)를 반환합니다.
/?
이 옵션 목록을 표시합니다.

.NET Framework 3.0 재배포 가능 패키지에 대한 오류 코드

다음 표에서는 .NET Framework 3.0 재배포 가능 설치 프로그램(Dotnetfx3.exe, Dotnetfx3_x64.exe 또는 Dotnet3setup.exe)에서 반환할 수 있는 오류 코드를 나열합니다. 오류 코드는 설치 관리자의 모든 버전에 대해 동일합니다.

오류 코드 Description
ERROR_SUCCESS
0 작업이 성공적으로 완료되었습니다.
ERROR_INSTALL_USEREXIT
1602 사용자가 설치를 취소했습니다.
ERROR_INSTALL_FAILURE
1603 설치하는 동안 심각한 오류가 발생했습니다.
ERROR_UNKNOWN_PRODUCT
1605 이 작업은 현재 설치된 제품에만 유효합니다.
ERROR_PATCH_PACKAGE_INVALID
1636 패치 패키지를 열 수 없거나 패치를 .NET Framework 3.0에 적용할 수 없습니다.
ERROR_INVALID_COMMAND_LINE
1639 명령줄 인수가 잘못되었습니다.
ERROR_SUCCESS_REBOOT_INITIATED
1641 설치 관리자가 다시 시작을 시작했습니다. 이는 성공을 나타내며 다시 시작한 후에도 설정이 계속됩니다. (옵션을 지정한 경우 다시 부팅이 /norestart 수행되지 않습니다.)
ERROR_PATCH_PACKAGE_REJECTED
1643 이 패치 패키지는 시스템 정책에 따라 허용되지 않습니다.
ERROR_SUCCESS_REBOOT_REQUIRED
3010 설치를 완료하려면 컴퓨터를 다시 시작해야 합니다. 이 메시지는 설치가 성공적으로 수행되었음을 의미합니다.