为了在MSI中自动执行某些操作,我一直在尝试使用JScript插入RemoveFile表并不断收到错误,因为没有太多错误描述,我无法弄清楚查询中的问题以及唯一的错误当我尝试使用csript进行调试时,我得到的是-2147467259 OpenView,SQL,
这是我用来插入removefile表的查询,任何人都可以帮我解决问题。
"INSERT INTO `RemoveFile` (`FileKey`, `Component_`, `FileName`, `DirProperty`, `InstallMode`) VALUES (`_142D31F52C744D6FB945F01BA06EEFB3`, `C__931358B017AE83C769F5CB9E95BD2401`, `Product version 2.0.lnk`, `DesktopFolder`, 1)
答案 0 :(得分:0)
您是否在安装程序数据库中打开了视图?
var installer = WScript.CreateObject("WindowsInstaller.Installer");
var database = installer.OpenDatabase(<your-product.msi>,
msiOpenDatabaseModeTransact);
sql = "INSERT INTO `RemoveFile` "
+ "(`FileKey`, `Component_`, `FileName`, "
+ "`DirProperty`, `InstallMode`) "
+ "VALUES ('_142D31F52C744D6FB945F01BA06EEFB3', "
+ "'C__931358B017AE83C769F5CB9E95BD2401', "
+ "'Product version 2.0.lnk', 'DesktopFolder', 1)";
view = database.OpenView(sql);
view.Execute();
view.Close();