This makes sense - the file that was always mentioned was packed with —addlist 
which I assume is the same mechanism as -a.

PK

> On 16 Dec 2014, at 11:29 am, Shawn Laffan <shawn.laf...@unsw.edu.au> wrote:
> 
> I had a similar case recently where a user ran CCleaner on the temp folder 
> while the application was open.  It deleted everything in the cache folder 
> that was not file locked, so the cache folder still exists, along with 
> several of the component files.
> 
> A bit of testing showed the .pm and other perl files are re-extracted the 
> next time the PAR is run, but none of the files packed using -a (an icon file 
> and a glade file in my case).
> 
> I ended up adding code to the script to manually check for file existence 
> and, if needed, unpacking from the PAR.  It's not a solution that will scale 
> well, but I only have two such files. Example code is below, but 
> PAR::par_handle is probably simpler now I look at the docs again.
> 
> For the more general case, is there a simple means to trigger the 
> re-extraction of all files packed using -a?
> 
> Regards,
> Shawn.
> 
> 
> 
> ###
> require Archive::Zip;
> my $icon = Path::Class::file ($ENV{PAR_TEMP}, 'inc', 'Biodiverse_icon.ico');
> my $icon_str = $icon->stringify;
> 
> my $folder = $icon->dir;
> my $fname  = $icon->basename;
> my $zip = Archive::Zip->new($ENV{PAR_PROGNAME})
>  or die "Unable to open $ENV{PAR_PROGNAME}";
> 
> my $success = $zip->extractMember ( $fname, $icon_str );
> 
> 
> 
> On 16/12/2014 21:06, Kime Philip wrote:
>> Yes, that’s what I though, just scheduled /tmp cleanup etc. but in fact it 
>> seems to happen more often on non-Unix …
>> Certainly some cases were due to users Ctrl-Cing a first .exe run because 
>> they thought it was taking too long (normal for it to take longer on first 
>> run of a new version of course, due to unpacking) and then the cache 
>> building was incomplete. However, most reports are, they say, “suddenly” it 
>> no longer works and complains about missing files. I can’t really explain 
>> it. Deleting the cache and running again always fixes it.
>> 
>> PK
>> 
>> 
>>> On 16 Dec 2014, at 11:02 am, Roderich Schupp 
>>> <roderich.sch...@googlemail.com> wrote:
>>> 
>>> On Mon, Dec 15, 2014 at 9:15 PM, Kime Philip <philk...@kime.org.uk> wrote:
>>> ...regularly we get an error report from users that after a while using the 
>>> tool, a particular file disappears from the cache and the cache has to be 
>>> deleted and the binary unpacked again. I have never worked out why this is 
>>> and it has been a problem for a few years, through many PP versions. You 
>>> can see the general issue reported here:
>>> 
>>> http://tex.stackexchange.com/questions/140814/biblatex-biber-fails-with-a-strange-error-about-missing-recode-data-xml-file
>>> 
>>> From what I have seen, when this file is missing, all of the .pm files in 
>>> inc/ are missing too although I cannot reliably reproduce this. It is a 
>>> very frequent error from many users on various platforms and I’d very much 
>>> like to find out why it happens …
>>>  I'm fairly confident that PAR::Packer doesn't meddle with the files in the 
>>> cache area  of
>>> a pp-packed executable. AFAICT there's nothing in the code to delete files 
>>> there (except
>>> to purge the whole cache area immediatly after running the executable).
>>>  At least for *nix installations I can think of an explanation: 
>>> administrative cron jobs that clean up
>>> /tmp, /var/tmp etc by purging files not modified for some time. Dunno for 
>>> Windows, esp.
>>> since the "temp" directories there are typically specific to each user.
>>>  Cheers, Roderich
>>>  
>> --
>> Dr Philip Kime
>> 
> 

--
Dr Philip Kime

Reply via email to