That method of loading and unloading all of the hives does not actually work 
correctly in all cases.  The profiles that are on the machine may be old caches 
of the user profile.  The code may have worked in many cases but will 
definitely not work correctly in roaming user scenarios.  I've been thinking 
about the best way to solve this problem but the Windows operating system just 
doesn't seem to have all the mechanisms in place to truly solve the problem 
correctly (first-boot, roaming, uninstall).

As for the rest of your comment, you really need to take that up with the UAC 
folks (they were the one pushing all privileges out of the LocalSystem 
services).  At a certain level I agree with you that their approach was very 
draconian.  However, I'm not sure what the best way was to approach their 
backwards compatibility problem.  It's hard to know up front all of the 
applications that will break as you retro-actively try to tighten up the system 
(I don't know how you can say that removing SeBackupName "unnecessarily 
crippled the Windows Installer".  I don't pretend to know all the threats the 
Windows Installer service faces but I expect there are quite a few really nasty 
EOPs in there).  In this case, UAC may have written off the need to do 
RegLoadKey()/RegUnloadKey () since it doesn't work correctly in all cases 
already.

But I really don't know... all I do know is that the scenario as a whole does 
not work correctly in all cases and it is even more broken on Vista than ever 
before.  Personally, I would use this example as a justification to write fewer 
and fewer CustomActions.  CustomActions are where I see almost all of the 
installs problems these days.

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brian Patton
Sent: Monday, April 02, 2007 1:07 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Privileges gone from Vista MSI

Our installer uses RegLoadKey/RegUnloadKey in a CustomAction to perform 
multi-user installation (i.e. write to mutliple user's HKCU trees), and, more 
importantly, multi-user uninstallation. Installation can effectively be delayed 
to first run, but uninstallation needs to happen immediately for all users. 
This paradigm works fine on all OS'es before Vista.

In Vista, the least-privilege obsession has unnecessarily crippled the Windows 
Installer engine by removing these privileges. My primary question is this: Has 
anyone figured out how to get SeBackupName/SeRestoreName privileges in an MSI 
CustomAction on Vista?

See discussion...
http://www.macrovision.com/company/news/newsletter/tips/is_vista.shtml
http://blog.deploymentengineering.com/2006/10/vista-deferred-ca-consideration.html
http://blogs.msdn.com/vistacompatteam/archive/2006/10/19/impact-of-least-privilege-in-system-services.aspx

Does anyone else have concerns about continuing to develop on a platform that 
can change so dramatically, effectively pulling the rug out from under our 
feet? When we made the decision to use WiX/MSI it was with the intent of being 
more sysadmin-friendly and leveraging some of what Windows Installer/MSI can 
already do for us. Now I wonder if we should move to an internally cooked-up 
system for install/uninstall, if the Windows Installer won't be able to do 
"real-world" multi-user installs/uninstalls.

Please send suggestions!
Thanks,
-Brian Patton
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to