Got an MSI built using a Visual Studio Installer project. The resulting MSI was developed on Windows 7 some years back, and works fine there.

There is a merge module (MSM) that is supposed to dump an OCX to the 32-bit system folder (usually C:\Windows\SysWOW64) and register it in HKEY_CLASSES_ROOT.

When I run the installer on Windows 10 (as a user in the local Administrators group), it adds the OCX file to the system folder but the registration fails silently (the COM components are just not in the registry when I check later.)

I tried running the MSI from an Administrator command prompt using msiexec /i but it didn't make the registration happen.

The only way to make it work was, from the Admin command prompt, manually register the OCX file using regsvr32.

Any insight here? Do I need to alter the MSI somehow? Or run it differently?

  • Ultimately I ditched the merge module from the installer project and brought the OCX file in manually, making sure it was registered and placed in the system folder. This did the trick. So I'm not sure why or how the merge module ever did what it was supposed to do when running the installer in Windows 7.... – Zach Blocker Aug 2 '16 at 19:56
  • Rather than leaving your own solution in a comment you are allowed and even encouraged to post it as an Answer. – HBruijn Aug 3 '16 at 7:19

Follow the following steps:

  1. Do not try to install an MSI via a normal user(by design it should not work)
  2. Add regsrv in your MSI, depending on how you made the MSI file.
  3. Run it into compatibility mode.
  4. Look at the msi installer version that the file was created with(it might be incompatible with Win10)
  5. They did some changes to how MSI files are handled, get the orca https://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx and run the tests to see where you have the problem, it has a test suite for MSI files and highlighting for issues(with red).
  6. Have a look into windows 10 SDK if everything else failed https://msdn.microsoft.com/en-us/library/windows/desktop/aa372834(v=vs.85).aspx.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.