在 vs 中制作安装程序时, 出现以下问题:
验证时出错。HRESULT = '80040155' .
baidu 了一下, 很多提出了这样的解决办法:
1. 修复安装 Visual Studio ; (验证这种方法没有效果)
2. 导入如下内容到注册表(导入了n次,也没有效果):
复制下面的内容到记事本中, 保存为 文件名为 a.reg 的注册表文件, 点右键"合并".
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000-000000046}]
@="IEnumVARIANT"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000-000000046}\NumMethods]
@="7"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000-000000046}\ProxyStubClsid]
@="{00020421-0000-0000-C000-000000000046}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000-000000046}\ProxyStubClsid32]
@="{00020421-0000-0000-C000-000000000046}"
后来终于看到官方解决办法(http://support.installshield.com/kb/view.asp?pcode=ALL&articleid=Q106194):
将下面的内容合并到注册表中 (有效,正解):
REGEDIT4
[HKEY_CLASSES_ROOT\Interface\{00020404-0000-0000-C000-000000000046}]
@="IEnumVARIANT"
[HKEY_CLASSES_ROOT\Interface\{00020404-0000-0000-C000-000000000046}\NumMethods]
@="7"
[HKEY_CLASSES_ROOT\Interface\{00020404-0000-0000-C000-000000000046}\ProxyStubClsid]
@="{00020421-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{00020404-0000-0000-C000-000000000046}\ProxyStubClsid32]
@="{00020421-0000-0000-C000-000000000046}"
前面的内容路径居然搞错了. 唉, 花费了我很多时间解决这个问题, 原来是解决方法的问题.
希望也遇到这样问题的人看到这个, 少走一些弯路.