问题描述
Hello Guys,
尝试通过转换(MST)文件更新MSI数据库。使用下面的代码。
[code]
WindowsInstaller.Installer inst =(WindowsInstaller.Installer)new Installer();
数据库instDb = inst.OpenDatabase(MSIFile.FullName,WindowsInstaller.MsiOpenDatabaseMode.msiOpenDatabaseModeReadOnly);
instDb.ApplyTransform( MSTpath,MsiTransformError.msiTransformErrorViewTransform);
WindowsInstaller.View view1 = instDb.OpenView(INSERT INTO`Registry`(`Registry`,`Root`,`Key` ,`Name`,`Value`,`Component_`)VALUES('+ Registry1 +','+ Root +','+ Key +','+ Name1 +','+ Value1 +','+ Component +'));
view1.Execute(null);
view1.Close();
instDb.Commit();
[/ code]
当我在包含instDb.ApplyTransform(MSTpath,MsiTransformError.ms)之前尝试MSI数据库时iTransformErrorViewTransform);
它适用于MSI,价值在MSI数据库中更新,
但我在上面的行中遇到错误代码
我错过了什么吗?请协助。
Hello Guys,
Am trying to update the MSI database via a transforms (MST) file. using below code.
[code]
WindowsInstaller.Installer inst = (WindowsInstaller.Installer)new Installer();
Database instDb = inst.OpenDatabase(MSIFile.FullName, WindowsInstaller.MsiOpenDatabaseMode.msiOpenDatabaseModeReadOnly);
instDb.ApplyTransform(MSTpath, MsiTransformError.msiTransformErrorViewTransform);
WindowsInstaller.View view1 = instDb.OpenView("INSERT INTO `Registry`(`Registry`,`Root`,`Key`,`Name`,`Value`,`Component_`) VALUES('" + Registry1 + "', '" + Root + "', '" + Key + "', '" + Name1 + "', '" + Value1 + "', '" + Component + "')");
view1.Execute(null);
view1.Close();
instDb.Commit();
[/code]
When i try for MSI database before including instDb.ApplyTransform(MSTpath, MsiTransformError.msiTransformErrorViewTransform);
it worked fine for MSI, the values got updated in the MSI database,
But i face error in the above line of code.
Am i missing something ? please assist.
这篇关于更新MST数据库时出错 - 请协助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!