插入MSI中的RemoveFile表

时间:2011-11-29 22:55:05

标签: file insert windows-installer

为了在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)

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();