사용자 지정 변환을 하위 스토리지로 포함
설치 패키지를 사용할 수 있을 때 변환을 항상 사용할 수 있도록 Windows Installer 패키지의 스토리지에 사용자 지정 변환을 저장할 수 있습니다. 포함된 변환을 참조하세요. 이 예제는 유틸리티 WiSubStg.vbs로 Windows Installer SDK에 제공됩니다. 다음 코드 조각인 Emb.vbs는 포함된 변환을 추가하기 위해 Storages 테이블을 사용하는 방법을 보여주며 Windows 스크립트 호스트에서 사용할 수 있습니다.
'Emb.vbs. Argument(0) is the original database. Argument(1) is the
' path to the transform file. Argument(2) is the name of the storage.
'
Option Explicit
' Check arguments
If WScript.Arguments.Count < 2 Then
WScript.Echo "Usage is emb.vbs [original database] [transform] [storage name]"
WScript.Quit(1)
End If
' Connect to Windows Installer object
On Error Resume Next
Dim installer : Set installer = Nothing
Set installer = Wscript.CreateObject("WindowsInstaller.Installer")
' Evaluate command-line arguments and set open and update modes
Dim databasePath: databasePath = Wscript.Arguments(0)
Dim importPath : importPath = Wscript.Arguments(1)
Dim storageName : storageName = Wscript.Arguments(2)
' Open database and create a view on the _Storages table
Dim sqlQuery : sqlQuery = "SELECT `Name`,`Data` FROM _Storages"
Dim database : Set database = installer.OpenDatabase(databasePath, 1)
Dim view : Set view = database.OpenView(sqlQuery)
'Create and Insert the row.
Dim record : Set record = installer.CreateRecord(2)
record.StringData(1) = storageName
view.Execute record
'Insert storage - copy data into stream
record.SetStream 2, importPath
view.Modify 3, record
database.Commit
Set view = Nothing
Set database = Nothing
MNPtrans1이라는 스토리지를 MNP2000.msi에 추가하고 사용자 지정 변환에 요약 정보 추가에서 만든 변환을 포함하려면 디렉터리를 Emb.vbs, 원본 데이터베이스 및 변환 파일이 포함된 폴더로 변경하고, 다음 명령줄을 입력합니다.
Cscript.exe Emb.vbs MNP2000.msi MNPtrans.mst MNPtrans1
이렇게 하면 사용자 지정 변환 예제가 완료됩니다. MNPtrans.mst에 변환을 포함하면 항상 설치 패키지에서 변환을 사용할 수 있습니다. 변환을 적용하기 위해 MNPtrans.mst 파일을 원본에 배치할 필요는 없습니다.
샘플 설치 패키지가 포함된 폴더에서 MNPtrans.mst를 제거합니다. MNP2000.msi 아이콘을 클릭하여 설치를 시작하거나 다음 명령줄을 사용합니다.
msiexec /i MNP2000.msi
이렇게 하면 사용자 지정 없이 제품이 설치됩니다. 사용자 지정을 사용하여 설치하려면 다음 명령줄을 입력합니다. 콜론을 사용하여 TRANSFORMS 속성 값이 포함된 변환을 참조함을 나타냅니다.
msiexec /i MNP2000.msi TRANSFORMS=:MNPtrans1
게이트 기능은 기능 선택 트리에 표시되지 않고 사용자 인터페이스에서 전체 설치 유형을 선택한 경우에도 게이트 기능의 구성 요소가 설치되지 않습니다.
다음 예제