단일 패키지 작성 예제

샘플 PUASample.msi는 Windows Server 2008 r 2의 사용자별 또는 컴퓨터별 설치 컨텍스트 및 Windows 7에 설치 될 수 있는 이중 용도의 Windows Installer 5.0 패키지의 예입니다. 이 샘플 패키지는 단일 패키지 제작에 설명 된 개발 지침을 따릅니다.

샘플의 복사본 가져오기

이 샘플의 복사본과 Windows Installer 데이터베이스 테이블 편집기 Orca.exe는 Windows Installer 개발자를 위한 Windows SDK 구성 요소에 있습니다. 이 샘플 및 테이블 편집기는 Windows Server 2008 r 2 용 Windows 소프트웨어 개발 키트와 Windows 7 Windows Installer 설치 파일 PUASample1.msi 및 Orca.msi으로 제공 됩니다.

시스템 요구 사항

Orca.exe데이터베이스 편집기를 사용 하려면 Windows Server 2008 R2 이전 버전과 Windows 7 이전 버전을 사용 해야 합니다. 이중 용도 패키지 PUASample1.msi는 Windows Server 2008 r 2의 컴퓨터 단위 또는 사용자별 설치 컨텍스트와 Windows 7에 설치할 수 있습니다. PUASample1.msi는 Windows Server 2008 및 이전 버전과 Windows Vista 및 이전 버전의 컴퓨터별 컨텍스트에만 설치할 수 있습니다. 예제를 설치 하지 않고 데이터베이스 편집기를 설치 하 여 PUASample1.msi의 내용을 검사할 수 있습니다. 예제 또는 편집기 패키지를 설치 하려면 DisableMSI 정책이 응용 프로그램 설치를 차단 하는 값으로 설정 되어 있지 않은지 확인 합니다.

Dual-Purpose 패키지 식별

이중 용도의 패키지는 MSIINSTALLPERUSER 속성 값을 1로 초기화 해야 합니다. 이는 Windows Server 2008 R2 및 Windows 7의 컴퓨터별 또는 사용자별 컨텍스트에 설치할 수 있는 패키지를 식별 합니다. 단일 패키지 제작 에 설명 된 개발 지침에 따라 기록 된 경우에만 패키지의 MSIINSTALLPERUSER 속성을 설정 하 고 사용자를 사용자에 게 제공 하려는 경우에는 사용자 또는 컴퓨터별 컨텍스트를 사용 하 여 패키지를 설치할 수 있는 옵션을 제공 합니다. 또한 이중 용도의 패키지는 ALLUSERS 속성의 값을 2로 초기화 해야 합니다. 사용자 단위를 응용 프로그램의 기본 설치 컨텍스트로 지정 합니다. ALLUSERS 속성 값이 2 이외의 값 이면 Windows Installer MSIINSTALLPERUSER 속성을 무시 합니다.

Orca.exe와 같은 Windows Installer 데이터베이스 편집기를 사용 하 여 PUASample1.msi의 내용을 검사 합니다. 예제 패키지의 속성 테이블에는 다음 두 항목이 포함 되어 있습니다.

속성 테이블 (부분)

속성
ALLUSERS 2
MSIINSTALLPERUSER 1

설치 컨텍스트에 대 한 사용자 지정 대화 상자

예제 패키지의 사용자 인터페이스 에는 사용자가 설치 시 또는 컴퓨터별 설치 컨텍스트를 선택할 수 있는 사용자 지정 대화 상자 VerifyReadyDialog의 예가 포함 되어 있습니다. 대화 상자 테이블에는 VerifyReadyDialog 대화 상자를 설명 하는 레코드가 포함 되어 있습니다. 이 대화 상자는 msidbDialogAttributesVisible (1), msidbDialogAttributesModal (2), msidbDialogAttributesMinimize (4) 및 msidbDialogAttributesTrackDiskSpace (32) 대화 상자 스타일 비트를 사용 하기 때문에 특성 필드에 입력 한 값은 39입니다. 대화 상자의 제목 표시줄에 ProductName 속성 값으로 지정 된 제목이 표시 됩니다.

대화 상자 테이블 (부분)

