Two solutions I have seen to deal with this:

1- Use a custom action to cache the MSI and add the cache directory to the 
source list.
2- Use a bootstrapper that launches asInvoker, then relaunches either itself or 
some extracted code as administrator. You then have elevated code for 
installing things, and non-elevated code for launching things.

-----Original Message-----
From: i...@roadrunner.com [mailto:i...@roadrunner.com] 
Sent: Friday, June 18, 2010 5:25 PM
To: 'General discussion for Windows Installer XML toolset.'; Blair
Subject: RE: [WiX-users] Can this be done with WiX?


---- Blair <os...@live.com> wrote: 
> > I see. So as I understand it, I have to keep the MSI around while the 
> > software is installed. Is there a
> > recommended location for such cached MSIs? And is it even possible for the 
> > MSI to delete itself during
> > uninstall?
> > How does Burn handle this?
> 
> If the MSI is installed per-user, it would be recommended to cache it 
> somewhere in the user's roaming profile (since per-user installations can 
> roam). In the case of per-machine installation, it should be place somewhere 
> outside of all user profiles that only someone with admin privileges can 
> change (to prevent using your software being a vector for an escalation of 
> privilege virus attack). Don't use private\system directories (such as the 
> C:\Installer folder) as those are not managed by you and there is no 
> guarantee that the contents won't be cleaned out underneath you. For this 
> same reason, it is not recommended to cache it in any "temporary" location, 
> such as under %TEMP%.
> 
> There is some software that has cached MSI files in the 
> "C:\Windows\Downloaded Installations" folder, but that location may be 
> subject to "cleanup" by the disk cleanup tool. Other locations I have seen 
> include under the Common Files folder of the Program Files folder, in a 
> hidden folder of the program's own installation folder, and in custom hidden 
> folders off the system drive's root folder.
> 
> I'm not sure where burn caches, I would have to look in through the source 
> code, although I believe it is under the control of the UI you add to burn, 
> so it could potentially be anywhere.
> 

Hmm... I see a problem. I don't want my bootstrapper to run as admin, so it 
won't have access to the protected areas like Program Files. The reason I don't 
want to run as admin is because then it won't be able to launch stuff on behalf 
of the logged in user (which may be different from the admin). This is getting 
hairier and hairier.



------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to