On Mon, Sep 21, 2015 at 01:15:37AM +0100, Olly Betts wrote:
> Looking at the code in therion to find cavern, it looks in the registry
> for the file associations which Survex's installer sets up.
> 
> This is the code therion uses:
> 
>     if 
> (RegOpenKey(HKEY_CLASSES_ROOT,"survex.source\\shell\\Process\\command",&key) 
> != ERROR_SUCCESS)
> 
> There are two issues with this:
> 
> One is that it only looks under HKEY_CLASSES_ROOT - if Survex was
> installed a non-admin/power-user, then this setting will be under the
> user classes instead (so it ought to also check HKEY_CURRENT_USER).

It seems this isn't actually true on Vista and later - there the Survex
installer should prompt you to log in as an admin or power user if you
aren't already (and the checks for the user being an admin or power user
the installer script does are pointless).

I guess the lack of people moaning about not being able to install
Survex as a normal user means this isn't a great imposition.  We could
allow it but it would either mean that Survex was only usable by the
user who installed it, or that there were two different installers
and you had to download the right one.

So this probably isn't Nick's issue.

> The other is that it assumes that cavern is the program run here, but as
> of Survex 1.2.23 .svx are set up to process using aven by default, so
> this will find aven.exe not cavern.exe.  A simple workaround would be to
> replace "aven" with "cavern" in the leafname of the value returned.
> This is the issue Jenny's hitting.

I've added a bodge to make this work as is in Survex 1.2.24 (just
released), and Jenny's tested it.

I'd still recommend that therion use the workaround above, as currently
you'll get the additional overhead of aven being run, realising it was
called by therion, and then running cavern.

Cheers,
    Olly

Reply via email to