COM msi.dll WindowsInstaller和Microsoft.Deployment.WindowsInstaller有什么区别?
我知道一个存在于%WINDIR%\ system32 \ msi.dll中,另一个存在于Visual Studio的参考程序集列表中。
我知道Installer对象的实现完全不同。
为什么WindowsInstaller有两种不同的实现?为什么叫它们相同?
答案 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 功能。