I am trying to deploy all my executables from Windows Server 2003 to 2012 R2. When i ran one of the exe's(VB6) it throws error:
ERROR: 339 - Component 'MSCOMCTL.OCX' or one of its dependencies not correctly registered: a file is missing or invalid
I know how to register MSCOMCTL.OCX in Windows Server. But i went ahead and searched for this OCX in Windows Server 2003 where this exe has been running for over 5 years and to my surprise there was no MSCOMCTL.OCX there.
So how was the exe running fine on Windows Server 2003 without MSCOMCTL.OCX but on Windows Server 2012 it throws error?
You need to ship this file with your application. It's still supported in Server 2012 R2. You will find all information here: https://msdn.microsoft.com/en-us/vstudio/ms788708.aspx
You find MSCOMCTL.OCX in the section: "Supported Runtime Files to Distribute with Your Application"