I was thinking of the advertised case, but I see now that you're not using
it in that ProgId component definition. If you have an advertised=yes
ProgId, WiX populates the MSI's Extension and ProgId tables and there's
nothing else needed - no need for registry entries. I was thinking there
could be a case where you switch between advertised/not advertised and the
uninstall would remove registry entries that were manually specified, even
though they were just created by an advertised=yes ProgId. The more I look
the more unlikely this scenario seems. The general point is that I have
seen your problem when there was more than one creator of those registry
items, sometimes in the same install, that's what I was thinking.  Also it
will uninstall the entire component and contained registry items if the
component id ref count goes to zero, so I assume you've checked that
possibility - I'm assuming that the component definition is completely
unchanged between the prior install and the upgrade otherwise I wouldn't be
looking at more unlikely scenarios.

Phil Wilson


On Thu, Dec 5, 2013 at 9:11 AM, Brian Gillespie <br...@mcneel.com> wrote:

> Hi Phil,
>
> Thanks for the reply. I'm not sure what you mean by "Are you sure you
> haven't overlapped the Progid element with the registry
> stuff?" - can you please elaborate?
>
>   - Brian
>
> Brian Gillespie
> Rhinoceros Development
> Robert McNeel & Associates
>
>
> On Wed, Dec 4, 2013 at 9:06 AM, Phil Wilson <phildgwil...@gmail.com>
> wrote:
>
> > There's nothing wrong with a sequence of InstallExecute, REP,
> > InstallFinalize at the end of the execute sequence - it's one of the
> > choices documented in MSDN. Some rambling thoughts/brain dump to think
> > about:
> > 1. Are you sure you haven't overlapped the Progid element with the
> registry
> > stuff? I'm pretty sure that the Progid setting populates the Extension
> and
> > Progid tables in the MSI file - you can check that - and that means
> Windows
> > Installer will just do all that registration without you needing to add
> > registry entries. Something like that may be going on.
> > 2. You're sure that the component guid is the same in the old and the
> > upgrade installs?
> > 3. Is there a bitness change going on?  Was the old version x86 and the
> new
> > one 64? It's not clear from the log what bitness is being created and
> which
> > removed. The other issue in this area is Registry Reflection. A 64-bit
> file
> > association prior to Windows 7 was automatically available to 32 and
> 64-bit
> > programs. It's suggested here:
> >
> >
> http://msdn.microsoft.com/en-us/library/windows/desktop/dd464643(v=vs.85).aspx
> > that both items, native and WOW64 be explicitly created, so an x64
> install
> > would create both x64 and WOW64 file associations.
> >
> > Phil Wilson
> >
> >
> > On Tue, Dec 3, 2013 at 11:19 AM, Brian Gillespie <br...@mcneel.com>
> wrote:
> >
> > > Hi,
> > >
> > > I'm using WiX 3.5 in VS 2010.
> > >
> > > Some of my users are experiencing a problem after performing a major
> > > upgrade of our product. One component (WiX for the component shown
> below)
> > > seems to have it's file extension and mime type properly registered
> > during
> > > WriteRegistryValues, and then the registration is removed because
> > > RemoveRegistryValues executes after WriteRegistryValues.
> > >
> > > Our application includes VS2005 runtimes, and so I think our
> > InstallExecute
> > > sequencing may be less than ideal, but seems to hold together for the
> > most
> > > part:
> > >
> > > *Install Execute:*
> > >     <InstallExecuteSequence>
> > >       <!-- see the RemoveExistingProducts help entry at
> > > http://msdn.microsoft.com/en-us/library/aa371197.aspx for other
> options
> > > for
> > > scheduling RemoveExistingProducts -->
> > >       <!-- Sequencing RemoveExistingProducts after InstallFinalize
> seems
> > to
> > > leave more on the machine than I'd like
> > >          - especially when switching between commercial and beta
> builds.
> > At
> > > least for betas, I think it's better to do a full remove
> > >            right before InstallInitialize.
> > >       <RemoveExistingProducts
> > > After="InstallFinalize"></RemoveExistingProducts>
> > >       -->
> > >
> > >       <!--
> > >       "Avoid placing RemoveExistingProducts action before
> > > InstallInitialize"
> > >       A warning from the community content at MSDN:
> > > http://msdn.microsoft.com/en-us/library/aa371197.aspx
> > >       If your installation includes VS2005 runtime merge modules and
> > > upgrades existing installation
> > >       (which also contains the same C /C++ runtime merge modules),
> avoid
> > > placing RemoveExistingProducts
> > >       action before InstallInitialize, otherwise upgrade on Vista will
> > > uninstall already installed
> > >       SxS runtime modules and silently fails to install them again,
> > > obviously breaking all
> > >       installed programs depending on VS2005 cruntime. (can be cured by
> > MSI
> > > 'repair' facility).
> > >       <RemoveExistingProducts
> > > Before="InstallInitialize"></RemoveExistingProducts>
> > >       -->
> > >
> > >       <InstallExecute Before="RemoveExistingProducts"></InstallExecute>
> > >       <RemoveExistingProducts
> > > Before="InstallFinalize"></RemoveExistingProducts>
> > >       <!-- Other custom actions omitted for brevity -->
> > >     </InstallExecuteSequence>
> > >
> > >
> > >
> > > *Component registration is as follows:*
> > >     <Component Id="RhinoInstallerEngine.64bit.$(var.Platform)"
> > > Guid="11B0087A-8339-482D-8F17-BCD30780EC1B"
> > > Directory="INSTALLDIR.System.x64">
> > >       <File Id="RhinoInstallerEngine.64bit.$(var.Platform).rhiexec.exe"
> > > Source="..\$(var.Platform)\Program Files\System\x64\rhiexec.exe"/>
> > >       <RegistryValue Root="HKLM"
> > > Key="SOFTWARE\Classes\Rhino.InstallerPackage\DefaultIcon"
> > > Value="&quot;[INSTALLDIR.System.x64]rhiexec.exe&quot;,0" Type="string"
> />
> > >       <RegistryValue Root="HKLM"
> > > Key="SOFTWARE\Classes\Rhino.InstallerPackage" Name="FriendlyTypeName"
> > > Value="!(loc.RHIFileDescription)" Type="string" />
> > >       <ProgId Id='Rhino.InstallerPackage' Description='Rhino Installer
> > > Package' Icon='RhinoInstallerEngine.64bit.$(var.Platform).rhiexec.exe'
> > > IconIndex='0'>
> > >         <Extension Id='rhi' ContentType='application/rhi'>
> > >           <Verb Id='open' Command='!(loc.RHIFileVerb)'
> > > TargetFile='RhinoInstallerEngine.64bit.$(var.Platform).rhiexec.exe'
> > > Argument='"%1"' />
> > >         </Extension>
> > >       </ProgId>
> > >     </Component>
> > >
> > >
> > > *Attached is the verbose install log.*
> > > Of note are lines:
> > > *Line 48242*: MSI (s) (5C:20) [09:35:54:748]: Executing op:
> > > RegAddValue(Name=Content Type,Value=application/rhi,)
> > >
> > > *Line 62911*: MSI (s) (5C:78) [09:36:06:713]: Executing op:
> > > RegRemoveValue(Name=Content Type,Value=application/rhi,)
> > >
> > > Any ideas how I can fix this? Please let me know if you need any other
> > > details.
> > >
> > >   - Brian
> > >
> > > Brian Gillespie
> > > Rhinoceros Development
> > > Robert McNeel & Associates
> > >
> > >
> > >
> >
> ------------------------------------------------------------------------------
> > > Rapidly troubleshoot problems before they affect your business. Most IT
> > > organizations don't have a clear picture of how application performance
> > > affects their revenue. With AppDynamics, you get 100% visibility into
> > your
> > > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of
> AppDynamics
> > > Pro!
> > >
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
> > > _______________________________________________
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > >
> > >
> >
> >
> ------------------------------------------------------------------------------
> > Sponsored by Intel(R) XDK
> > Develop, test and display web and hybrid apps with a single code base.
> > Download it for free now!
> >
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
>
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to