Side-by-side 어셈블리 사용

다음 절차를 사용 하 여 새 응용 프로그램을 개발 하거나 기존 응용 프로그램을 업데이트 하 여 Microsoft 또는 다른 side-by-side 어셈블리 게시자에서 사용할 수 있는 side-by-side 어셈블리 를 사용 합니다. 현재 Microsoft에서 제공 하는 side-by-side 어셈블리의 목록은 지원 되는 Microsoft Side-by-side 어셈블리를 참조 하세요. 어셈블리를 side-by-side 어셈블리로 설치 하려면 적어도 Windows XP에서 응용 프로그램을 실행 해야 합니다. 자세한 내용은 side-by-side 어셈블리를 만드는 방법에 대 한 지침을 참조 하세요.

응용 프로그램에 side-by-side 어셈블리를 추가 하려면

  1. 응용 프로그램에 필요한 side-by-side 어셈블리를 식별 합니다. Windows XP 부터는 이러한 side-by-side 어셈블리와 해당 어셈블리 매니페스트가 운영 체제와 함께 설치 되지만 전역적으로 등록 되지 않습니다.

  2. XML 편집기를 사용 하 여 응용 프로그램 매니페스트를 만듭니다. 아래 예제 응용 프로그램 매니페스트를 참조 하세요. 자세한 내용은 매니페스트 파일 참조응용 프로그램 매니페스트 를 참조 하세요.

  3. 응용 프로그램을 고유 하 게 정의 하는 응용 프로그램 매니페스트의 DEF 컨텍스트 assemblyIdentity 하위 요소에 특성 값을 입력 합니다. DEF 컨텍스트 assemblyIdentity 에 대 한 자세한 내용은 응용 프로그램 매니페스트를 참조 하세요.

  4. 어셈블리에 종속 어셈블리가 포함 된 경우 응용 프로그램 매니페스트의 해당 REF 컨텍스트 assemblyIdentity 하위 요소에 특성 값을 입력 합니다. REF-context assemblyIdentity 에 대 한 자세한 내용은 응용 프로그램 매니페스트를 참조 하세요.

    <dependentAssembly>
      <assemblyIdentity type="win32"
                        name="Microsoft.Windows.SampleAssembly"
                        version="6.0.0.0" processorArchitecture="x86"
                        publicKeyToken="a5aaf5ba15723d5"/>
    
  5. 응용 프로그램 매니페스트는 응용 프로그램의 이진 실행 파일 헤더 파일에 포함 될 수 있습니다.

    이 경우 응용 프로그램 헤더 파일에 다음 줄을 추가 합니다.

    CREATEPROCESS \_ 매니페스트 \_ 리소스 \_ ID RT \_ 매니페스트 "YourApp.exe .manifest"

    대신 응용 프로그램의 실행 파일과 동일한 디렉터리에 별도의 매니페스트 파일을 저장할 수 있습니다. 운영 체제는 먼저 파일 시스템에서 매니페스트를 로드 한 다음 실행 파일의 리소스 섹션을 확인 합니다. 파일 시스템 버전이 우선적으로 적용 됩니다.

  6. Windows Installer 버전 2.0을 사용 하 여 공유 어셈블리 를 설치 해야 합니다. Windows XP에서 side-by-side 공유를 위해 Win32 어셈블리를 설치 하는 방법에 설명 된 대로 Windows Installer 패키지를 작성 합니다.

  7. Windows Installer 버전 2.0을 사용 하 여 전용 어셈블리 를 설치할 수 있습니다. Windows XP의 응용 프로그램 전용 사용을 위해 Win32 어셈블리를 설치 하는 방법에 설명 된 대로 Windows Installer 패키지를 작성 합니다. 다른 설치 관리자를 사용 하 여 전용 어셈블리와 해당 매니페스트를 응용 프로그램의 실행 파일과 동일한 폴더에 복사할 수도 있습니다.

  8. 응용 프로그램을 테스트 하 여 결과를 확인 합니다. 테스트 컴퓨터에 side-by-side 어셈블리가 등록 되어서는 안 됩니다.

  9. 응용 프로그램을 배포 하거나 Windows Installer 패키지로 업데이트 합니다.

예제 응용 프로그램 매니페스트

응용 프로그램 매니페스트의 예는 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity type="win32" name="Microsoft.Windows.mysampleapp" version="1.0.0.0" processorArchitecture="x86"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.SampleAssembly" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="a5aaf5ba15723d5"/>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Tools.MyPrivateDll" version="2.5.0.0" processorArchitecture="x86"/>
    </dependentAssembly>
  </dependency>
</assembly>