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
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.
Minor Upgrade does not add new files
Started by
satishb
, Nov 17 2004 11:23
3 replies to this topic
Posted 17 November 2004 - 11:23
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
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.
Stefan Krüger
InstallSite.org twitter facebook
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.
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.
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.
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.
Q2. Why is it throwing this error after copying 2 new files.
Regards,
-Satish
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.
Stefan Krüger
InstallSite.org twitter facebook