대화 상자 HCentering VCentering 너비 높이 특성 제목 _먼저 제어 컨트롤 _ 기본값 컨트롤 _ 취소
VerifyReadyDialog 50 50 480 280 39 [ProductName] InstallPerUser 다음 취소

컨트롤 테이블에는 VerifyReadyDialog 대화 상자에 표시 되는 컨트롤 에 대 한 항목이 포함 되어 있습니다. 대화 상자에 누름 컨트롤 및 텍스트 컨트롤이 표시 됩니다. 모든 컨트롤은 msidbControlAttributesEnabled (2) 및 msidbControlAttributesVisible (1) 컨트롤 특성을 사용 합니다. InstallPerMachine 컨트롤은 또한 ElevationShield 컨트롤 특성인 msidbControlAttributesElevationShield (8388608.)를 사용 합니다. 이 컨트롤 특성은 uac ( 사용자 계정 컨트롤 ) 권한 상승 아이콘 (방패 아이콘)을 InstallPerMachine 컨트롤에 추가 하 고 사용자에 게 컴퓨터 단위 컨텍스트에 응용 프로그램을 설치 하는 데 uac 자격 증명이 필요 함을 사용자에 게 알립니다. 컨트롤 테이블의 텍스트 필드에 있는 값은 컨트롤에 의해 표시 되는 텍스트 스타일 및 텍스트입니다. 미리 정의 된 스타일을 사용 하 여 컨트롤에 텍스트를 추가 하는 방법에 대 한 자세한 내용은 컨트롤 테이블 항목의 텍스트 필드에 대 한 설명을 참조 하세요.

컨트롤 테이블 (부분)

대화 상자_ 제어 형식 attribute 텍스트 _다음 컨트롤
VerifyReadyDialog 취소 단추 3 { \ Tahoma10} &취소 다음
VerifyReadyDialog 이전 단추 3 { \ Tahoma10} <<&이전 취소
VerifyReadyDialog 다음 단추 3 { \ Tahoma10} &다음 >> InstallPerUser
VerifyReadyDialog Text2 텍스트 3 일시 중단 된 설치를 완료할 준비가 되셨습니까?
VerifyReadyDialog InstallPerUser 단추 3 { \ Tahoma10} &에만 설치 InstallPerMachine
VerifyReadyDialog InstallPerMachine 단추 8388611 \&Everyone 용 {Tahoma10} 설치 이전
VerifyReadyDialog 취소 단추 3 { \ Tahoma10} &취소 다음

ControlEvent 테이블은 사용자가 컨트롤과 상호 작용할 때 설치 관리자가 수행 하는 ControlEvents또는 작업을 지정 합니다. 사용자가 InstallPerUser 누름 단추를 활성화 하면 사용자 인터페이스는 OutOfDiskSpace 속성이 1 인 경우 OutOfDisk 대화 상자를 표시 하 고, MSIINSTALLPERUSER 속성의 값을 1로 설정 하 고, ALLUSERS 속성의 값을 2로 설정 하 고, msifastinstall 속성을 1로 설정 하 고,을 반환 합니다. Msifastinstall 속성이 설정 되어 있으므로 설치에 대해 시스템 복원 지점이 생성 되지 않습니다. 사용자가 InstallPerMachine 누름 단추를 활성화 하면 OutOfDiskSpace 속성이 1 이면 사용자 인터페이스가 OutOfDisk 대화 상자를 표시 하 고, ALLUSERS 속성의 값을 1로 설정 하 고,을 반환 합니다.

ControlEvent 테이블 (부분)

대화 상자_ 컨트롤_ 이벤트 인수 조건 주문
VerifyReadyDialog InstallPerUser SpawnDialog OutOfDisk OutOfDiskSpace = 1 1
VerifyReadyDialog InstallPerUser EndDialog 반환 값 OutOfDiskSpace <> 1 5
VerifyReadyDialog InstallPerUser [MSIINSTALLPERUSER] 1 1 2
VerifyReadyDialog InstallPerUser [ALLUSERS] 2 1 3
VerifyReadyDialog InstallPerMachine SpawnDialog OutOfDisk OutOfDiskSpace = 1 1
VerifyReadyDialog InstallPerMachine EndDialog 반환 값 OutOfDiskSpace <> 1 3
VerifyReadyDialog InstallPerMachine [ALLUSERS] 1 1 2
VerifyReadyDialog InstallPerUser [MSIFASTINSTALL] 1 1 4

