No announcement yet.

Installation components not getting upgraded during minor update

  • Filter
  • Time
  • Show
Clear All
new posts

  • Installation components not getting upgraded during minor update

    I'm trying to get my installer to do a minor upgrade. It contains a file, scanning.exe, that has gone from version 2.0.4 to version 2.1.1. However this file is getting skipped when I run the installer. Also I added a new file Agent.RUT. to the package and it is not getting installed when I do an upgrade. I'm using the command line options REINSTALL=ALL REINSTALLMODE=vomus in the lua script. When the installer finishes, the product version in the Windows control panel shows 2.1.1 so it seems like the upgrade completed, but the new exe files have not been installed. I can't figure it out. I've attached the log.

    Component: scanning.exe; Installed: Local; Request: Null; Action: Null

    Component: Agent.RUT.; Installed: Absent; Request: Null; Action: Null

    What causes no action to be taken for these exe files? The installer works great if no previous version of the product is installed. There is only an issue when upgrading from an older version. Thank you for your help.
    Attached Files

  • #2
    This sounds like you made a mistake in the MSI. I recommend that you use MSIENFORCEUPGRADECOMPONENTRULES, as explained here and inspect the log file for the explanation of the error.



    • #3
      This helped a lot. I found this in the logs:

      MSI (s) (74:20) [09:39:03:144]: Machine policy value 'EnforceUpgradeComponentRules' is 0
      MSI (s) (74:20) [09:39:03:144]: SELMGR: ComponentId '{828354CA-3E12-4EE1-A32D-EE064BD63FBB}' is registered to feature 'Complete', but is not present in the Component table.  Removal of components from a feature is not supported!
      MSI (s) (74:20) [09:39:03:144]: Note: 1: 2771 2: Complete
      Action start 9:39:03: CostFinalize.
      DEBUG: Error 2771:  Upgrade of feature Complete has a missing component.
      MSI (s) (74:20) [09:39:12:347]: Product: Produce Pro Scanning -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2771. The arguments are: Complete, ,
      I then checked and found that I changed component {828354CA-3E12-4EE1-A32D-EE064BD63FBB}. It originally had a shortcut in the start menu and I had removed the shortcut. I put back the shortcut and then the upgrade worked! I have two follow up questions. #1 - Is it OK to always use MSIENFORCEUPGRADECOMPONENTRULES on the command line? Or is that just for troubleshooting? #2 - To get rid of the shortcut without breaking my MSI minor upgrade process, do I have to remove it with a lua script?


      • #4
        Hello, great to hear that you were able to locate the error. You can use MSIENFORCEUPGRADECOMPONENTRULES always, or even set a registry key to have it check the rules automatically (the link is in Rob Mensching's post, which I mentioned in the previous reply).
        To remove the shortcut without actually removing the component, you could try to delete it via Custom Action. Hopefully this does not violate another of the MSI rules on the way...