Windows XP upgrade trouble - solved (was: Unable to start WinHugs)

Sigbjorn Finne sof@galois.com
Fri, 22 Mar 2002 11:05:22 -0800


After a couple of e-mail exchanges with YH Chen, we've managed
to get to the bottom of this one.

When upgrading, the XP installer performs a number of rewrites in the
the user Registry hives. In particular, it tries to adjust references to
point to the new OS system directory rather than the old one.

So, when it comes across -E"c:\\windows\\notepad.exe" in a user's Winhugs
option string, it adjusts this to -E"c:\windows\system32\notepad.exe"
(assuming c:\windows is where you opted to put the XP install).
It miserably fails to maintain the escaping of the backslashes though,
causing WinHugs to complain of illegal character escapes the next time
it starts up. A bug in the XP installer, I'd claim.

To solve/work around this one either download&use my 'restore' utility from
the Hugs PowerToys page, http://galois.com/~sof/hugs/PowerToys.html, or
perform the following piece of Registry micro surgery:

* start up 'regedit' (via Start->Run)
* navigate down into
    HKEY_CURRENT_USER\Software\Haskell\Hugs\WinhugsDecember 2001
* double-click on the Option value in the right hand pane window. A dialog
   window that lets you edit the Registry value's data should then pop up.
* Go to the end of that string and delete the -E"...." portion and hit OK.
* Quit 'regedit' and start up Winhugs.

Future releases of (Win)Hugs will be able to handle this more robustly.

hth
--sigbjorn

----- Original Message -----
From: "Sigbjorn Finne" <sof@galois.com>
To: "YH Chen" <yh.chen@mail.utexas.edu>
Cc: <hugs-bugs@haskell.org>
Sent: Thursday, March 21, 2002 16:50
Subject: Re: Unable to start WinHugs


> Hi,
>
> this one is a bit mysterious. I managed to reproduce it a while ago with a
> beta
> version of XP (and fixed it by simply re-installing Hugs), but am unable
to
> reproduce
> it now when upgrading a vanilla Win 98 install with the RTM version of XP.
>
> In the less-than-likely event that it'll tell me something interesting,
> could you
> send me a copy of the Prelude.hs WinHugs is failing on + line number?
>
> thanks,
> --sigbjorn
>
> btw, It is also worth checking that the uninstall completely deletes the
> Hugs98/ directory before installing Hugs98 again.
>
>
> ----- Original Message -----
> From: YH Chen
> To: hugs-bugs@haskell.org
> Sent: Tuesday, March 19, 2002 13:08
> Subject: Unable to start WinHugs
>
>
> I recently upgraded from WinME to WinXP, and in doing so, I discovered
that
> I can't start up WinHugs anymore.  Whevever I try to do so, the Hugs
> interpreter window shows up as normal, but with:  ERROR - Illegal
character
> escape sequence "\W" .   A Hugs popup shows up:  FATAL ERROR:  Unable to
> locate prelude.
>
> I've tried uninstalling and reinstalling Hugs (I'm using the 12/01
version)
> but to no avail.
>
> I hope the info provided will help you resolve what's wrong and let me run
> WinHugs again.  If you need any more info, please feel free to contact me
> via this email address.
>
>