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

Multiple Entries in Add\Remove Prgrams


7 replies to this topic

shorstma

shorstma
  • Members
  • 7 posts

Posted 22 July 2004 - 21:53

My application can be installed multiple times on a server. I want to be able to see multiple entries in Add/Remove Programs so that I can uninstall each unique installation while leaving the others there. My script fails to do this.

In setup.rul, I create a unique product name. After I install my product multiple times, I can see the multiple installs in the registry under these unique keys. BUT! in Add/Remove Programs, I see only 1 entry - the last product name installed. And when I remove that program from Add/Remove, all my installs are removed.

I guess I don't understand the variable that I need to supply the name to Add/Remove that will uninstall each occurance. This seems simple, but I don't understand the relationship between the registry and add/remove and what commands to use to get it right. Thanks very much for any help

This is the script that I use:
-----------------------------------------------------------
szCompany = "IBM";
szProduct = "HelpNow_"+account;
szVersion = "6.3";

SdProductName ( szProduct );
InstallationInfo(szCompany, szProduct, szVersion, @PRODUCT_KEY);
szAppPath = DirWebHN;
MaintenanceStart ( );
if ((bIs32BitSetup) && (bIsShellExplorer)) then
RegDBSetItem( REGDB_APPPATH, szAppPath );
RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
endif;

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 22 July 2004 - 23:52

Well your application may be designed to do this, but InstallShield 6.x really isn't. Later versions of IS can though, but I'm not sure exactly which one, so check with Stefan.

You see each IS project has a hard-coded GUID that is used for the supporting uninstall information. Therefore each of these installations attempts is reusing the same locations. For more information about these, see the Basic FAQ.

I remember at some point someone mentioning a trick to generate these GUIDs on-the-fly, but I don't recall where exactly, so try searching this forum.

Otherwise you would need to do A LOT of customization work to both the install & the uninstall process to "fake" this support, so I'm not gonna even try to explain the steps involved.
user posted image

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 July 2004 - 09:38

Maybe article "Avoid Maintenance Mode in IS6" at http://www.installsi...en/ispt_doc.htm will help you.
Support for muti-instance installations was added with Professional 7, so you may want to consider upgrading to the latest version (InstallShield X)

shorstma

shorstma
  • Members
  • 7 posts

Posted 29 July 2004 - 22:04

I don't think that forum article is what I need. It's solution allows you, when you build an I.S. executible, to change the GUID for each new build.

That will not help me. I would like to send my I.S. product to one company administrator. Then I want that admin to install my product many times for each account that exists at that location. So, I need the GUID changed on the fly. Is there any way possible to do this?

Now, and i'm getting a bad feeling about this... If there is no way to do what I need, can you tell me how to have no product at all show up in Add\Remove? This way, I can install multiple copies of my product to the machine, and they can remove each manually. (because right now, they install multiple products, and only one shows up in add\remove, and when I remove it, all instances get removed)

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 30 July 2004 - 08:01

Could you please explain:

QUOTE
I would like to send my I.S. product to one company administrator. Then I want that admin to install my product many times for each account that exists at that location


What does this mean exactly? What accounts are these? It is possible to generate GUID's in VBScript if that helps.
Regards
-Stein Åsmul

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 30 July 2004 - 14:19

@Glytzhkof: I'm thinking that each user has their own account space. Therefore, he probably means installing the product into each of the spaces, so that a unique copy is available to every user on the network.

@shorstma: What's shown in Add/Remove Programs is based on the display name of the associated entry, so if you just delete that registry value, then you won't be able to see it.

You could even delete that whole registry key. Again, for more information on this, see the Basic FAQ.
user posted image

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 31 July 2004 - 15:31

Hmmm, I believe that paragraph "Create Unique Uninstall Entries on the Fly" in the article I mentioned should do what you want to do. Alternatively paragraph "Don't Create an Uninstall Registry" in the same article addresses your second solution.
Did you look at these and find that they don't do what you need?

shorstma

shorstma
  • Members
  • 7 posts

Posted 05 August 2004 - 22:42

Stefan, Thanks very much, that GUID.exe works great. Just what I needed to create the multiple entries.