【问题标题】:a Reference to 'Microsoft Windows Installer Object Library' could not be added无法添加对“Microsoft Windows Installer 对象库”的引用
【发布时间】:2013-05-09 14:45:28
【问题描述】:

我无法使用 VS2012 添加对“Microsoft Windows Installer 对象库”的引用。有什么想法,什么可能导致这个问题?

当我尝试创建对 COM 组件的引用时,我收到此错误消息“无法添加对‘Microsoft Windows Installer 对象库’的引用”。

VS 项目是基本类库 (c# x86)。

【问题讨论】:

  • 框架是什么?是4.5吗?试试4.0?我尝试将相同的添加到 .Net 4.0 VS 2010 中的类库
  • 框架是 .NET 4.0 客户端配置文件。我还尝试将其添加到 .NET 4.0 Full 中,结果相同。
  • 使用 .Net 4.0 完整配置文件,但我尝试了这两个配置文件,它工作正常,无论您使用 .Net 4.0 的任何方式,你有 VS 2010,你可以试试,让我知道它是否解决了这个问题,因为我使用的是.Net 4.0 VS 2010,我没有得到任何问题。?
  • 它没有解决问题。我刚刚收到另一条错误消息“库未注册”。我想我需要找到另一种方法来检查 MSI 版本,因为我无法相信 MSI.dll 在目标环境中正确注册。

标签: c# visual-studio-2012 com


【解决方案1】:

在 Visual Studio 中,转到 References > Add Reference... > COM > Browse... > %WINDIR%\system32\msi.dll.

在 VS2012 上为我工作。

【讨论】:

  • 也可以在 VS2013 上工作。我在这里发布了一个示例:github.com/JohanPGunnarsson/GetParameterInfoFromMSI,它从 MSI 读取参数,例如“ProductVersion”。它从 System32 引用 msi.dll。
  • 在 2017 年对我来说根本不起作用。同样该死的错误。
【解决方案2】:

检查你的 Regedit,请检查这些值

HKEY_CLASSES_ROOT\TypeLib\{000C1092-0000-0000-C000-000000000046}\1.0

如果安装了 Visual Studio 2010

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\ComponentPickerPages\Recent\{9A341D96-5A64-11D3-BFF9-00C04F990235}\1

如果安装了 Visual Studio 2008

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ComponentPickerPages\Recent\{9A341D96-5A64-11D3-BFF9-00C04F990235}\1

【讨论】:

  • 这应该如何帮助任何人?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多