내보내기(0) 인쇄
모두 확장

방법: 설치 및 배포 프로젝트를 사용하여 배포

이 항목에서는 설치 및 배포 프로젝트를 사용하여 배포하는 방법을 보여 줍니다. 이 배포 시나리오에 대한 배경 내용은 배포 시나리오 예제를 참조하십시오.

Visual C++ 라이브러리 DLL을 공유 어셈블리로 배포하는 절차

설치 및 배포 프로젝트 만들기

  • 파일 메뉴에서 새 프로젝트를 클릭하고 기타 프로젝트 형식 노드를 연 다음 설치 및 배포를 선택하고 설치 프로젝트를 클릭합니다. 이름을 입력하고 확인을 클릭합니다.

    Note참고

    Visual C++ Express에서는 설치 프로젝트가 지원되지 않습니다. Visual C++ Express로 빌드한 응용 프로그램과 함께 Visual C++ 라이브러리를 다시 배포하려면 Visual C++ 재배포 가능 패키지를 사용해야 합니다. 자세한 내용은 방법: XCopy를 사용하여 배포를 참조하십시오.

프로젝트에 EXE 및 DLL을 추가하고 대상 컴퓨터에서 설치 위치 지정

  1. 프로젝트 메뉴에서 추가를 선택하고 파일을 클릭합니다.

  2. MyApplication.exe 및 MyLibrary.DLL이 포함된 폴더를 찾고 두 폴더를 모두 선택합니다.

  3. 파일 시스템 창에서 응용 프로그램 폴더를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 만들기를 클릭하여 새 폴더를 만듭니다. 이름을 MyLibrary로 지정합니다.

  4. 응용 프로그램 폴더를 다시 클릭하고 MyLibrary.DLL을 선택한 다음 MyLibrary 폴더로 끌어 놓습니다. 솔루션 탐색기에서 프로젝트 아래의 발견된 종속성에서 Visual Studio가 MFC80.dll 및 MSVCR80.dll에 대한 종속성을 감지하는 것을 확인할 수 있습니다. 이들 DLL에 해당하는 병합 모듈을 추가해야 합니다.

  5. 프로젝트 메뉴에서 추가를 가리킨 다음 병합 모듈을 클릭합니다. Microsoft_VC80_CRT_x86.msm 및 Microsoft_VC80_MFC_x86.msm을 선택하고 확인을 클릭합니다.

    Note참고

    이들 병합 모듈의 디버그 버전의 이름은 Microsoft_VC80_DebugCRT_x86.msm 및 Microsoft_VC80_DebugMFC_x86.msm입니다.

    64비트 운영 체제에 64비트 응용 프로그램을 배포하는 경우에는 해당 플랫폼의 병합 모듈을 선택합니다. x64의 경우 Microsoft_VC80_CRT_x86_x64.msm 및 Microsoft_VC80_MFC_x86_x64.msm을 선택하고, Itanium의 경우 Microsoft_VC80_CRT_x86_ia64.msm 및 Microsoft_VC80_MFC_x86_ia64.msm을 선택합니다.

setup.exe 빌드

  • 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

setup.exe 실행

  • 응용 프로그램이 지정한 대상 폴더에 설치됩니다.

  • 병합 모듈은 CRT 및 MFC 어셈블리를 공유 side-by-side 어셈블리로 설치합니다. %WINDIR%\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50613.12800_x-ww_b7acac55\ 및 %WINDIR%\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50613.12800_x-ww_88931f5a\ 폴더를 검사하면 이를 확인할 수 있습니다.

  • 응용 프로그램 및 DLL에서는 런타임에 CRT 및 MFC 어셈블리를 사용합니다. MyApplication.exe에서 Mylibrary.Dll을 찾을 수 있도록 PATH 환경 변수에 %TARGET%\MyLibrary를 추가해야 합니다. 또는 이 DLL을 side-by-side 어셈블리로 다시 빌드할 수도 있습니다.

매니페스트 기반 바인딩을 지원하지 않는 운영 체제(Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows 2000)에서는 다음과 같은 동작이 발생합니다.

  • 응용 프로그램이 지정한 대상 폴더에 설치됩니다.

  • 병합 모듈에서 CRT 및 MFC 어셈블리를 다음과 같은 두 위치에 설치합니다.

    • %WINDIR%\System32 - 이 위치에 설치하면 매니페스트 기반 바인딩을 지원하지 않는 운영 체제에서도 응용 프로그램이 실행됩니다.

    • %WINDIR%\WinSxS(Windows XP Home Edition, Windows XP Professional, Windows Server 2003과 유사) - 이 위치에 설치하면 운영 체제가 Windows XP Home Edition, Windows XP Professional, Windows Server 2003으로 업그레이드되어도 응용 프로그램이 실행되고 WinSxS의 DLL을 사용하기 시작합니다. System32에 있는 DLL은 Windows Upgrade에서 이미 설치된 응용 프로그램에 운영 체제 업그레이드를 알리는 과정에서 제거됩니다.

  • 응용 프로그램 및 DLL에서는 런타임에 System32에 있는 CRT 및 MFC DLL을 사용합니다.

