summaryrefslogtreecommitdiff
path: root/setup_native/source/win32/customactions/regactivex/regactivex.cxx
diff options
context:
space:
mode:
authorMikhail Voitenko <mav@openoffice.org>2009-10-30 14:56:01 +0000
committerMikhail Voitenko <mav@openoffice.org>2009-10-30 14:56:01 +0000
commit24000843a30a1843a1f79c64c84e63e76ad29fb7 (patch)
tree388812061cf47a699ab9b1a16035ba28c13a32bf /setup_native/source/win32/customactions/regactivex/regactivex.cxx
parente2a04070a2276790e5abefbfe253e6d645a71716 (diff)
#i106476# support 64-bit IE
Diffstat (limited to 'setup_native/source/win32/customactions/regactivex/regactivex.cxx')
-rw-r--r--setup_native/source/win32/customactions/regactivex/regactivex.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/setup_native/source/win32/customactions/regactivex/regactivex.cxx b/setup_native/source/win32/customactions/regactivex/regactivex.cxx
index 08d7b0eb78b6..60128d2d8346 100644
--- a/setup_native/source/win32/customactions/regactivex/regactivex.cxx
+++ b/setup_native/source/win32/customactions/regactivex/regactivex.cxx
@@ -112,7 +112,16 @@ void RegisterActiveXNative( const char* pActiveXPath, int nMode, BOOL InstallFor
#ifdef OWN_DEBUG_PRINT
MessageBoxA(NULL, pActiveXPath, "Library Path", MB_OK | MB_ICONINFORMATION);
#endif
- ( *pNativeProc )( nMode, InstallForAllUser, InstallFor64Bit, pActiveXPath );
+ int nLen = strlen( pActiveXPath );
+ int nRemoveLen = strlen( "\\so_activex.dll" );
+ if ( nLen > nRemoveLen )
+ {
+ char* pProgramPath = reinterpret_cast<char*>( malloc( nLen - nRemoveLen + 1 ) );
+ strncpy( pProgramPath, pActiveXPath, nLen - nRemoveLen );
+ pProgramPath[ nLen - nRemoveLen ] = 0;
+
+ ( *pNativeProc )( nMode, InstallForAllUser, InstallFor64Bit, pProgramPath );
+ }
}
FreeLibrary( hModule );