Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


On 19.11.2018 18:48, Stephan Bergmann wrote:
On 19/11/2018 16:38, Kaganski Mike wrote:
I have prepared a patch making soffice.bin a proper console Windows
application: https://gerrit.libreoffice.org/63572. The patch also
introduces a new launcher soffice.com (in addition to existing
soffice.exe). That is to make possible to call soffice from command
line, and have proper console launcher for that call.

If there's both soffice.exe and soffice.com in the same directory 
(assuming the "new launcher osffice.com" also goes into program\), what 
will happen if some client starts just soffice w/o extension (either 
from a shell, or from Windows' equivalent of exec, if it's possible to 
call that w/o an extension)?  (program\soffice.exe is part of the stable 
3rd-party interface on Windows, but I'm not sure whether we officially 
announce it as "program\soffice.exe is part of the stable interface" (so 
client code could be considered broken if it calls that w/o extension) 
or as "program\soffice is part of the stable interface".)

Yes, the soffice.com goes to the same program\ along with soffice.exe. 
And that's for the very purpose of the described scenario: when user 
calls soffice without an extension, .com is (usually) the preferred 
extension (subject to PATHEXT override), as described in [1]. Note that 
calling soffice without an extension is usually (always?) the case for 
console-like operation; while shell integration (including desktop 
shortcuts and registry) is done using explicit .exe. Also note that 
CreateProcess WinAPI only substitutes .exe in case the extension is 
omitted [2], so this scenario (calling soffice from a custom application 
without explicitly specifying .exe) should be unaffected.

The soffice.com is made to do exactly the same as soffice.exe (modulo 
being console application, and thus behave properly in different console 
and batch scenarios). In fact, the two are made as WinMain()|main() 
calling the real impl function which does everything that previously was 
in soffice.exe's WinMain.

Currently our help (and multiple resources everywhere) often (not sure 
if exclusively) mention commands like "soffice --switches". And both 
this and calling soffice.exe explicitly is currently inconsistent across 
platforms, because on other platforms, the call works as proper console 
call. So I see this as (hopefully) making the API consistent with what 
we announce.

[1] https://en.wikipedia.org/wiki/COM_file#Execution_preference
[2] 
https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-createprocessw

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.