InstallPerUser 컨트롤은 Windows Installer Windows Installer 5.0 이전 Windows Installer 버전을 사용 하 여 설치의 사용자 인터페이스에서 제거 해야 합니다. 샘플 패키지의 controlcondition 테이블에는 현재 버전이 Windows Installer 5.0 보다 작은 경우 InstallPerUser 컨트롤을 사용 하지 않도록 설정 하 고 숨기는 네 개의 항목이 포함 되어 있습니다. 이 테이블은 Versionmsi 속성의 값과 조건문 구문을 사용 하 여이 조건을 정의 합니다. 작업 필드에 지정 된 작업은 조건 필드의 문이 true 인 경우에만 수행 됩니다.

Controlcondition 테이블 (부분)

대화 상자_ 컨트롤_ 작업 조건
VerifyReadyDialog InstallPerUser 사용 VersionMsi >= "5.00"
VerifyReadyDialog InstallPerUser 사용 중지 VersionMsi < "5.00"
VerifyReadyDialog InstallPerUser 표시 VersionMsi >= "5.00"
VerifyReadyDialog InstallPerUser 숨기기 VersionMsi < "5.00"

디렉터리 구조 지정

데이터베이스 편집기를 사용 하 여 PUASample1.msi의 디렉터리 테이블을 검사할 수 있습니다. 디렉터리 부모 필드에 빈 문자열이 있는 디렉터리 테이블의 레코드는 _ 원본 및 대상 디렉터리 트리의 루트 디렉터리를 나타냅니다. TARGETDIR 속성이 정의 되어 있지 않은 경우 설치 관리자는 설치 시에 rootdrive 속성 값으로 해당 값을 설정 합니다. SourceDir 속성이 정의 되지 않은 경우 설치 관리자는 Windows Installer 패키지를 포함 하는 디렉터리의 위치 (.msi 파일)로 해당 값을 설정 합니다. 디렉터리 이름은 짧은 긴 형식을 사용 하 여 지정 됩니다 | .

디렉터리 테이블 (부분)

디렉터리 _부모 디렉터리 DefaultDir
TARGETDIR SourceDir
ProgramFilesFolder TARGETDIR .
프로그래밍 Menufolder TARGETDIR .
INSTALLLOCATION MyVendor Sample1 | MSDN-PUASample1
MyVendor ProgramFilesFolder Msft | Microsoft

원본에서이 디렉터리 테이블은 다음 디렉터리 경로로 확인 됩니다.

\[SourceDir \] \\ Msft \\ Sample1 \[SourceDir\]

대상에서 디렉터리 테이블은 다음 표의 경로를 확인 합니다. 설치 관리자는 ProgramFilesFolder 및 프로그래밍 기능 폴더 속성의 값을 설치 컨텍스트에 따라 달라 지는 위치로 설정 하 고, 시스템이 Windows Server 2008 r 2와 Windows 7의 32 비트 또는 64 비트 버전 인지 여부를 설정 합니다. 대상 폴더에 대 한 경로는 사용자가 사용자별 또는 컴퓨터별 설치를 선택 하는지에 따라 달라 집니다.

설치 컨텍스트 시스템 예제 경로
Per-Machine Windows Server 2008 R2 및 Windows 7
32 비트 버전
% ProgramFiles% \ Msft \ Sample1
% allusers profile% \ Microsoft \ Windows \ 시작 메뉴 \ 프로그램
Per-Machine Windows Server 2008 R2 및 Windows 7
64 비트 버전
% ProgramFiles (x86)% \ Msft \ Sample1
% allusers profile% \ Microsoft \ Windows \ 시작 메뉴 \ 프로그램
Per-User Windows Server 2008 R2 및 Windows 7
32 비트 또는 64 비트 버전
% USERPROFILE% \ AppData \ Local \ 프로그램 \ Msft \ Sample1
% APPDATA% \ Microsoft \ Windows \ 시작 메뉴 \ 프로그램

