如何使用msidb.exe添加或删除msi数据库表的条目,而不是使用orca.Is有任何命令行,如下所示
msidb.exe [msipath][importingFilepath]
添加文件后,应更新msi表中的相应条目
谢谢,
答案 0 :(得分:5)
我假设您希望在C#中执行此操作,因为您包含了C#标记。 WiX有一个名为Deployment Tools Foundation的组件(DTF - 你会在开始菜单中找到它和SDK chm),它提供了一个出色的MSI互操作。
考虑一下:
using Microsoft.Deployment.WindowsInstaller;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using( var database = new Database(@"C:\test.msi", DatabaseOpenMode.Direct))
{
}
}
}
}
这为您提供了通过SQL查询对数据库执行任何操作的起点。
答案 1 :(得分:1)
虽然msidb.exe等工具能够导出和导入text archive files,但文本存档文件只能用于以下特定用途。
Windows Installer数据库的文本存档文件带有.idt文件扩展名,位于Archive File Format。
您应该使用Windows Installer表编辑工具(如Orca或第三方工具)来创建和修改安装包。