Sdílet prostřednictvím


Vložení transformačních úprav jako podúložiště

Transformaci přizpůsobení můžete uložit do úložiště balíčku Instalační služby systému Windows, abyste zajistili, že transformace bude vždy k dispozici, pokud je k dispozici instalační balíček. Viz vložené transformace. Příkladem je sada Windows Installer SDK jako nástroj WiSubStg.vbs. Následující fragment kódu Emb.vbs také ukazuje použití tabulky Storages k přidání vložené transformace a slouží k použití s hostitelem skriptů systému 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

Pokud chcete přidat úložiště s názvem MNPtrans1 do MNP2000.msi, které obsahuje transformaci, kterou jste vytvořili v části Přidání souhrnných informací do transformace přizpůsobení, změňte adresář na složku, která obsahuje Emb.vbs, původní databázi a transformační soubor, a pak zadejte následující příkaz.

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

Tímto se dokončuje úprava příkladu transformace. Po vložení transformace do MNPtrans.mst je transformace vždy k dispozici s instalačním balíčkem. Soubor MNPtrans.mst nemusí být umístěn ve zdroji pro použití transformace.

Odeberte MNPtrans.mst ze složky obsahující ukázkový instalační balíček. Kliknutím na ikonu MNP2000.msi spusťte instalaci nebo použijte následující příkazový řádek.

msiexec /i MNP2000.msi

Všimněte si, že tento produkt se nainstaluje bez přizpůsobení. Pokud chcete provést instalaci s přizpůsobením, zadejte následující příkazový řádek. Dvojtečka slouží k označení, že hodnota TRANSFORMS Vlastnost odkazuje na vloženou transformaci.

msiexec /i MNP2000.msi TRANSFORMS=:MNPtrans1

Všimněte si, že funkce Gate se nezobrazuje ve stromu výběru funkcí a že součásti funkce Gate nejsou nainstalovány, i když je v uživatelském rozhraní vybrán typ Dokončeno instalace.

Další příklad

příkladu malých oprav aktualizací