사용자 단위 응용 프로그램은 ProgramFilesFolder 속성 값으로 지정 된 프로그램 폴더 아래의 하위 폴더에 저장 해야 합니다. 일반적으로 응용 프로그램에 대 한 경로는 다음 형식을 사용 합니다.

% LOCALAPPDATA% \ 프로그램 \ ISV 이름 \ AppName

사용자 단위 구성 데이터는 프로그래밍 기능 폴더 속성 값으로 지정 된 프로그램 폴더에 저장 해야 합니다. 일반적으로이 폴더는 다음 경로에 있습니다.

% APPDATA% \ Microsoft \ Windows \ 시작 메뉴 \ 프로그램

32 비트 Windows Installer 패키지 구성 요소를 설치 하는 경우 디렉터리 테이블에 ProgramFilesFolderCommonFilesFolder 속성을 사용 합니다. 64 비트 Windows Installer 패키지 구성 요소를 설치 하는 경우 ProgramFiles64FolderCommonFiles64Folder 속성을 사용 합니다. 응용 프로그램에 동일한 구성 요소의 32 비트 및 64 비트 버전이 포함 되어 있으면 이러한 버전이 다른 디렉터리에 저장 되거나 다른 이름을 지정 해야 합니다.

다음 디렉터리 표는 32 비트 및 64 비트 구성 요소를 포함 하 고 응용 프로그램 간에 공유 되는 일부 구성 요소를 포함 하는 패키지와 호환 되는 디렉터리 레이아웃의 예를 제공 합니다.

디렉터리 _부모 디렉터리 DefaultDir
TARGETDIR SourceDir
ProgramFilesFolder TARGETDIR :P rog32
ProgramFiles64Folder TARGETDIR :P rog64
CommonFilesFolder TARGETDIR .:Share32
CommonFiles64Folder TARGETDIR .:Share64
프로그래밍 Menufolder TARGETDIR .: Sample1 | MSDN-PUASample1
INSTALLLOCATION MyVendor Sample1 | MSDN-PUASample1
INSTALLLOCATIONX64 Vendorx64 Sample1 | MSDN-PUASample1
SHAREDLOCATION ShVendor Sample1 | MSDN-PUASample1
SHAREDLOCATIONX64 ShVendorx64 Sample1 | MSDN-PUASample1
MyVendor ProgramFilesFolder Msft | Microsoft
Vendorx64 ProgramFiles64Folder Msft | Microsoft
ShVendor CommonFilesFolder Msft | Microsoft
ShVendorx64 CommonFiles64Folder Msft | Microsoft
Shrx86 SHAREDLOCATION x32 | 32 비트 구성 요소
Shrx64 SHAREDLOCATIONX64 x64 | 64 비트 구성 요소
Binx86 INSTALLLOCATION x32 | 32비트 구성 요소
Binx64 INSTALLLOCATIONX64 x64 | 64비트 구성 요소
App32 Binx86 myapp | 공유되지 않은 32비트 구성 요소
App64 Binx64 myapp | 공유되지 않은 64비트 구성 요소
Share32 Shrx86 |공유 공유 32비트 구성 요소
Share64 Shrx64 |공유 공유 64비트 구성 요소

원본에서 이 디렉터리 테이블은 다음 디렉터리 경로로 확인됩니다.

\[SourceDir \] Prog32 \\ Msft \\ Sample1 \\ x32 \\ myapp \[SourceDir \] Share32 \\ Common Files \\ Msft \\ Sample1 \\ x32 \\ shared \[SourceDir \] Prog64 \\ Msft \\ Sample1 \\ x64 \\ myapp \[SourceDir \] Share64 \\ 공통 파일 \\ Msft \\ Sample1 \\ x64 \\ 공유 \[SourceDir \] Sample1

대상에서 이 디렉터리 테이블은 다음 디렉터리 경로로 확인됩니다. 대상 경로는 설치 컨텍스트 및 시스템에 따라 달라집니다.

