使用Windows MSI文件,有没有办法在.NET代码中获取所有可能的安装参数?我需要创建一个通用的用户界面来配置直到运行时才知道的多个MSI文件 - 然后一次性安装它们。
答案 0 :(得分:1)
Windows Installer程序包是可以轻松反映的数据库。 WiX DTF有一个Microsoft.Deployment.WindowsInstaller命名空间,其中的类可以实现这一目的。从那里你只需编写你的.NET代码来处理你的所有需求,并且就像你这样做一样非常反思/插件。
有一些引导程序项目(CodePlex)执行此操作,但使用预生成的XML文件来描述MSI。
答案 1 :(得分:1)
从技术上讲,您可以在命令行上提供任何公共属性,不。您还可以使用MSI转换更新私有属性。您可以枚举现有属性(公共或私有),但无法知道安装程序本身对它们的作用。
如果您想知道如何操作,请下载Windows SDK。其中包含大量VBS脚本,其中显示了如何使用Windows Installer API。从那里你可以使用普通的SQL,例如Select * from Properties