无法添加对“Microsoft Windows Installer Object Library”的引用

14

我无法在VS2012中添加对'Microsoft Windows Installer Object Library'的引用。有什么想法,可能是什么原因导致了这个问题?

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

这个VS项目是基本的类库(使用c# x86)。


哪个是框架?它是在4.5中吗?尝试在4.0中吗?我试图将相同的内容添加到.Net 4.0 VS 2010类库中。 - Akshay Joy
框架是.NET 4.0客户端配置文件。我也尝试将其添加到.NET 4.0完整版,结果相同。 - RandomBug
1
请使用 .Net 4.0 完整配置文件,但我尝试了两种配置文件,都可以正常工作。无论如何,您正在使用 .Net 4.0,您是否有 VS 2010?您能否尝试一下并让我知道它是否解决了问题,因为我正在使用 .Net 4.0 VS 2010,没有遇到任何问题。 - Akshay Joy
它没有解决问题。我只是得到了另一个错误消息“库未注册”。我认为我需要找到另一种方法来检查MSI版本,因为我不能相信MSI.dll在目标环境中是否正确注册。 - RandomBug
2个回答

27

在 Visual Studio 中,转到“引用”>“添加引用”>“COM”>“浏览”>%WINDIR%\system32\msi.dll

对我来说,在 VS2012 上运行良好。


1
也可以在VS2013上工作。我在这里发布了一个示例:https://github.com/JohanPGunnarsson/GetParameterInfoFromMSI,它可以从MSI文件中读取参数,例如“ProductVersion”。 它引用System32中的msi.dll。 - Mosca Pt
对我来说,在2017年完全不起作用。同样的该死的错误。 - Nathan McKaskle

-3

检查你的注册表,请检查这些数值

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

2
这有什么帮助吗? - MensSana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接