I think the problem can be resolved with the following patch.  Give it a
try and let me know how it goes.

--Scott


--- par.pl      2008-01-07 10:36:58.166470600 -0800
+++ par.pl.new  2008-01-07 10:36:42.996128400 -0800
@@ -680,8 +680,12 @@
             }x;
             my $extract_name = $1;
             my $dest_name = File::Spec->catfile($ENV{PAR_TEMP},
$extract_name);
-            $member->extractToFileNamed($dest_name);
-            outs(qq(Extracting "$member_name" to "$dest_name"));
+            if (! -f $dest_name) {
+                $member->extractToFileNamed($dest_name);
+                outs(qq(Extracting "$member_name" to "$dest_name"));
+            } else {
+                outs(qq(Skipping "$member_name" since it already exists
at "$dest_name"));
+            }
         }
     }
     # }}}


-----Original Message-----
From: Roderich Schupp [mailto:[EMAIL PROTECTED] 
Sent: Monday, January 07, 2008 7:30 AM
To: Henry Wu
Cc: [email protected]
Subject: Re: problem with pp

On Jan 7, 2008 9:20 AM, Henry Wu <[EMAIL PROTECTED]> wrote:
>  It works great when I run the first copy of the exe program under
windows
> command prompt.
>    But while the first exe file is running in command prompt when I
opened
> another command prompt and try to start the exe again, I got the
following
> error.
>
> IO error: Can't open file
> C:\WINDOWS\TEMP\par-user1\cache-ba25a41f36fa1ede4847
> bb07a7e328de501eb655\libeay32.dll for write : Permission denied
>  at C:/programs/Perl/lib/Archive/Zip/Member.pm line 388
>


Known bug, see
http://groups.google.com/group/perl.par/browse_thread/thread/c631a645798
613fd/86c7564a15805126?lnk=gst

PAR tries to extract the DLL a second time (and Windows won't let you
write to a DLL that's still in use), though that's not supposed to
happen.
AFAICT no fix yet :(

Cheers, Roderich

Reply via email to