diff options
author | Mikhail Voitenko <mav@openoffice.org> | 2009-10-30 14:56:01 +0000 |
---|---|---|
committer | Mikhail Voitenko <mav@openoffice.org> | 2009-10-30 14:56:01 +0000 |
commit | 24000843a30a1843a1f79c64c84e63e76ad29fb7 (patch) | |
tree | 388812061cf47a699ab9b1a16035ba28c13a32bf /setup_native/source/win32/customactions/regactivex/regactivex.cxx | |
parent | e2a04070a2276790e5abefbfe253e6d645a71716 (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.cxx | 11 |
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 ); |