emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: extracting a zip archive via elisp (with no external executables)


From: Saulius Menkevičius
Subject: Re: extracting a zip archive via elisp (with no external executables)
Date: Sun, 9 Jul 2017 23:16:40 +0300

> Am 09.07.2017 um 23:09 schrieb Eli Zaretskii <address@hidden>:
> 
>> From: Saulius Menkevičius <address@hidden>
>> Date: Sun, 9 Jul 2017 22:49:50 +0300
>> Cc: address@hidden,
>> address@hidden,
>> address@hidden
>> 
>>>    (w32-shell-execute "open" "FILENAME.zip")
>>> or
>>>    (w32-shell-execute "explore" "FILENAME.zip")
>>> 
>>> (replace FILENAME.zip with the actual file name).  This will open the
>>> Windows Explorer showing the contents of the zip archive, and you
>>> should tell your users to click "File->Extract all" to extract the
>>> files into the directory of their choosing.
>>> 
>>>> Instructing the user to install 7-zip or something else manually kind of
>>>> invalidates the purpose of automatic installation.
>>> 
>>> Please never suggest to install 7z, it's not Free Software on Windows
>>> (and on Unix it's less capable to make it Free Software).  If someone
>>> needs 7z capabilities, the best Free Software alternative is bsdtar
>>> from the libarchive project.
>> 
>> My questions is still, is it possible to avoid involving user in this 
>> procedure?
> 
> But the user is already involved -- they started the installation to
> begin with, didn't they?  So why do you want so hard to avoid them
> clicking one more button?

But then they probably need to specify target directory or do other things with
the UI that pops out. And they leave emacs (even if for a moment). Ideally I
would want to make this procedure slick and low profile… Which it is on
LInux/macOS..

> 
>> Or do I need to roll out my own zip parser + extractor in elisp to do so :(
>> Which is probably slightly complicated thing to do.. Compared to what I
>> am trying to achieve.
> 
> Maybe somebody knows how to tell the Explorer to extract the files
> without user interaction.  I don't.


I was looking for this a bit too, and yeah, people propose the same thing,
i.e. invoke „rundll32 zipfldr.dll,RouteTheCall file.zip“ but I have not found 
yet
any exports that do extract the file automatically..

Thanks for your thoughts! I think I will come to some kind of solution
eventually. Hopefully this will avoid writing a homemade zip file parser.

-BR, 
Saulius


reply via email to

[Prev in Thread] Current Thread [Next in Thread]