[ESS] Warning about Emacs/ESS administration and Windows 7 Weirdness

Daniel Nordlund djnordlund at verizon.net
Wed Sep 1 23:47:45 CEST 2010



> -----Original Message-----
> From: ess-help-bounces at stat.math.ethz.ch [mailto:ess-help-
> bounces at stat.math.ethz.ch] On Behalf Of Paul Johnson
> Sent: Wednesday, September 01, 2010 12:44 PM
> To: ess-help
> Subject: [ESS] Warning about Emacs/ESS administration and Windows 7
> Weirdness
> 
> I installed Emacs with ESS from Prof Goulet's site (thanks again!
> http://vgoulet.act.ulaval.ca/en/ressources/emacs/) on some machines
> and everything worked great.  For me.  I mean,  not for other users on
> the machines.   I had that same old problem that R was installed in
> c:\Program Files, but Emacs in C:\Program Files (x86) did not find it.
>  Then I removed R and installed the 32bit version in C:\Program Files
> (x86), but Emacs/Ess could not find it either.  I suppose my registry
> settings were so full of crap by that time it was a lost cause.
> 
> But that's not such a bad problem.  As the Windows admin, I can change
> the site-start.el file in Emacs to let it know where Rterm is.  No big
> deal.
> 
> But when another user logs in, WHAMO, site-start.el is changed back to
> the original thing. Rterm.exe not found.  It was very maddening. I
> kept having to make the same change every time a new user came along.
> 
> Later I learned that Win7 has a 'security' setup called UAR and if you
> edit a file in C:\Program Files (x86), even if you are the
> administrator, Win7 thinks you don't mean what you are doing, and so
> it transparently saves your changes in a different place inside your
> own user account.  So the change you make works for you only, not for
> other users.  The new version goes into a folder "VirtualStore" that
> is in a hidden part of the user folder.  Any program the user runs
> that looks for C:\Program Files (x86)\GNU Emacs
> 23.7\site-lisp\site-start.el  does not get what it asks for. Instead,
> it gets C:\Users\pauljohn\AppData\Local\VirtualStore\...
> 
> I pokee and bashed this long enough to find a "workaround".  If you
> use the admin power to copy the file to some "unprotected" directory,
> say Desktop, then you can revise it.  Then manually rename  the
> original, and then delete it, then copy the new one back there.  It
> will ask for an admin password, but at least it works.   While you do
> that, you can monitor the VirtualStore folder to make sure no changes
> are getting stuck there.  (This is why I say this is a completely
> idiotic security regime.  It won't let you edit files in c:\Program
> Files, but it will allow you to delete them and copy new ones in their
> places.)
> 
> I have been wondering what should be the best way to avoid this silly
> system.
> 
> If Emacs defaulted to install another folder, say C:\NonSuckyPrograms,
>  don't think UAR would bother it.  Any folder that does NOT  have
> "Program Files" or "Windows" in it would be OK. I think.
> 
> Here's a pretty good post about it.  It says you can turn off a number
> of security features, but I don't want to do that for fear of actually
> allowing in an attacker.
> 
> http://www.jondavis.net/techblog/post/2008/02/Beyond-Disabling-UAC-
> Disable-Virtual-Store.aspx
> 

My solution is to install R and Emacs/ESS outside of Program Files, specifically 

C:\R\R-2.11.1\
C:\GNU-Emacs-23.2\

I can then edit settings at will, without Windows 7 complaining and without worrying about paths containing spaces (which can sometimes be a problem).

Hope this is helpful,

Dan

Daniel Nordlund
Bothell, WA USA



More information about the ESS-help mailing list