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
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.
Setup name in AddRemove programs...
Started by
gronchi
, Mar 31 2003 10:57
2 replies to this topic
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.
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.
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.
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.