在 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}"
前面的內容路徑居然搞錯了. 唉, 花費了我很多時間解決這個問題, 原來是解決方案的問題.
希望也遇到這樣問題的人看到這個, 少走一些彎路.