설치 컨텍스트 시스템 예제 경로
Per-Machine Windows Server 2008 R2 및 Windows 7
32비트 버전
%ProgramFiles% \ Msft \ Sample1 \ x32 \ myapp
%ProgramFiles% \ Common Files \ Msft \ Sample1 \ x32 \ shared
%ProgramFiles(x86)% \ Msft \ Sample1 \ x64 \ myapp
%ProgramFiles(x86)% \ Common Files \ Msft \ Sample1 \ x64 \ shared
%ProgramData% \ Microsoft Windows 시작 메뉴 프로그램 \ \ \ \ 샘플1
Per-Machine Windows Server 2008 R2 및 Windows 7
64비트 버전
%ProgramFiles(x86)% \ Msft \ Sample1 \ x32 \ myapp
%ProgramFiles(x86)% \ Common Files \ Msft \ Sample1 \ x32 \ shared
%ProgramFiles% \ Msft \ Sample1 \ x64 \ myapp
%ProgramFiles% \ Common Files \ Msft \ Sample1 \ x64 \ shared
%ProgramData% \ Microsoft Windows 시작 메뉴 프로그램 \ \ \ \ 샘플1
Per-User Windows Server 2008 R2 및 Windows 7
32비트 또는 64비트 버전
%LOCALAPPDATA% \ Programs \ Msft \ Sample1 \ x32 \ myapp
%LOCALAPPDATA% \ Programs \ Common \ Msft \ Sample1 \ x32 \ shared
%LOCALAPPDATA% \ Programs \ Msft \ Sample1 \ x64 \ myapp
%LOCALAPPDATA% \ Programs \ Common \ Msft \ Sample1 \ x64 \ shared
%APPDATA% \ Microsoft Windows 시작 메뉴 프로그램 \ \ \ \ 샘플1

애플리케이션 등록

PUASample.msi 애플리케이션의 앱 경로 레지스트리 키에 하위 키를 추가하고 애플리케이션 정보를 이 키 아래의 레지스트리에 저장할 수 있도록 등록을 수행합니다. 앱 경로 및 애플리케이션 등록에 대한 자세한 내용은 Shell 개발자 가이드 의 셸 확장성 섹션에서 PerceivedTypes, SystemFileAssociations 및 Application Registration을 참조하세요. 설치 시 사용자는 사용자별 또는 컴퓨터별 설치 컨텍스트에서 애플리케이션을 설치하도록 결정합니다. 이중 용도 패키지를 작성할 때 패키지 개발자는 HKEY _ LOCAL MACHINE 또는 HKEY CURRENT USER 키로 등록을 수행해야 하는지 알 수 _ _ _ 없습니다.

패키지 개발자는 파일 테이블의 파일 필드에서 애플리케이션의 실행 파일에 대한 파일 식별자를 정의합니다.

파일 테이블(부분)

파일 구성 요소_ FileName FileSize 버전 언어 특성 시퀀스
MyAppFile ProductComponent PUASAMP1.EXE|PUASample1.exe 81920 0 1

