Jump to content
Muxe Inc Forums
Sign in to follow this  
dandv

FATAL: NDN deletes archiver list file too soon

Recommended Posts

dandv    0

When archiving several files, NDN creates a list of the files to be archived, then calls th archiver.

In beta 7555, NDN deletes the list file before the archiver gets a chance to read it. This way, WinRAR complains that is could not find %TEMP%\xxndnxx.lst .

In beta 7104, NDN behaved correctly, with the very same archiver definition, listed below.

[ZIP]
UseLFN=1
ListChar=@
BestCompression=-m5
GoodCompression=-m4
NormalCompression=-m3
FastCompression=-m2
FastestCompression=-m1
StoreCompression=-m0
Solid=-s
RecoveryRecord=-rr
SFX=-sfx
ForceMode=
ExcludePaths=-ep
IncludePaths=
Test=t
Delete=d
Garble=-p
Move=m -afzip
Add=a -afzip
ExtractWithPathnames=-ext -directories
Extract=-ext
Unpacker=pkzipc.exe
Packer=winrar.EXE

 

I used Sysinternal's Filemon to monitor NDN's file accesses and it confirmed my assumption. Please find attached the logs. To open them, download Filemon 7.02 and click File, Open.

 

Until this issue is fixed, I cannot use NDN to archive files, so I have to revert to beta 7104.

xxndnxx.lst_deleted_too_son.zip

Share this post


Link to post
Share on other sites

hi!

 

this is no bug, in fact, NDN behaves exactly as it should

 

you are calling a GUI program to handle the archives, NDN detects that and returns to

the commandline after executing, deleting the files it created.

 

this works better than ever with the new version (obviously)

 

the only solution would be not to delete the files at all or to delete them before executing new programs

although, it's not nice

 

or, we could disable this feature for certain execution actions, like archivers

but, some users might want this behaviour

 

Stefan / AH

Share this post


Link to post
Share on other sites
GPFault    0

Hi!

 

To dandv:

I had the same problem and found a way to solve it.

Create file winrargui.bat:

@start /wait "" "e:\program files\winrar\winrar.exe" %*

(on non-NT systems remove first "" and replace %* with %1 %2 %3 %4 %5 %6 %7 %8 %9 )

Put this file on path an set it as archiver in NDN.

On my system addition/deletion works even with 2.15.7555 on XP

I hope this works on other systems too...

 

To AH:

or, we could disable this feature for certain execution actions, like archivers

but, some users might want this behaviour

Can you imagine a situation where it is useful?

(executing a GUI prog with archive as parameter by F5 etc.

opening archive in different program can be assigned to Ctrl/Shift+Enter)

imho this behaviour can be treated as not-bug only if you really can imagine that situation.

i can`t but i`m not sure that it is completely impossible.

Share this post


Link to post
Share on other sites
dandv    0
hi!

 

this is no bug, in fact, NDN behaves exactly as it should

 

you are calling a GUI program to handle the archives, NDN detects that and returns to

the commandline after executing, deleting the files it created.

 

Then why does NDN beta 7104 work flawlessly, with the same GUI program?

 

this works better than ever with the new version (obviously)

 

I had no problems with the old version. What was wrong with the old calling model?

 

the only solution would be not to delete the files at all or to delete them before executing new programs

although, it's not nice

 

How about NDN leaves xxndnxx.lst alone, until the next archiver operation, and rewrite it then? This would save a "delete" call each time. And when NDN exits, it could delete xxndnxx.lst

 

Is it "nice" to leave a file in the %TEMP% folder? Maybe not, but for example in Windows 2000, my TEMP folder always gets filled with all sorts of crap: every time you run MSWord 2003, it creates folders like msohtml or msohtml1, something else creates hsperfdata_Administrator, Acrobat updates create an Adobe folder, VMWare keeps some TMP and LOG files that you can't even delete, and so on. So NDN keeping one file while it's running is a minimal problem. The file could even be kept in the NDN folder.

 

I think this would be more convenient for new NDN users than having them fail to use GUI archivers. How many will check the forums for the alternative solution (hack) that GFault provided?

Edited by dandv

Share this post


Link to post
Share on other sites

hi!

 

there were quite some problems with executing, which i all fixed

("note pad.exe" "a gb c.txt" or LFN in external view/edit in 7104!)

 

the archiver gui check is a side effect

 

i will disable this effect for archivers

 

Stefan / AH

Share this post


Link to post
Share on other sites
dandv    0
hi!

 

there were quite some problems with executing, which i all fixed

("note pad.exe" "a gb c.txt" or LFN in external view/edit in 7104!)

 

Right, I understand now.

 

the archiver gui check is a side effect

 

i will disable this effect for archivers

 

Does that mean that an archiver called "C:\Program Files\arch.exe" won't work?

Share this post


Link to post
Share on other sites
Does that mean that an archiver called "C:\Program Files\arch.exe" won't work?

 

of course not :P

NDN doesn't care for the exe type of the program in this case anymore and

will wait for the termination of the executed file

 

Stefan / AH

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×