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