Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Update Standard to Basic MSI


1 reply to this topic

Arianna

Arianna
  • Members
  • 6 posts

Posted 03 July 2002 - 17:56

IS Developer 7.03:

Is it possible to create a project in Basic MSI that updates software that had previously been installed using Standard IS?

We have decided to convert our software install from Standard IS to Basic MSI. However, there are users who have already installed our software with the Standard IS.

Just wondering what my options are here.

-Arianna

Arianna

Arianna
  • Members
  • 6 posts

Posted 11 July 2002 - 19:20

I figured out one solution, though it is far from what I was hoping for.

Before CostInitialize:
* Backup all the files you want to remain on the target system to a temporary directory. (Note: You cannot use default properties for INSTALLDIR because they are not set until file costing is complete.)
* Run the uninstall for the product silently either from a custom action, or by calling LaunchAppAndWait.

These steps need to happen before CostInitialize to ensure that the file costing contains all the proper values.

Deferred Custom Action:
* Copy the backup files back to their proper places and create code to update certain ones properly (ex: database files).


****THIS NEXT PART NEEDED IF FURTHER PROBLEMS****
If the CostInitialize occurred in the GUI section of the sequence, then something interesting happens in MSI when the ExecuteAction is called: the property _MSI_FEATURE_SELECTION is set to _NONE_. This makes the ADDLOCAL property NULL and makes your code think you are trying to REMOVE the software.

The only way I could find to fix this was to put in a "hack".

After ISStartup in the Execute Sequence:
* Set the Property ADDLOCAL=ALL (or a specific feature list, ex: Feature1,Feature2)
(Note: You may see a runtime error 2711 if your custom action is of Type "Set a Property" because the property was added to the Property Table with an initial value of "0". If this is happens, just remove the ADDLOCAL property from the Property Table.)