不确定如何通过脚本、代码等实现自动化,但在任何情况下,都可以通过
Windows Installer SDK
,我相信它现在是Windows SDK的一部分(以前是平台SDK)。
不管怎样,这里有一个VBScript,我过去曾用它手动将文件添加到MSI中。已经有一段时间了,但我只是在MSI上运行它进行测试,并用Orca进行了验证,程序集被添加到了二进制表中。这会给你指明正确的方向。
Option Explicit
Const msiOpenDatabaseModeTransact = 1
Const msiViewModifyAssign = 3
Dim installer : Set installer = Nothing
Set installer = Wscript.CreateObject("WindowsInstaller.Installer")
Dim sqlQuery : sqlQuery = "SELECT `Name`,`Data` FROM Binary"
Dim database : Set database = installer.OpenDatabase("YourInstallerFile.msi", msiOpenDatabaseModeTransact)
Dim view : Set view = database.OpenView(sqlQuery)
Dim record
Set record = installer.CreateRecord(2)
record.StringData(1) = "InstallUtil"
view.Execute record
record.SetStream 2, "InstallUtilLib.dll"
view.Modify msiViewModifyAssign, record
database.Commit
Set view = Nothing
Set database = Nothing
希望这有帮助!