Página 1 de 1

[RESUELTO] Ejecutar LibreOffice x64 desde C# .Net

Publicado: Jue Mar 02, 2017 6:35 pm
por jirayacr
Hola,

Estoy utilizando Windows 10 64-bit y desarrollo una aplicación C# .Net Framework 4.5, la aplicación tiene que ejecutarse en x64, por lo que, he instalado LibreOffice 5.2.3 x64 con su respectivo sdk.

Al iniciar la aplicación agrego la variable de entorno así:

Código: Seleccionar todo

string variableEntornoPATH = Entorno.GetEnvironmentVariable ("PATH");
Environment.SetEnvironmentVariable("PATH", variableEntornoPATH + ";C:\\Program Files\\LibreOffice 5\\program;");
Sin embargo, al ejecutar la aplicación me muestra el siguiente error:

La operación aritmética ha provocado un desbordamiento.
   Es Mapping_uno2cli (_uno_Mapping * mapping, Void ** ppOut, Void * pIn, _typelib_InterfaceTypeDescription * td)
   En com.sun.star.uno.Mapping.mapInterface (Mapping *, Void ** ppOut, Void * pInterface, Type * rType)
   En uno.util.to_cli <class com :: sun :: star :: uno :: XComponentContext> (Referencia <com :: sun :: star :: uno :: XComponentContext> * x)
   En uno.util.Bootstrap.bootstrap ()


El problema es que no hay ninguna información al respecto y lo único que encontré fue el código del método aquí:

Https://github.com/LibreOffice/core/blo ... ge.cxx#L96

Por lo que se puede ver en el código, me parece que hay problemas con las banderas de pre-compilación:

Código: Seleccionar todo

ptr= sri::GCHandle::ToIntPtr(sri::GCHandle::Alloc(cliI))
#ifdef _WIN32
                    .ToInt32();
#else /* defined(_WIN64) */                 .ToInt64();
#endif
Además, he realizado la misma prueba con las versiones 5.2.3, 5.2.5 y 5.3, pero todas me dan el mismo error.

Por otro lado, creo que es importante indicar que si lo ejecuto en x86 todo me funciona perfecto, claro usando el path "C:\\Program Files (x86)\\LibreOffice 5\\program", pero, por requerimiento del proyecto tiene que ser en x64. :(

¿Alguien tiene alguna solución?

Re: Ejecutar LibreOffice x64 desde C# .Net

Publicado: Lun Mar 13, 2017 6:10 pm
por jirayacr
Buenas,

Ya la comunidad de Bugzilla me respondió y efectivamente hay un error en el código, supongo que en la próxima compilación se corrige.
Adjunto el link del issue:

https://bugs.documentfoundation.org/sho ... =94265#c13


Gracias,
Saludos.

Re: [RESUELTO] Ejecutar LibreOffice x64 desde C# .Net

Publicado: Lun Mar 13, 2017 7:00 pm
por mauricio
Mientras no entre como corrección, no esperes que salga publicada... ya dieron la solución, si te animas, puede ser tu primer pull que entre en LibreOffice...

Saludos