Существует одна вещь иметь в виду.
Mysqli не поддерживает fetch_assoc () функция, которая возвратила бы столбцы с ключами, представляющими имена столбцов. Конечно, возможно записать Вашу собственную функцию, чтобы сделать это, это даже не очень длинно, но я имел действительно трудное время, пишущий его (для неверующих: если это кажется легким Вам, попробуйте его самостоятельно некоторое время и не обманывайте:))
Пример VBScript, который можно использовать для обновления (или добавления) свойства после сборки ...
Option Explicit
Const MSI_FILE = "myfile.msi"
Dim installer, database, view
Set installer = CreateObject("WindowsInstaller.Installer")
Set database = installer.OpenDatabase (MSI_FILE, 1)
' Update
Set view = database.OpenView ("UPDATE Property SET Value = '" & myproperty & "' WHERE Property = 'MYPROPERTY'")
' .. or Add (Insert)
Set view = database.OpenView ("INSERT INTO Property (Property, Value) VALUES ('MYPROPERTY', '" & myproperty & "')")
view.Execute
Set database = Nothing
Set installer = Nothing
Set view = Nothing
Для получения дополнительной информации ознакомьтесь с SDK установщика Windows ( часть Windows SDK ), есть несколько примеров сценариев, которые вы можете использовать из командной строки для выполнения различных задач, связанных с MSI, например WiRunSQL.vbs
позволяет выполнять произвольный SQL против MSI.
c:\> msiexec /i yourmsi.msi THEPROPERTYNAME=valueofproperty
Для получения дополнительных сведений введите в командной строке msiexec.
РЕДАКТИРОВАТЬ: или измените сам файл .msi, используя операторы sql и обновив свойство в таблице свойств: http://msdn.microsoft.com/en-us/library/aa372021 (VS.85) .aspx http://msdn.microsoft.com/en-us/library/aa368568 (VS. 85) .aspx