Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode armazenar a transformação de personalização em um armazenamento do pacote do Windows Installer para garantir que a transformação esteja sempre disponível quando o pacote de instalação estiver disponível. Consulte Transformações incorporadas. Um exemplo disso é fornecido no SDK do Windows Installer como o utilitário WiSubStg.vbs. O trecho a seguir, Emb.vbs, também ilustra o uso da tabela Storages para adicionar uma transformação incorporada e é para uso com o 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
Para adicionar um armazenamento chamado MNPtrans1 ao MNP2000.msi, e que contém a transformação criada em , em "Adicionando Informações de Resumo à Transformação de Personalização", altere os diretórios para a pasta que contém Emb.vbs, o banco de dados original e o arquivo de transformação, e insira a seguinte linha de comando.
Cscript.exe Emb.vbs MNP2000.msi MNPtrans.mst MNPtrans1
Isso completa o exemplo de transformação de personalização. Depois de incorporar a transformação no MNPtrans.mst, a transformação está sempre disponível com o pacote de instalação. O arquivo MNPtrans.mst não precisa estar localizado na origem para aplicar a transformação.
Remova MNPtrans.mst da pasta que contém o pacote de instalação de exemplo. Clique no ícone MNP2000.msi para iniciar uma instalação ou use a seguinte linha de comando.
msiexec /i MNP2000.msi
Observe que isso instala o produto sem as personalizações. Para instalar com as personalizações, digite a seguinte linha de comando. Use dois pontos para indicar que o valor da propriedade TRANSFORMS refere-se a uma transformação incorporada.
msiexec /i MNP2000.msi TRANSFORMS=:MNPtrans1
Observe que o recurso Gate não aparece na árvore de seleção de recursos e que os componentes do recurso Gate não são instalados, mesmo que um tipo completo de instalação esteja selecionado na interface do usuário.
Próximo exemplo
Um pequeno exemplo de correção de atualização