COM msi.dll WindowsInstaller和Microsoft.Deployment.WindowsInstaller有什么区别?

时间:2020-07-29 00:36:10

标签: installation windows-installer

COM msi.dll WindowsInstaller和Microsoft.Deployment.WindowsInstaller有什么区别?

我知道一个存在于%WINDIR%\ system32 \ msi.dll中,另一个存在于Visual Studio的参考程序集列表中。

我知道Installer对象的实现完全不同。

为什么WindowsInstaller有两种不同的实现?为什么叫它们相同?

1 个答案:

答案 0 :(得分:1)

MSI API :Windows Installer API相当老,并且实现为 Win32 C/C++ functions 顶部COM automation (您可以使用VBScript和许多其他语言进行访问)。这全部在 %WINDIR%\system32\msi.dll 文件中实现(以及涉及的任何其他支持文件-我不太确定-还有 {{1 }} -当然是实际的安装引擎和命令行工具,用于安装和配置MSI软件包和 msiexec.exe -还有我认为的其他一些功能。

DTF (部署工具基金会):随着.NET框架和托管代码的日趋成熟,COM和Win32函数的使用和“部署工具基础”套件(也称为 msihnd.dll )有点笨拙。文件: DTF was implemented to help use the MSI API with managed code 是DTF附带提供的文件之一,也是最常用的文件。现在,WiX工具包将DTF作为其常规安装的一部分进行安装。 请检查下面的链接

链接


注意,还有一些 WMI 功能。