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

Minor Upgrade does not add new files


3 replies to this topic

satishb

satishb
  • Members
  • 8 posts

Posted 17 November 2004 - 11:23

Hi,

I have created a setup program using VisualStudio.net setup project. The installation of the intial version runs fine, copies all the files, registers COM components, creates shortcuts and makes required registry entries.
Now, i am trying to do a minor upgrade (modifying product version) by adding some new files, replacing some files and deleting some of the existing files. When i run the setup with option msiexec /fvedu ProductSetup.msi it does not copy the new files, does not replace the existing files. At first glance i did not understand what the problem could be.

After couple trials, i observed that the minor upgrade does not go through
if i "ADD NEW FILES" and "DELETE SOME EXISTING FILES" simultaneously from
the setup project. It goes well if i retain all original files and 1. "ADD NEW FILES" or 2. Replace some of the existing files. I tried the same by creating the patch
the results are same as above. Upon observing the Log file, i found some SELMGR messages saying that

CODE
<< MSI (s) (4C:68): SELMGR: ComponentId '{469A385C-6E3F-F6C7-F002-69051CFC7692}' is registered to feature 'DefaultFeature', but is not present in the Component table.  Removal of components from a feature is not supported!
MSI (s) (4C:68): SELMGR: The feature-component mapping registration is broken for feature 'DefaultFeature' of product '{75AE7A3B-C737-40B5-AE10-086C7875A44F}' >>


Is this a known problem or
a is there a workaround/solution to Delete and Replace the existing files and simulataneously add new files to the setup project for Minor Upgrades.

How can I use transform file for upgrades ?

Regards,
-Kumar

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 November 2004 - 09:10

For a Minor Update you are not allowed to remove components. VS handles components automatically for you, and I guess that removing the files automatically removed the components. Solution: either don't remove files, or make a Major Upgrade.

satishb

satishb
  • Members
  • 8 posts

Posted 19 November 2004 - 12:00

First of all Thanks for your response.

Carrying the investigation forward, I tried applying the transforms.

This is what i did

1. Create the setup project version 1 say it generates ProductVersion1.msi

2. Create the setup project with upgraded product version (Minor Upgrade), add 5 new files, delete 2 files, replace 3 existing files. Say it generates ProductVersion2.msi

3. Now i generate the transform using ProductVersion1.msi and ProductVersion2.msi say ProductTransform.mst

4. Install ProductVersion1.msi

5. Find the Cached ProductVersion1.msi from the registry ( found in C:\WINDOWS\Installer directory with cryptic name like 154177c2.msi ).

6. I applied the transform created above to this 154177c2.msi and also removed the ProductVersion1.msi from the system.

7. Verify the 154177c2.msi ( cached copy ) with orca.exe. It does not contain the entries for the deleted files. Thought i am almost near to the solution. biggrin.gif

7. Then tried Installing ProductVersion2.msi with /fvedu options.

Result : It copies 2 of the 5 new files ( Don't know why it did not copy the other 3 files) and logs the same SELMGR error.
CODE

MSI (s) (4C:68): SELMGR: ComponentId '{469A385C-6E3F-F6C7-F002-69051CFC7692}' is registered to feature 'DefaultFeature', but is not present in the Component table.  Removal of components from a feature is not supported!
MSI (s) (4C:68): SELMGR: The feature-component mapping registration is broken for feature 'DefaultFeature' of product '{75AE7A3B-C737-40B5-AE10-086C7875A44F}'

Does not replace the modified files too.

Questions :

Q1. How does the Installer still get the information about the deleted Components?
I have removed them from the cached msi using transforms. sad.gif

Q2. Why is it throwing this error after copying 2 new files.


Regards,
-Satish

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 19 November 2004 - 14:29

Same reason: if you remove a component youi must change the ProductCode. Basically, a patch does exactly what you did: apply a transform to update files.