[vlc-commits] ActiveX: List Plugin directy after installation of VLC in IE

Jean-Baptiste Kempf git at videolan.org
Sat Dec 13 16:28:51 CET 2014


npapi-vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Sat Dec 13 16:28:07 2014 +0100| [3aa3080deabb2bbbb06653ec9c3f77855c3776b8] | committer: Jean-Baptiste Kempf

ActiveX: List Plugin directy after installation of VLC in IE

The plugin is in Internet Explorer <= v9 not listed in "Tools" ->
"Manage Add-ons" after installation of VLC. Only when I run the plugin
on a page and confirm a security message, that appears, the plugin
appears permanently in the list. In IE10 (Win8) the plugin is listed
directly after the installation.

Close #8788

> http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=3aa3080deabb2bbbb06653ec9c3f77855c3776b8
---

 activex/main.cpp |   25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/activex/main.cpp b/activex/main.cpp
index e88e6d7..735c38d 100644
--- a/activex/main.cpp
+++ b/activex/main.cpp
@@ -147,6 +147,12 @@ static void UnregisterProgID(REFCLSID rclsid, unsigned int version)
         SHDeleteKey(hClsIDKey, szCLSID);
         RegCloseKey(hClsIDKey);
     }
+
+    if( ERROR_SUCCESS == RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Ext\\Stats"), 0, KEY_WRITE, &hClsIDKey) )
+    {
+        SHDeleteKey(hClsIDKey, szCLSID);
+        RegCloseKey(hClsIDKey);
+    }
 };
 
 STDAPI DllUnregisterServer(VOID)
@@ -235,6 +241,25 @@ static HRESULT RegisterClassID(HKEY hParent, REFCLSID rclsid, unsigned int versi
                 keyClose(keySet(hProgKey, TEXT("CLSID"),
                                 szCLSID, sizeof(szCLSID)));
             }
+
+            // entry for addons list
+            hProgKey = keyCreate(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Ext\\Stats"));
+            if( NULL != hProgKey )
+            {
+                HKEY hSubKey = keyCreate(hProgKey, szCLSID);
+                if( NULL != hSubKey )
+                {
+                    HKEY hSubKey2 = keyCreate(hSubKey, TEXT("iexplore"));
+                    if( NULL != hSubKey2 )
+                    {
+                        keyClose(keyCreate(hSubKey2, TEXT("AllowedDomains\\*")));
+
+                        DWORD value = 1;
+                        keyClose(keySet(hSubKey2, TEXT("Type"),
+                                        (const BYTE*)&value, sizeof(value), REG_DWORD));
+                    }
+                }
+            }
         }
         hClassKey = keyCreate(hParent, szCLSID);
     }



More information about the vlc-commits mailing list