编辑msi数据库表

tjd*_*bts 1 c# msbuild installer windows-installer wix

如何使用msidb.exe添加或删除msi数据库表的条目,而不是使用orca.Is有任何命令行,如下所示

msidb.exe [msipath][importingFilepath]
Run Code Online (Sandbox Code Playgroud)

添加文件后,应更新msi表中的相应条目

谢谢,

Chr*_*ter 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))
            {
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这为您提供了通过SQL查询对数据库执行任何操作的起点.