+RAR 5.0 don't pack archives anymore in TC

Bug reports will be moved here when the described bug has been fixed

Moderators: Hacker, petermad, Stefan2, white

User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

+RAR 5.0 don't pack archives anymore in TC

Post by *MaxX »

RAR 5.0 don't pack archives anymore in TC.

Possible that's it (WhatsNew.txt for WinRAR 5.0 final):
16. Now the default charset for filelists in commands like 'rar a arcname @filelist' is ANSI for both WinRAR and console RAR. In previous versions it was ANSI for WinRAR and OEM for console RAR. You can use -sc<charset>l switch to override this default.

What we have now:
1. User selects multiple files (e.g. russian or french filenames)
2. Alt+F5 -> RAR -> enter
3. RAR.exe reports an error "files not found", nothing is done

As a temporally solution I've added "-scOl" parameter
RAR=Rar.exe -m5 -s -t -scOl
into packer's config to force RAR to use TC's list in cp866.

How can I force TC to generate cp1251 (or utf8/utf16) list instead of old cp866?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Yes, TC sends ANSI to WinRAR and OEM to RAR. Since RAR5 is still in beta, using it for packing isn't recommended.

Do you know the version number when this was changed? Since rar.exe seems to include version information now, I could use that to detect the version which changed to ANSI...
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

2ghisler(Author)
WinRAR 5.0 is final now (updated today some hours ago).
[http://www.rarlab.com/download.htm]

I use only finals of RAR.exe in TC, and right today i've upgraded 4.20 final to 5.0 final.

Quote in 1st post is taken from 5.0 final whatsnew [http://www.rarlab.com/rarnew.htm]. Can't remember if it was in 5.0 beta 8.
Last edited by MaxX on 2013-09-03, 20:55 UTC, edited 2 times in total.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ah OK, I will check the version of the exe. But the unrar.dll is still from 22.8.
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

UPD:

Possible solution #1 (the best).
Add (for each packer it's personal) the switchable parameter "<packer>ListCP" with some values for OEM/ANSI/Unicode etc...
+ Also it'd be great in GUI: dropdown menu right to the packer's config field.

Possible solution #2 (the easiest).
Add to the manual some instructions about how to force TC and WinRAR use unicode file-lists.
User avatar
Cineatic
Power Member
Power Member
Posts: 876
Joined: 2003-06-02, 14:09 UTC

Post by *Cineatic »

ghisler(Author) wrote:Ah OK, I will check the version of the exe. But the unrar.dll is still from 22.8.
Now the unrar.dll/unrar64.dll is from 05.09.
Gruß,
Christian
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

This has been fixed a while ago in TC 8.5 beta, can anyone test it please?
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

Still (beta 8.) only
RAR=Rar.exe -m5 -s -t -scOl
works with RAR 5.0.
RAR.exe just closes whithout this key.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Sorry, I don't understand your remark. Can you give me step by step instructions to reproduce the error?
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

2ghisler(Author)
I have (right now):
  TC 8.5 beta 10 (x32 and x64)
  RAR.exe (5.0 final, x32 and x64)
  Win7 SP1 x64 RUS.
and
  RAR=Rar.exe -m5 -s -t
or
  RAR=Rar.exe -m5 -s -t -scOl
in Wincmd.ini and Wincmd_2.ini.

My actions:
A.
1. Start TC with 1st config (no "-scOl" in the line)
2. Select some files with russian filenames
3. Alt+F5 -> RAR -> [Ok]
4. Get RAR's message "files not found"
B.
1. Start TC with 2nd config (with "-scOl" in the line)
2. Select some files with russian filenames
3. Alt+F5 -> RAR -> [Ok]
4. Get the pack.rar archive with my files inside (no errors)

AFAIK:
RAR.exe (since first 5.00) uses ANSI filelists instead of old DOS codepages.
RAR.exe up to 4.20 final uses OEM.
TC generates file list with CP866 (in my case, russian DOS CP).
As a result: TC works good with RAR 4.20, but not with 5.0 (when russian files needed).

Possible solution:
Add "-scOl" to RAR's config text line by default (just after RAR.exe) AND describe this moment in help manual...
IMHO, no another serious changes needed (for now).
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I see - the problem is that you appended these parameters and didn't give full path to RAR. TC tries to find out the version of RAR, but this fails due to the above two reasons.

Try specifying the packer like this:
RAR="c:\path\to\Rar.exe" -m5 -s -t
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

2ghisler(Author)
sorry for misunderstanding...

My full config line is:
RAR="%COMMANDER_PATH%\Rar.exe" -m5 -s -t -scOl

(rar.exe is in same dir as TC in c:\TC\)

I've tested short variant too, but it does no matter in my case, I see the same result.

Also: when i pack diffrent files (some of them have russian letters, and some not), english names are processed normally in all cases.
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

Just found this in history file:
24.11.13 Fixed: RAR packer: When using external unpacker, files with Unicode names couldn't be unpacked (now works with winrar.exe or v5 rar.exe) (32/64)
24.11.13 Fixed: RAR packer: If user specified parameter to set list file encoding with -sc0l, -scal or -scul, then use that encoding for the list file (32/64)
24.11.13 Fixed: RAR packer: If user specified parameters in the configuration, the version of the RAR packer couldn't be determined -> wrong list encoding could be used (32/64)


Then I've tested beta 11, looks like everything OK.
But.
Does it mean now that TC detects "-sc0l, -scal or -scul" keys and creates filelist in needed codepage?
Will it work on win9X with rar 3.93?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

If the user sets this himself, then yes, TC will use that encoding forced by the user. If you leave it out, TC will use the encoding best suited for the detected RAR version.
Author of Total Commander
https://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 1175
Joined: 2012-03-23, 18:15 UTC
Location: UA

Post by *MaxX »

Thanks.
I've removed the key and now TC creates 1200-UTF16LE list on my Win7 sp1 x64.
Looks like fixed.

p.s.
Will it work on win9X/2k with "-scUl" key?
Post Reply