cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Reureu
Level 10

InstallLocation registry entry empty after minor upgrade

Hi,

I am working on a Basic MSI project using Installshield 2008.
I have noticed that the [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{ProductCode}\InstallLocation] registry entry is ok after the first installation, but it is emptied by a minor upgrade.

Let me describe the procedure:
[LIST=1]
  • Install version 1.0 of my product. The target folder is C:\Program Files\MyCompanyName\MyProgramName\.
    The above registry entry is correctly set to "C:\Program Files\MyCompanyName\MyProgramName\"
  • Perform a minor upgrade using the version 1.1 of the MSI package.
    The above registry entry is still present but it is empty.

    Now if I directly install version 1.1 to the same target folder, the registry entry is set correctly.

    Is that behaviour normal?
    Can this empty registry entry lead to some problems later? It does not seem to cause any problem when deinstalling or using the program.
    Have I forgotten to set any property during the first installation or during the minor upgrade?

    Regards
  • Labels (1)
    0 Kudos
    (4) Replies
    joshstechnij
    Level 10 Flexeran
    Level 10 Flexeran

    This registry entry is set from the value of the ARPINSTALLLOCATION property. This property is set by a custom action named SetARPINSTALLLOCATION. By default, this custom action has a condition of Not Installed, which becomes false after a first time install.

    You can remove the condition from the SetARPINSTALLLOCATION custom action or leave it if the InstallLocation registry value does not need to be queried.

    InstallShield 2009 removes the Not Installed condition from this custom action on new projects.
    0 Kudos
    Reureu
    Level 10

    hi Josh,

    Thanks a lot for your reply.

    Good to know that it has been fixed in Installshield 2009.

    Regards
    0 Kudos
    Richard_Winks
    Level 6

    For what it's worth. The Not Installed condition is still used to control the action of SetARPINSTALLLOCATION in IS 2010.

    Richard
    0 Kudos
    joshstechnij
    Level 10 Flexeran
    Level 10 Flexeran

    The SetARPINSTALLLOCATION action condition was removed for new Basic MSI and InstallScript MSI projects starting with IS 2009. The condition is not removed on projects that are migrated from previous versions of InstallShield to 2009 or newer.
    0 Kudos