How do I make the properties in the package change their values during Maintenance or Upgrade?

Most of the installation packages use custom properties for retrieving information from the user. However, there are cases where the properties must be changed during Maintenance or Upgrade sequence. We already covered the case where the properties in the package must keep their values during Maintenance or Upgrade here.

Let's suppose you have a package with registry keys made from user input. During maintenance mode the user might change the input, so the registry values defined with properties must change too. In order to achieve this:

1. Go to the Organization page

2. Create a new feature and add to it your registry entries

3. In the Feature Properties panel:

  • Set the Identifier of the feature, for example "Registry"
  • Select the Not Displayed option from the Feature Tree, so it will not be shown in the ConfigureDlg dialog

4. In the Dialogs page:

  • Select the MaintenanceTypeDlg from the Maintenance folder
  • Click on the Modify button on the dialog
  • Add a published event by clicking the New button from the Published Events tab
  • Select Reinstall one or more features from the newly appeared dialog
  • In the Argument edit box write the identifier of the feature that contains the registry, in our example "Registry"
  • Do not modify the Condition field and click OK
  • Click on the Repair button and follow the same steps as for the Modify button

5. Build and run the project