summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extensions/source/activex/main/so_activex.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/extensions/source/activex/main/so_activex.cpp b/extensions/source/activex/main/so_activex.cpp
index 830c27320bdc..bbcd2f023e01 100644
--- a/extensions/source/activex/main/so_activex.cpp
+++ b/extensions/source/activex/main/so_activex.cpp
@@ -260,11 +260,19 @@ STDAPI DllUnregisterServerNative( BOOL bForAllUsers )
if( ERROR_SUCCESS != SHDeleteKey( bForAllUsers ? HKEY_CLASSES_ROOT : HKEY_CURRENT_USER, aSubKey ) )
fErr = TRUE;
- wsprintf( aSubKey, "%sso_activex.SOActiveX", aPrefix, aClassID );
+ wsprintf( aSubKey, "%sso_activex.SOActiveX", aPrefix );
if( ERROR_SUCCESS != SHDeleteKey( bForAllUsers ? HKEY_CLASSES_ROOT : HKEY_CURRENT_USER, aSubKey ) )
fErr = TRUE;
- wsprintf( aSubKey, "%sso_activex.SOActiveX.1", aPrefix, aClassID );
+ wsprintf( aSubKey, "%sso_activex.SOActiveX.1", aPrefix );
+ if( ERROR_SUCCESS != SHDeleteKey( bForAllUsers ? HKEY_CLASSES_ROOT : HKEY_CURRENT_USER, aSubKey ) )
+ fErr = TRUE;
+
+ wsprintf( aSubKey, "%s\\TypeLib\\%s", aPrefix, aTypeLib );
+ if( ERROR_SUCCESS != SHDeleteKey( bForAllUsers ? HKEY_CLASSES_ROOT : HKEY_CURRENT_USER, aSubKey ) )
+ fErr = TRUE;
+
+ wsprintf( aSubKey, "%s\\Interface\\%s", aPrefix, aInterIDWinPeer );
if( ERROR_SUCCESS != SHDeleteKey( bForAllUsers ? HKEY_CLASSES_ROOT : HKEY_CURRENT_USER, aSubKey ) )
fErr = TRUE;