生成自定义转换
可以使用 MsiDatabaseGenerateTransform 或 Database 对象的 GenerateTransform 方法生成转换文件。 Windows Installer SDK 中以实用工具 WiGenXfm.vbs 的形式提供了这方面的示例。 下面的代码片段 Gen.vbs 也说明了 GenerateTransform 方法的使用,并用于 Windows 脚本宿主。
'Gen.vbs. Argument(0) is the original database. Argument(1) is the
' customized database. Argument(2) is the transform file.
Option Explicit
' Check arguments
If WScript.Arguments.Count < 2 Then
WScript.Echo "Usage is gen.vbs [original database] [customized database] [transform file]"
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")
' Open databases
Dim database1 : Set database1 =
installer.OpenDatabase(Wscript.Arguments(0), 0)
Dim database2 : Set database2 =
installer.OpenDatabase(Wscript.Arguments(1), 0)
' Generate transform
Dim transform : transform = Database2.GenerateTransform(Database1,
Wscript.Arguments(2))
若要从原始 MNP2000.msi 数据库以及在自定义原始数据库中修改的 MNP2000t.msi 数据库生成转换文件 MNPtrans.mst,请将目录更改为包含 Gen.vbs、原始数据库和更新的安装程序数据库的文件夹,然后输入以下命令行。
Cscript.exe Gen.vbs MNP2000.msi MNP2000t.msi MNPtrans.mst