Customizing Multiple Project Versions on the Same Computer RRS feed

  • Question

  • I have an ActiveX dll, written in VB6, that adds value to Microsoft Project. It will work with any version of Project from 2002 through 2010. Part of my company's solution requires that custom views and field definitions get installed along with my dll. As part of my installation process I use CreateObject("MSProject.Application") to create an instance of Project, open a custom file that transfers the views, etc. to the Global file and then to exit Project. This causes a problem when multiple versions of Project are on the same computer. The CreateObject call will only open the most recently installed version. I need to iteratively open all versions and I don't want to have to shell Project to do it (I can't seem to shell Project and have it stay invisible, it always pops up on the screen). I found a registry key that can be changed in Windows XP that will cause the CreateObject call to open different versions of Project depending on the value stored in it. (The key is under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\04549815D391EA04389F3DCFD52BD419, if you're interested.) Unfortunately, I can't find a similar key to change in Windows 7.


    So, the question is where do I go from here? Where can I go for help on getting Project to start up and stay in the background?


    Tuesday, January 17, 2012 8:20 PM

All replies

  • Does createObject("MSProject.Application.12") work?

    Rod Gill

    The one and only Project VBA Book Rod Gill Project Management
    Wednesday, January 18, 2012 7:10 AM
  • No. All of the version-specific server names map to the latest one installed. Even if I find the ClassID associated with "MSProject.Application" and then change the server associated with it from Project 2003 to Project 2010, 2003 still is the default. It's not supposed to work this way.


    Also, you're supposed to be able to start Office applications with a /regserver command lie parameter to alter which version is current in the registry. All Office applications except Project, apparently.


    Wednesday, January 18, 2012 2:50 PM