cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
buogr01
Level 4

Issues with Featurereinstall() & Minor Upgrades

Hello all,
During an upgrade of a product, I am making a call in OnResumeUIBeforeI() to Featurereinstall(). What I expect to occur is:
1. Existing files originally put down by the feature from the old install will be updated.

2. Any new files included in this feature in the new install will be layed down.

I have verified that Featurereinstall() gets called and executes successfully however the existing files do not update, and any new files do not get laid down. I changed the minor version number and I generated a new package code GUID.

Does anyone have any other ideas? Are my assumptions about featurereinstall() correct? Is there a a mini prerequisite checklist of steps to perform to get featurereinstall() to work as I describe above?

Thank you very much in advance.
Labels (1)
0 Kudos
(4) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Assuming this is an InstallScript MSI project, calling FeatureReinstall sets the REINSTALL property to ALL before launching the MSI part of the installation. To have the upgrade work successfully, the upgrade package needs to follow Windows Installer minor upgrade rules. If these rules aren't followed, the upgrade may not work correctly. In these cases, the following are recommended as troubleshooting steps:
- Create a verbose log for the upgrade and check the log for any SELMGR messages indicating a component was removed from the package. If any of these messages appear, the component mentioned needs to be readded to the upgrade package.
- Run the Upgrade Validation Wizard and check for any VAL0006 errors. These errors indicate a component was removed from the upgrade package that will need to be readded to correct the issue.
0 Kudos
buogr01
Level 4

Hello,
Thank you for your reply. I did not know there was such a wizard. So I run the wizard and I get sever 0006 errors, such as:

Validator: Val0006
Severity: Error
Message: The Component '_C23567A6D5B7F88D8F952B63A2A4C7F9' identified by ComponentID '{C23567A6-6D5B-7F88-D8F9-52B63A2A4C7F}' is missing from the newest version of your setup. You can not delete components and still do a minor/small upgrade. You must perform a major upgrade.
Ref. Pkg: c:\product.msi

My issue is that I get this error when using the same EXACT build and doing nothing more than changing the minor version number and recompiling/rebuilding.

I want to fix this problem however I don't know where to locate component: '_C23567A6D5B7F88D8F952B63A2A4C7F9' or ComponentID: '{C23567A6-6D5B-7F88-D8F9-52B63A2A4C7F}' . I search through the entire DirectEditor for these strings using "find" and there are no occurences. Any idea?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

This appears to be a component added to the built MSI package due to the use of dynamic file links or Visual Studio project outputs. Because these components are dynamically generated at build time, their component codes are generated at each build.

If you are using either dynamic file links or project outputs, it will be necessary to provide a previous MSI package in the Previous Package field for the release you are building (available in the Advanced panel of the Release Wizard or on the Build tab of the release you are building through the Releases view). More information can be found in the following article:
INFO: Patch Creation Tips for Dynamically Linked Project Files
0 Kudos
buogr01
Level 4

Thank you very much, the information helped me greatly. It seems I may need to go the route of a Major Upgrade in this case. I will now post some questions about Major Upgrades in a new thread. Thanks again, you have been most helpful.
🙂
0 Kudos