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

Duplicate entry in Add/Remove


13 replies to this topic

Amol_MSI

Amol_MSI
  • Full Members
  • 26 posts

Posted 17 October 2007 - 11:41

Suppose I have already installed my product version "3.0" and now i want to install newer version 4.0. I dont want to uninstall previous version I want to kepp both versions on my machine.
When I install newer version 4.0 it works properly as I have given different product id and package id. My upgradecode is same. But problem is that it is adding separate entry in Add/Remove that i dont want. I want only one entry of latest version in Add/Remove for both 3.0 and 4.0.

Please let me know that how can I do that? What changes need to be done to achieve this?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 October 2007 - 12:46

You could eit the registry to delete the old entry. But how would you then uninstall version 3?

Amol_MSI

Amol_MSI
  • Full Members
  • 26 posts

Posted 18 October 2007 - 06:24

Thanks for your prompt reply. Yes, you are correct how I will uninstall version 3 then. See uninstallation process is something like this when user will click on remove in Add/Remove program list my product's uninstallation process is showing dialog box it will show list versions installed on that machine. User can select specific version to uninstall it or user can uninstall all versions of that product. To carry out uninstalltion, entry of latest version is good enough. I dont need older version's entry.


So how can I remove older version's entry while installaing newer version? I want to do this in WIX script. I dont want to remove this entry manually.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 October 2007 - 16:55

I don't know the WiX syntax for this, but you could add rows to the RemoveRegistry table.

Amol_MSI

Amol_MSI
  • Full Members
  • 26 posts

Posted 19 October 2007 - 05:54

I got a workaround for this problem. if I execute command "msiexec /i myapp-v1.msi REINSTALLMODE=vomus REINSTALL=ALL" then it works fine. It removes older version's entry from Add/Remove without uninstalling that version. So when user will double click on MSI installer if we somehow manage to pass these parameters then it will work.

How to pass these command parameters that i dont know.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 19 October 2007 - 08:18

That's a minor update.

Amol_MSI

Amol_MSI
  • Full Members
  • 26 posts

Posted 22 October 2007 - 11:51

What should be done in WIX script to carry out a minor upgrade? If I don't change product id it gives me an error "product is already installed".

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 October 2007 - 12:37

Yes, that's by design. For a minor update you must launch msiexec.exe with the REINSTALLMODE=vomus REINSTALL=ALL command line. You could do this using setup.exe launcher.
You can install a minor update without this command line if it's a patch (.msp) instead of a full .msi file.

Amol_MSI

Amol_MSI
  • Full Members
  • 26 posts

Posted 25 October 2007 - 06:28

No, we can not deploy .msp file. It is not acceptable. I am now trying to carry out major upgarde. I have added upgradecode there even I changed product id and package id. It detects previous installation but i am not removing older installation because it will be needed. I just want to remove its registry entry because newer installtion is adding its own entry there. But I have not been able to remove registry entry. I am not geeting where to add removeregistry table entry. Is there any other way of doing this.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 October 2007 - 08:14

So you want to keep both setups side by side? Or are you installing the new version on top of the old version (in the same folder)?
In the first case, RemoveRegistry might be the way to go. Use the DirectEditor to add a row to the RemoveRegistry table.
In the latter case, perform a Major Upgrade, but change the settings to "first install new version, then remove unneeded files".

Amol_MSI

Amol_MSI
  • Full Members
  • 26 posts

Posted 25 October 2007 - 09:08

I want to keep both setups. The newer version will be installed under same parent directtory but separate folder will be created for that so that we will have separate folder for each version that we are installing. We dont need to remove any file here only thing is that we dont need two seperate entries in Add/Remove latest version's entry is good enough to uninstall all versions.

I am using WIX for that. So adding a row to the RemoveRegistry table will resolve my problem. Is this correct?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 29 October 2007 - 17:31

Yes, that should do the trick.

Amol_MSI

Amol_MSI
  • Full Members
  • 26 posts

Posted 30 October 2007 - 07:32

As you said, I added "RemoveRegistry" table and "RemoveRegistryValues" action to remove older entry from Add/Remove programs list but it is not removing entry from Add/Remove programs list.

See below what I have added,

RemoveRegistry Table:->

RemoveRegistry -> 'RemoveOld'
Root -> '2'
Key ->'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{53B5EF7E-3ED6-46BC-B7D9-4E1221EA78C5}'
Name ->
Component_ -> 'CPYCURL'

RemoveRegistryValue Action:->

<InstallExecuteSequence>
<RemoveRegistryValue/>
<InstallExecuteSequence/>


Please let me what else to be done to remove entry from Add/Remove prgrams list.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 31 October 2007 - 09:55

In the Name column, enter '-', or if you want to keep the entry, just 'DisplayName'.