레지스트리에 저장할 값은 레지스트리 테이블의 값 필드에 서식이 지정된 문자열로 지정할 수 있습니다. 파일 테이블의 파일 필드에 정의된 파일 식별자와 서식이 지정된 [ # 형식의 파일 키 규칙을 사용하여 앱 경로 ] 레지스트리 키의 기본값을 지정합니다. 최상위 INSTALL 작업은 InstallExecuteSequence 테이블의 작업을 수행합니다. 이 표의 CostInitialize, FileCostInstallFinalize 작업이 완료된 후 Windows Installer는 레지스트리 테이블의 형식이 지정된 부분string [ # MyAppFile을 ] 애플리케이션 파일의 전체 경로로 대체합니다.

이 샘플에서는 루트 키의 위치를 포함하도록 사용자 지정 속성 RegRoot를 정의하고, 사용자가 컴퓨터별 설치를 선택하는 경우 사용자 지정 작업을 사용하여 속성 값을 다시 설정합니다. 루트 위치를 참조하는 형식이 지정된 문자열 값에 사용자 지정 속성 RegRoot를 사용합니다. 속성 테이블에서 PUASample.msi 패키지는 사용자 지정 속성을 정의하고 RegRoot 값을 HKCU로 설정합니다. 이렇게 하면 사용자별 설치 컨텍스트에 대한 속성 값이 초기화됩니다. 이 속성은 이중 용도 패키지에 권장되는 기본 컨텍스트입니다.

속성 테이블(부분)

속성
RegRoot HKCU

CustomAction 테이블에서 패키지는 _ Set RegRoot HKLM이라는 사용자 지정 작업을 _ 정의합니다. 형식 필드의 값은 이를 사용자 지정 작업 유형 51 표준 사용자 지정 동작으로 식별합니다. CustomAction 테이블의 Source 및 Target 필드의 의미는 사용자 지정 작업 유형에 따라 달라집니다. 표준 유형의 사용자 지정 작업에 대한 자세한 내용은 사용자 지정 작업 유형 을 참조하세요. _RegRoot HKLM 사용자 지정 작업의 Source 필드는 _ RegRoot 속성의 값을 지정합니다. 설치 관리자가 _ RegRoot HKLM 설정 사용자 지정 작업을 수행하는 경우 _ RegRoot 속성의 값이 HKLM으로 다시 설정됩니다.

CustomAction 테이블(부분)

작업 형식 원본 대상
_RegRoot _ HKLM 설정 51 [RegRoot] HKLM

최상위 설치 작업은 해당 테이블의 sequence 필드에 지정 된 시퀀스에서 installexecutesequence 테이블의 작업을 수행 합니다. Regroot HKLM 사용자 지정 작업 (1501) 집합에 대 한 시퀀스 필드에서 작성 된 값은 _ _ installinitialize 작업 (1500) 및 processcomponents 작업 (1600) 이전에이 사용자 지정 작업을 수행 하도록 지정 합니다. 이 시퀀스는 _ _ 설치 시 regroot HKLM 사용자 지정 작업 집합의 레코드가 평가 되도록 합니다. InstallExecuteSequence 테이블의 권장 작업 시퀀스에 대 한 자세한 내용은 제안 된 installexecutesequence 항목을 참조 하세요. 조건 필드에서 작성 된 조건문 구문은 _ _ 설치 시에 ALLUSERS 속성 값이 1로 평가 되는 경우에만 regroot HKLM 작업을 수행 하도록 지정 합니다. ALLUSERS 속성 값이 1 이면 컴퓨터별 설치를 지정 합니다.

Installexecutesequence 테이블 (부분)

작업 조건 시퀀스
_Regroot _ HKLM 설정 ALLUSERS = 1 1501

레지스트리 테이블의 다음 레코드는 제품 구성 요소 구성 요소가 설치 된 경우 등록을 수행 합니다. HKEY 로컬 컴퓨터에서 사용자별 설치를 수행 하 _ _ 고 HKEY 현재 사용자를 사용 하 여 등록을 수행 하려면 루트 필드에 값-1을 사용 해야 _ _ 합니다. 레지스트리 필드에 빈 문자열을 포함 하는 레코드는 AppPaths 레지스트리 키 아래에 응용 프로그램에 대 한 하위 키를 추가 하 고 "(기본값)" 값을 응용 프로그램 실행 파일의 전체 경로로 설정 합니다. MyAppPathAlias 등록은 실행 파일을 응용 프로그램 별칭에 매핑하고 사용자가 명령줄 프롬프트에서 "puapct" 별칭을 입력 하는 경우 응용 프로그램을 시작할 수 있도록 합니다. MyAppPathRegistration 등록은 실행 파일의 이름을 파일의 전체 경로에 매핑합니다.

레지스트리 Root 이름 구성 요소
-1 소프트웨어 \ Microsoft \ MyAppPathRegistrationLocation [regroot ] \ Software \ Microsoft \ Windows \ CurrentVersion \ 앱 경로 \PUAPCT.exe 제품 구성 요소
MyAppPathAlias -1 소프트웨어 \ Microsoft \ Windows \ CurrentVersion \ 앱 경로 \PUAPCT.exe [#MyAppFile] 제품 구성 요소
MyAppPathRegistration -1 소프트웨어 \ Microsoft \ Windows \ CurrentVersion \ 앱 경로 \PUASample1.exe [#MyAppFile] 제품 구성 요소

자동 실행 취소 등록

PUASample.msi는 응용 프로그램 사용자가 선택한 장치에 대해 하드웨어 자동 실행 을 시작할 수 없도록 등록을 수행 합니다. 이벤트에 대 한 응답으로 자동 실행을 취소 하기 위해 처리기를 등록 하는 방법에 대 한 자세한 내용은 셸 개발자 가이드셸 확장성 섹션에서 자동 재생에 사용할 하드웨어 및 소프트웨어 준비 항목을 참조 하세요. 다음 레코드는 제품 구성 요소 구성 요소가 설치 될 때 이름 필드에 지정 된 처리기를 등록 합니다. 루트 필드의 값-1은 등록을 설치 컨텍스트에 따라 달라 지는 위치로 리디렉션해야 하는 Windows Installer을 지정 하는 데 필요 합니다.

레지스트리 테이블

레지스트리 Root 이름 구성 요소
MyAutoplayCancelRegistration -1 SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ autoplayhandlers \ cancelautoplay 실행 \ CLSID 66A32FE6-229D-427b-A608-D273F40C034C 제품 구성 요소

미리 보기 처리기 등록

PUASample.msi는 응용 프로그램을 시작 하지 않고 pua 파일의 읽기 전용 미리 보기를 사용 하도록 설정 하는 미리 보기 처리기 를 설치 하는 데 필요한 등록을 수행 합니다. 미리 보기 처리기를 등록 하는 방법에 대 한 자세한 내용은 셸 개발자 가이드셸 확장성 섹션에서 미리 보기 처리기 등록 항목을 참조 하세요. 레지스트리 테이블의 다음 레코드는 제품 구성 요소 구성 요소가 설치 될 때 처리기를 등록 합니다. 루트 필드의 값-1은 등록을 설치 컨텍스트에 따라 달라 지는 위치로 리디렉션해야 하는 Windows Installer을 지정 하는 데 필요 합니다.

레지스트리 테이블

레지스트리 Root 이름 구성 요소
MyPreviewHandlerRegistration1 -1 소프트웨어 \ 클래스 \ . pua puafile 제품 구성 요소
MyPreviewHandlerRegistration2 -1 Software \ Microsoft \ Windows \ CurrentVersion \ PreviewHandlers {1531d583-8375-4d3f-b5fb-d23bbd169f22} Microsoft Windows PUA 테스트 미리 보기 처리기 제품 구성 요소
MyPreviewHandlerRegistration3 -1 소프트웨어 \ 클래스 \ puafile \ ShellEx \ {8895b1c6-b41f-4c1c-a562-0d564250836f} {1531d583-8375-4d3f-b5fb-d23bbd169f22} 제품 구성 요소
MyPreviewHandlerRegistration4 -1 소프트웨어 \ 클래스 \ CLSID \ {1531d583-8375-4d3f-b5fb-d23bbd169f22} Per-User 응용 프로그램 Sample 1 Preview 처리기 제품 구성 요소
MyPreviewHandlerRegistration5 -1 소프트웨어 \ 클래스 \ CLSID \ {1531d583-8375-4d3f-b5fb-d23bbd169f22} AppID {6d2b5079-2f0b-48dd-ab7f-97cec514d30b} 제품 구성 요소
MyPreviewHandlerRegistration6 -1 소프트웨어 \ 클래스 \ CLSID \ {1531d583-8375-4d3f-b5fb-d23bbd169f22} DisplayName @shell32,-38242 제품 구성 요소
MyPreviewHandlerRegistration7 -1 소프트웨어 \ 클래스 \ CLSID \ {1531d583-8375-4d3f-b5fb-d23bbd169f22} 아이콘 notepad.exe, 2 제품 구성 요소
MyPreviewHandlerRegistration8 -1 소프트웨어 \ 클래스 \ CLSID \ {1531d583-8375-4d3f-b5fb-d23bbd169f22} \ InProcServer32 ThreadingModel 아파트로 제품 구성 요소
MyPreviewHandlerRegistration9 -1 소프트웨어 \ 클래스 \ CLSID \ {1531d583-8375-4d3f-b5fb-d23bbd169f22} \ InProcServer32 #%% SystemRoot% \ system32 \shell32.dll 제품 구성 요소
MyPreviewHandlerRegistration10 -1 소프트웨어 \ 클래스 \ CLSID \ {1531d583-8375-4d3f-b5fb-d23bbd169f22} \ InProcServer32 ProgID puafile 제품 구성 요소