diff options
Diffstat (limited to 'extensions/source/activex/main/so_activex.cpp')
-rw-r--r-- | extensions/source/activex/main/so_activex.cpp | 12 |
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; |