Question

I have an legacy installation from a DotNet 1.1 application (with Visual Studio 2003) that will not deploy the msflxgrd.ocx file on the FIRST installation on Windows 7. If I uninstall the MSI and then run the same MSI again, (and future installations on the same laptop), the msflxgrd.ocx file deploys. At first I suspected that it was a regsvr32 issue, but since there is no file to register, it seems to be more of a deployment issue. I have administrative rights on the machines.

I have links to the MSI logs here:

Is anyone able to help?

Thanks!

Was it helpful?

Solution

My previous answer was to explain what was going wrong. This answer will be how to fix it.

InstallShield distributes a Merge Module for this control that contains version 6.0.84.18. However, it seems that this merge module is old and doesn't include a security update that was released by Microsoft a few years back. See the thread:

Updated Merge Modules for MS08-070 Security Bulletin

In the thread Mike Marino tried to get updated merge modules from Microsoft but was told:

Microsoft will not be providing Merge Modules for these. They recommended that users either build their own MSMs or include these files in their own MSIs.

So here is what I would do. Make sure the msflxgrd.dll is the latest version from MS08-070 (6.1.98.14) or newer. Author it into your installer in the SystemFolder directory. Mark it as Permanenet = true. Set the Register attribute to vsdraCOM and set the SharedLegacyFile = true.

Rebuild your installer and test your upgrade scenario again. You should be good to go.

OTHER TIPS

From what I see in Log 1, the machine is not as clean as you think. FindRelatedProducts is finding a previous installation of your product and telling RemoveExistingProducts to uninstall it before installing your new version.

I've seen situations when the component rules are violated that MSI thinks a file doesn't need to be installed but the file then gets uninstalled by the removal of the product being upgraded and the file ends up not being installed. By uninstalling and reinstalling you break that up into two steps so that when the second install evaluates the need for the file it comes back as yes and gets installed.

The fact that this is an OCX COM server is just a coincidence and not really relevant to the real problem.

I'd need the MSI already installed and the MSI upgrading to give you specific remedys.


Action start 14:55:44: FindRelatedProducts. MSI (s) (A0:18) [14:55:44:119]: PROPERTY CHANGE: Adding PREVIOUSVERSIONSINSTALLED property. Its value is '{08D8BF6E-E399-4B8A-8B8D-7DFF68F81131}'. MSI (s) (A0:18) [14:55:44:119]: Skipping action: ERRCA_CANCELNEWERVERSION (condition is false) MSI (s) (A0:18) [14:55:44:119]: Doing action: VSDCA_VsdLaunchConditions Action ended 14:55:44: FindRelatedProducts. Return value 1.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top