Menyematkan Transformasi Kustomisasi sebagai Substorage

Anda dapat menyimpan transformasi kustomisasi dalam penyimpanan paket Pemasang Windows untuk menjamin bahwa transformasi selalu tersedia ketika paket penginstalan tersedia. Lihat Transformasi Tersemat. Contoh ini disediakan di Windows Installer SDK sebagai utilitas WiSubStg.vbs. Cuplikan berikut, Emb.vbs, juga mengilustrasikan penggunaan tabel Penyimpanan untuk menambahkan transformasi yang disematkan dan digunakan dengan Windows Script Host.

'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

Untuk menambahkan penyimpanan bernama MNPtrans1 ke MNP2000.msi, dan berisi transformasi yang Anda buat di Menambahkan Informasi Ringkasan ke Transformasi Kustomisasi, ubah direktori ke folder yang berisi Emb.vbs, database asli, dan file transformasi, lalu masukkan baris perintah berikut.

Cscript.exe Emb.vbs MNP2000.msi MNPtrans.mst MNPtrans1

Ini menyelesaikan contoh transformasi kustomisasi. Setelah menyematkan transformasi di MNPtrans.mst, transformasi selalu tersedia dengan paket penginstalan. File MNPtrans.mst tidak perlu berada di sumber untuk menerapkan transformasi.

Hapus MNPtrans.mst dari folder yang berisi paket instalasi sampel. Klik ikon MNP2000.msi untuk meluncurkan penginstalan atau gunakan baris perintah berikut.

MNP2000.msimsiexec /i

Perhatikan bahwa ini menginstal produk tanpa penyesuaian. Untuk menginstal dengan kustomisasi, masukkan baris perintah berikut. Gunakan titik dua untuk menunjukkan bahwa nilai Properti TRANSFORMS mengacu pada transformasi yang disematkan.

msiexec /i MNP2000.msi TRANSFORMS=:MNPtrans1

Perhatikan bahwa fitur Gerbang tidak muncul di pohon pemilihan fitur dan bahwa komponen fitur Gerbang tidak diinstal meskipun jenis penginstalan Lengkap dipilih di antarmuka pengguna.

Contoh berikutnya

Contoh Patching Pembaruan Kecil