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

Setup name in AddRemove programs...


2 replies to this topic

gronchi

gronchi
  • Members
  • 71 posts

Posted 31 March 2003 - 10:57

Hi to all,
installing a setup, usually, will add an entry to the Add/Remove Programs table
(Start -> Setting -> Control Panel -> Add/Remove Programs).
It's not clear to me what kind of information correspond to the setup entry name in that table and where the installation take it.
It's a project "string" like @PRODUCT_NAME?
Or it's the Project -> Settings... -> Application -> Name? (inside the InstallShield project).
Or it's something different?

Is it possible to write an arbitrary name into Add/Remove Programs table?

Another question, to detect an already installed program does IS engine check this key or other? It seems to me to remember that IS engine check something related to the GUID of the installed program but this information is not present into Add/Remove Programs table, rigth?


Thanks to all,
ciao Giuseppe

Ozone

Ozone
  • Full Members
  • 77 posts

Posted 31 March 2003 - 16:08

The string that is viewed in the (Control Panel -> Add/Remove Programs) is the string stored in PRODUCT_NAME. It is entered in the IDEs' left panel (Project Workspace -> String Table Tab -> Language (English for me). The install will write this value to the registry at \HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{YourProjectGUID here}\DisplayName. The string, PRODUCT_NAME, is in the DisplayName.

Also, for Maintenance Mode and Un-installation, the install writes your project’s files to the hidden folder   Drive:\Program Files\InstallShield Installation Information\{ YourProjectGUID here }.

The key item in all this is your project GUID number. When the user clicks on your product’s name ( PRODUCT_NAME ) in the (Control Panel -> Add/Remove Programs), it activates the Setup.exe file with the –uninstall argument. This will bring up the Maintenance Mode user interface in default scripts. Custom scripts might not use Maintenance Mode, but that is beyond the scope of your question.

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 31 March 2003 - 16:19

The value of the following registry entry drives what's shown in Add/Remove Programs:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<SetupGUID>\DisplayName

Its value can be whatever you choose, but I forgot what the defaults exactly are since I always override them in my setup via RegDBSetKeyValueEx to a custom string.  I think it's just @PRODUCT_NAME.

This calls helps dictate some of setup's branding information:
InstallationInfo(@COMPANY_NAME, @PRODUCT_NAME_SHORT, @PRODUCT_VERSION, @PRODUCT_KEY);

Also, this call is defined to specifically set the value of the previously mentioned DisplayName:
RegDBSetItem(REGDB_UNINSTALL_NAME, szUninstallName);

As for how the IS engine knows a setup has already been ran, well it looks for the following files:
C:\Program Files\InstallShield Installation Information\<SetupGUID>

If this exists, then the IS engine considers it to be in "maintenance" mode.


user posted image