Yes windows installer is detecting that the keypath is still there and deciding 
that no action is required for the component.

What I want to do is cause the component to be reinstalled even if the keypath 
registry value still exists.

I can think of a couple of hacks:
* Delete the keypath registry value before InstallInitialize
* Treat any change as a major upgrade and run "RemoveExistingProducts" to 
silently uninstall first.

I have been trying to get this working using conditions and/or keypaths as that 
seems like the "right" thing to do.  What am I missing?

Thanks,
Gavin :)

-----Original Message-----
From: Rob Mensching [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, November 11, 2008 12:49 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Always Reinstall a Component

The KeyPath of the Component controls whether it is installed or not.  The MSI 
SDK talks about KeyPaths in detail.  A verbose log file should give you a 
pretty good idea what the Windows Installer has decided to do with your 
Component.

-----Original Message-----
From: Gavin Bee [mailto:[EMAIL PROTECTED]
Sent: Monday, November 10, 2008 20:08
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Always Reinstall a Component

We have a WIX v3 installer and are trying to force a component that contains 
only registry values to reinstall when the user presses “change” in Add/Remove 
programs.  The registry values are populated from properties that are set by 
our installer UI and can be changed when running the installer again.  (See 
details below)

The UI correctly prompts for new values but they are not saved to the registry. 
 This appears to be because the component is not reinstalled.

Among other things, I have tried making the component transitive with various 
conditions similar to:
               NOT Installed OR  $component <> 2
               NOT Installed OR REINSTALL
               NOT Installed OR $component = 3

It seems like there should be a way to force a component or a feature to 
reinstall.  Have I missed something?

How is this supposed to work? We really just want the property values set in 
our installer UI to be saved to the registry.  It seems like this should be 
easy, but I have been unable to find a good example of how to do this.

Thanks,
Gavin ☺

<Feature Id="Client" Title="Base Install" Level="1">
   <ComponentRef Id="ClientRegistryKeys" />
</Feature>
…
<Component Id="ClientRegistryKeys" Guid="{aguid}">
  <RegistryKey Action="createAndRemoveOnUninstall" Root="HKLM"
               Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Run" >
    <RegistryValue Id="AutoStart"
                   Type="string"
                   Name="AutoStart"
                   Value="[INSTALLLOCATION]\app.exe [VALUEFROMUI]" />
  </RegistryKey>
</Component>
…
<UI Id="WixUI_ClientDialogs">
  …
      <Publish Dialog="ClientParametersDlg" Control="Next" Event="NewDialog" 
Value="VerifyReadyDlg">1</Publish>
      …
      <Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" 
Event="NewDialog" Value="ClientParametersDlg">1</Publish>
      …
      <Dialog Id="ClientParametersDlg" Title="[ProductName] Setup">
      …
        <Control Id="Next" Type="PushButton" Height="17" Text="Next" />
        …
        <Control Id="ValueFromUIEdit" Type="Edit" Property="VALUEFROMUI" />
        …
      </Dialog>
    </UI>





-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to