On Sat, Sep 15, 2012 at 11:03:03AM -0300, Ariel Constenla-Haile wrote:
> Thanks for the information. I could reproduce it by removing
> msvcr100.dll from C:\WINDOWS\system32.
> 
> Now, I'm not sure if this is something AOO should fix: AOO is built with
> VS 2008, so its redistributable package is installed with AOO. It's
> Oracle Java 7 that is build with VS 2010, Java 7 has msvcr100.dll in the
> \bin folder, but I guess they should install the redistributable system
> wide.
> 
> Found this interesting stuff
> http://www.duckware.com/tech/java6msvcr71.html
> 
> For now, the solution is to install
> http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe
> 

One enhancement here could be not to display does JRE in the Options
dialog that will fail to be loaded; the code should check if the jvm
library can be loaded, now it only checks that it exists; this could be
a little overhead, but it's unlikely that the user will have lots of JRE
installed.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina
diff --git a/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx 
b/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx
index 3610177..127fd9d 100644
--- a/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx
+++ b/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx
@@ -25,6 +25,9 @@
 #include "precompiled_jvmfwk.hxx"
 
 #include "osl/file.hxx"
+#include "osl/diagnose.h"
+#include "osl/module.hxx"
+#include "osl/thread.hxx"
 
 #include "vendorbase.hxx"
 #include "util.hxx"
@@ -180,6 +183,25 @@ bool VendorBase::initialize(vector<pair<OUString, 
OUString> > props)
     if (!bRt)
         return false;
 
+#if defined(WNT)
+    oslModule moduleRt = 0;
+    rtl::OUString sRuntimeLib;
+    if( File::getSystemPathFromFileURL( m_sRuntimeLibrary, sRuntimeLib ) == 
File::E_None )
+    {
+        if ( ( moduleRt = osl_loadModule( sRuntimeLib.pData, 
SAL_LOADMODULE_DEFAULT ) ) == 0 )
+        {
+            OSL_TRACE( "jfw_plugin::VendorBase::initialize - cannot load 
library %s", 
+                                  rtl::OUStringToOString( sRuntimeLib, 
osl_getThreadTextEncoding() ).getStr() );
+            return false;
+        }
+        else
+        {
+            // do not leave the module loaded!
+            osl_unloadModule( moduleRt );
+        }
+    }
+#endif
+
     // init m_sLD_LIBRARY_PATH
     OSL_ASSERT(m_sHome.getLength());
     size = 0;

Attachment: pgpfGPcWeks0Q.pgp
Description: PGP signature

Reply via email to