Menu

#258 7za.exe fails when compressing files

open
nobody
None
5
2012-12-07
2004-09-27
Anonymous
No

(I am doug@frombob.to)

The latest version of 7za.exe, the command-line version
of 7Zip, fails when attempting to compress certain files.
It fails to produce any output file if any of its input files
contain certain characters in their file names.

Igor Pavlov has stated (private communication) that this
bug is related to unicode file name conversions occurring
in Win98. If this bug is not fixed, then 7Zip cannot be
reliably used for automated, scripted backups on Win98
systems, and therefore Win98 should not be listed on
the 7Zip web pages as a compatible operating system.

This would be a shame, since some of us still rely on
these older operating systems. I am forced to use
competing products that have undesirable features, but
which do not fail on my system.

(This failure was observed using Win98 and IE6 with U.S.
localization. I do not know if other versions of Windows
or IE or other localizations will behave similarly. The
version of 7za.exe shipped with 7Zip versions 3.13, 3.12,
3.11, and 3.10 all fail this test.)

To reproduce bug:

First, create a folder called c:\test\ containing no files.

Use Notepad or similar ASCII text editor to create a file
on your Desktop called Test.html, containing the
following lines:

<html>
<head>
<title>7ZipTest&nbsp;Page</title>
</head>
<body>
This is a test
</body>
</html>

(Note the presence of the non-breaking space token
within the page title. I have no idea if this is "legal" in
HTML files, but nevertheless there are numerous
examples of files on the Web which do this, therefore
7Zip must be able to handle such files correctly if we are
to consider it a serious tool.)

Open this file in Internet Explorer. Now add this page to
your Favorites.

Close IE and browse to your Favorites folder (using
Explorer or whatever file manager you please). I found
this folder at C:\windows\Favorites but the location on
your machine may vary. Find the URL file
called "7ZipTest Page" and move it to the c:\test\ folder
you created earlier.

(Note that there appears to be a space
between "7ZipTest" and "Page" in the file name, but
apparently there is some other character there, not an
ascii 32. Obviously IE is responsible for creating this file
name. Windows does not complain about the name of
this file, ScanDisk does not complain, IE does not
complain, the File Manager (GUI) version of 7-Zip does
not complain, other compressors such as WinRAR and
WinZip do not complain [either the GUI version or the
command-line version], but 7za.exe fails when it sees
this file.)

Now use 7za.exe, and all of the other compression
programs available to you, to compress the c:\test
folder.

7za.exe, versions 3.10, 3.11, and 3.12 (the latest
version), will fail without producing a .7z file. I have
copied below the actual results of my test script (note
how it reports an underscore character in the name
instead of a space):

C:\test>"C:\Program Files\7-Zip\7za.exe" a -mx=9
c:\7ztest.7z *

7-Zip (A) 3.12 Copyright (c) 1999-2003 Igor Pavlov
2003-12-10
Scanning

Creating archive c:\7ztest.7z

Compressing
7ZipTest_Page.url 0%

System error:
The system cannot find the file specified.

Discussion


Log in to post a comment.