It looks like I can use MsiEnumRelatedProducts to find the existing
products by upgrade code. I can't uninstall the old products from a
custom action, but I should be able to use the bootstrapper for that.
I know there will be difficulty uninstalling a product which was
installed by another user, but I don't think I can solve that. I'm
just hoping to achieve a smooth upgrade path for most users.

What's the best way to run my custom code from burn? Should I write a
managed bootstrapper application?

On 11/27/12, Philip Patrick <patri...@varonis.com> wrote:
> Well, not sure ours was the best solution, but what we did is a custom
> action that literally moves all registry entries related to per-user package
> to per-machine. That means from
> HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\SID-OF-USER
> to UserData\S-1-5-18 (latter stores per-machine installations).
>
> We decided to go this way because:
> 1. It is not possible to uninstall another MSI from custom action since
> Windows Installer doesn't allow concurrent installations
> 2. Per-user installation could have been installed with different user than
> the one performing upgrade - this way MSI  will not "see" that there is
> something installed. At least we saw this behavior from our investigations.
>
> Today, I wouldn't recommend going this way - it is too buggy. Instead I
> would  create a custom action that detects such per-user installation and
> asks user to uninstall first.
>
>
>
> -----Original Message-----
> From: Derek Wickern [mailto:dwick...@gmail.com]
> Sent: Wednesday, November 28, 2012 02:51
> To: wix-users@lists.sourceforge.net
> Subject: [WiX-users] WiX 3.6 upgrading perUser to perMachine
>
> I need to upgrade a package which was unfortunately created with per-user
> scope. It's installing to ProgramFiles. I understand that MSI can't upgrade
> my perUser to perMachine.
>
> I have some ideas:
> 1. Automatically uninstall the per-user package (custom action?) 2. Install
> the per-machine package right on top of the per-user package 3. Detect the
> scope of the original package and upgrade to the same scope. Otherwise
> default to perMachine.
>
> I just upgraded my project to WiX 3.6 and I'm using burn to create a
> boostrapper. I'm hoping that gives me more options.
>
> What's the best solution here?
>
> ------------------------------------------------------------------------------
> Keep yourself connected to Go Parallel:
> INSIGHTS What's next for parallel hardware, programming and related areas?
> Interviews and blogs by thought leaders keep you ahead of the curve.
> http://goparallel.sourceforge.net
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ------------------------------------------------------------------------------
> Keep yourself connected to Go Parallel:
> INSIGHTS What's next for parallel hardware, programming and related areas?
> Interviews and blogs by thought leaders keep you ahead of the curve.
> http://goparallel.sourceforge.net
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>


-- 
Derek Wickern

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to