Visual C++ 라이브러리 DLL을 전용 어셈블리로 배포하는 절차

설치 및 배포 프로젝트 만들기

  • 파일 메뉴에서 새 프로젝트를 클릭하고 기타 프로젝트 형식 노드를 연 다음 설치 및 배포를 선택하고 설치 프로젝트를 클릭합니다. 이름을 지정하고 확인을 클릭합니다.

프로젝트에 EXE 및 DLL을 추가하고 대상 컴퓨터에서 설치 위치 지정

  1. 프로젝트 메뉴에서 추가를 선택하고 파일을 클릭합니다.

  2. MyApplication.exe 및 MyLibrary.DLL이 포함된 폴더를 찾고 두 폴더를 모두 선택합니다.

  3. 파일 시스템 창에서 응용 프로그램 폴더를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 만들기를 클릭하여 새 폴더를 만듭니다. 이름을 MyLibrary로 지정합니다.

  4. 응용 프로그램 폴더를 다시 클릭하고 MyLibrary.DLL을 선택한 다음 MyLibrary 폴더로 끌어 놓습니다. 솔루션 탐색기에서 프로젝트 아래의 발견된 종속성에서 Visual Studio가 MFC80.dll 및 MSVCR80.dll에 대한 종속성을 감지하는 것을 확인할 수 있습니다. \vc\redist 폴더에서 이들 어셈블리에 해당하는 폴더를 추가해야 합니다.

    Note참고

    디버그 빌드의 경우 \vc\redist\debug_nonredist를 사용합니다.

  5. Windows 탐색기에서 %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86을 엽니다.

  6. Ctrl 키를 누른 채로 Microsoft.VC80.CRT 및 Microsoft.VC80.MFC 폴더를 클릭합니다. 이들 폴더를 Visual Studio로 끌어서 응용 프로그램 폴더에 놓습니다.

  7. 7단계를 반복하되 이번에는 폴더를 MyLibrary 폴더로 끌어 놓습니다.

    Visual Studio에서 병합 모듈의 일부인 DLL을 포함한다는 메시지가 표시됩니다. 이것은 의도된 작업이므로 아니요를 클릭하여 이 DLL에 대한 MSM을 사용하지 않도록 지정합니다.

    mfcm80.dll 및 유니코드 버전인 mfcm80u.dll은 MFC/Winforms 통합을 수행하는 경우에만 필요합니다. 기타 경우에는 설치에서 이들 DLL을 제거할 수 있습니다.

    msvcm80.dll은 응용 프로그램에서 관리 코드를 사용하는 경우에만 필요합니다. 예를 들면 프로젝트가 /clr 또는 /clr:pure로 빌드된 경우입니다.

    설치 프로젝트에 mfcm80.dll, mfcm80u.dll 또는 msvcm80.dll이 포함된 경우 .NET Framework가 설치되어 있어야 합니다. 대상 컴퓨터에 .NET Framework 2.0이 설치되어 있지 않으면 설치가 작동하지 않습니다.

    디버그 설치의 경우 위 단계에서 CRT를 DebugCRT로, MFC를 DebugMFC로 변경합니다.

    64비트 운영 체제에 64비트 응용 프로그램을 배포하는 경우 \vc\redist\amd64 또는 \vc\redist\ia64를 사용합니다.

setup.exe 빌드

  • 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

setup.exe 실행

  • 응용 프로그램이 지정한 대상 폴더에 설치됩니다.

  • 응용 프로그램 및 DLL에서는 런타임에 Microsoft.VC80.CRT 및 Microsoft.VC80.MFC 폴더에 있는 CRT 및 MFC 어셈블리를 사용합니다.

매니페스트 기반 바인딩을 지원하지 않는 운영 체제(Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows 2000)에서는 이 배포 방법을 사용하지 않는 것이 좋습니다. 대신 MSM을 사용하는 것이 좋습니다. 설치를 시도하면 다음과 같은 동작이 발생합니다.

  • 응용 프로그램이 지정한 대상 폴더에 설치됩니다.

  • 기본적으로 운영 체제 로더에서는 CRT 및 MFC DLL을 찾지 못합니다. PATH에 Microsoft.VC80.CRT 및 Microsoft.VC80.MFC를 추가해야 합니다.

Note참고

MSM을 사용하면 대상 컴퓨터의 운영 체제에 따라 사용자 지정 단계를 수행할 수 있습니다. 매니페스트 기반 바인딩을 지원하지 않는 운영 체제의 PATH에만 이들 디렉터리를 추가하는 것이 좋습니다. 즉, Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition 및 Windows 2000에는 추가하고 Windows XP Home Edition, Windows XP Professional, Windows Server 2003에는 추가하지 않습니다.

참고 항목

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft