Move to archive with external packers under Win7

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: white, Hacker, petermad, Stefan2

Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Move to archive with external packers under Win7

Post by *Postkutscher »

I could say it is not a bug, but a missing feature, if it would be not so dangerous. :(

TC7.04a - TC7.5PB1 under Win7 x64 (but I think 32 or 64 doesn`t affect)

alt+shift+f5 into root of system disk with WinRAR (tested with 3.62) or WinACE (tested with 2.61). After packing is complete you have neither your file, nor archive with this file.:!:
If one makes simple alt+f5 into root of system disk, packer does packing "into nul".

I tried to create "write-protected" dir myself, "access denied" was indicated there correctly, unlike to first case.
That is more like WinRar and WinAce irritating TC, but I suggest a workaround for the cases as the first one.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48138
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I cannot confirm that with Windows 7 32-bit and Windows Vista 64-bit (sorry, no Windows 7 64-bit here yet). Winzip gives me an error message that it couldn't pack.

I assume that something is wrong with the permissions in your root. Did you make an update from Vista to 7?
Author of Total Commander
https://www.ghisler.com
Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Post by *Postkutscher »

No, it was absolutely clean install. If I remember correctly, I have even formatted this partition. I will try to do more tests and report an additional info.

[added]
Yes, it must be really somewhat with Windows.
I tried to
"c:\Program Files (x86)\WinRAR\WinRAR.exe" a c:\123.rar h:\test.txt
"c:\Program Files (x86)\WinAce\WinAce.exe" a c:\123.ace h:\test.txt
"c:\Program Files (x86)\7-Zip\7zG.exe" a c:\123.7z h:\test.txt

All three archivers are doing something but no c:\123.* file appears. No error warnings at all. :shock:

While doing the same for D: gives a normal "access denied error"
"c:\Program Files (x86)\WinRAR\WinRAR.exe" a d:\123.rar h:\test.txt
"c:\Program Files (x86)\WinAce\WinAce.exe" a d:\123.ace h:\test.txt
"c:\Program Files (x86)\7-Zip\7zG.exe" a d:\123.7z h:\test.txt

I really don`t understand. The permissions of C:\ are default.
4 Objects listed there:
Authenticated Users
System
Administrators
Users

Only Authenticated Users have strange permissions. Only special permissions are active for they : Create Folders/Append Data. All other are inactive. But if I create my own folder with exactly the same strange permissions, I can`t reproduce such a behaviour for archivers. They are normally reporting not enougth rights. :roll:

The thread should be moved to normal english forum then :?
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

By default in Vista/7 there is no rights to write to root.
Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Post by *Postkutscher »

2MVV
Ok, it is clear. Why all three archives are not giving any errors at all? :shock:
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I had tried to pack a file with 7zg.exe into C:\ and F:\, and in both cases errorlevel was 0 after packing. BTW, 7zg.exe is GUI application. So, I checked 7z.exe...
F:\>"E:\Program Files\7-Zip\7z.exe" a c:\123.7z F:\TEMP\tmp_56411291818033.html

7-Zip 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06

Scanning

Updating archive c:\123.7z

Compressing tmp_56411291818033.html

Everything is Ok
It is strange... But more strange that archiver wrote "Updating" when archive doesn't exist (this was not first launch)... I tried to change name to 1234.7z and archiver wrote "Creating". So, seems that archive was created SOMEWHERE...

After some searching I found archive 123.7z (and 1234.7z) in C:\Users\<Me>\AppData\Local\VirtualStore. Seems that Windows itself creates files there...

Strange that GUI 7Z archiver just beeps an error when I try to pack into C:\.

So, it isn't a TC fault if archivers don't say if fail.
Last edited by MVV on 2009-08-16, 17:39 UTC, edited 1 time in total.
Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Post by *Postkutscher »

MVV wrote:So, it isn't a TC fault if archivers don't say if fail.
Sure, agree.
MVV wrote: After some searching I found archive 123.7z (and 1234.7z) in C:\Users\<Me>\AppData\Local\VirtualStore. Seems that Windows itself creates files there...
That is what I haven`t found, thank you.

Some words, which a gentleman must not say,from me to Microsoft!!!
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Postkutscher wrote:Some words, which a gentleman must not say,from me to Microsoft!!!
Me to. :x
I have one strange unlogical Windows thing more (the first was why MS called 32-bit subsystem folder as SysWow64 and 64-bit subsystem folder as System32 instead of just calling 64-bit subsystem folder as System64 and leaving 32-bit subsystem folder as System32).

This is the thing called Virtualization, it allows to run old programs correctly. Seems that if application is 32-bit, runs w/o admin rights and has no manifest file for Vista, OS uses such virtualization. BTW, if your C:\ folder has such virtual files, Explorer shows a button "Show Compatibility Files" which opens virtual folder.
Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Post by *Postkutscher »

Seems that only way for TC to workaround this "virtualization" is to check destination directory itself, and warn the user or start archivers with elevated rights, if the destination dir is %systemdrive% or %windir% or whatever else.
If it will be leaved as is, I`m afraid I can be not the last user, who is shocked with a side effect of this windows virtualization.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I don't think Christian will agree with it. Because TC works fine. Troubles are with external packers, so they are need to be updated.

I think the best idea is to add a link to virtualized folder in folders where such files exist. I.e., in C:\ folder we add subfolder called "Virtualized Files" pointing to "%LocalAppData%\VirtualStore" folder, in C:\ddd\aaa folder - subfolder pointing to "%LocalAppData%\VirtualStore\ddd\aaa" etc. TC may paint filenames to different colours so this items may be painted in RED for example in order to attract user's attention. Also this "Virtualized Files" item may be showed FIRST in any kind of sort. Help file should contain a page describing such stuff.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Firstly I created a folder in my documents folder (on other drive) and made a symbolic link to it instead of "%LocalAppData%\VirtualStore" folder. But this didn't work (later I saw that I had no rights to write to that folder :)).

So, I found a great and simple way to preserve old programs to write to write-protected folders via virtualization. Just delete folder "%LocalAppData%\VirtualStore" and place a file (empty) there with same name and OS won't create it and programs will return correct error! =)
Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Post by *Postkutscher »

MVV wrote:So, I found a great and simple way to preserve old programs to write to write-protected folders via virtualization. Just delete folder "%LocalAppData%\VirtualStore" and place a file (empty) there with same name and OS won't create it and programs will return correct error! =)
Nice research :) Thank you!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48138
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I see - try using WinRAR 3.71 (I have that) or newer, it does contain the right "Manifest" resource for Vista/Windows 7. That's apparently the reason why I didn't get the error here...
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Christian, please check it with 7z.exe from 7-Zip distributive, it doesn't contain manifest file. So, OS let it create or view virtualized files.

And please think about adding additional item in such folders to allow user to see virtualized files (I think it is the easiest way to realize it). Or maybe some other way?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48138
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Sorry, you shouldn't use any packers on Vista which don't have the proper manifest file, otherwise you will get this strange behaviour. It's not a bug of TC, it's standard Vista/Win7 behaviour to handle incompatible programs.
Author of Total Commander
https://www.ghisler.com
Post Reply