Hello Guys,
My Code:
private void button3_Click(object sender, EventArgs e)
{
FileInfo msiFile = new FileInfo(@"C:\temp\WinInstaller\Sample.msi");
WindowsInstaller.Installer inst = (WindowsInstaller.Installer)new Installer();
Database instDb = inst.OpenDatabase(msiFile.FullName, WindowsInstaller.MsiOpenDatabaseMode.msiOpenDatabaseModeTransact);
WindowsInstaller.View view = instDb.OpenView("DELETE FROM `Registry` WHERE `Registry`.`Root`='1'");
view.Execute(null);
view.Close();
instDb.Commit();
}
Am trying to delete a row in "Registry" table in MSI Database:
Registry (s72) Root (i2) Name (L255) Value (L0)
69ADA5050611 1 PATH C:\Program Files\Sample\
Am successfully in deleting the row with the below combination (tired seperatly with every command)
WindowsInstaller.View view = instDb.OpenView("DELETE FROM `Registry` WHERE `Registry`.`Registry`='69ADA5050611'");
WindowsInstaller.View view = instDb.OpenView("DELETE FROM `Registry` WHERE `Registry`.`Name`='PATH'");
WindowsInstaller.View view = instDb.OpenView("DELETE FROM `Registry` WHERE `Registry`.`Value`='C:\Program Files\Sample\'");
But i want to delete the row using "Root" as refernce, am getting error when i use the below command.
WindowsInstaller.View view = instDb.OpenView("DELETE FROM `Registry` WHERE `Registry`.`Root`='1"); --- Getting error when i use Root as reference for deleting row
I get runtime error for the above line "COMException was unhandled OpenView,Sql"
How to delete the row using Root as reference.
Please suggest.
Cheers,