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 J

 

<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

Reply via email to