Using GetObejct / CreateObject from VB6 IDE and VB6 EXE on Windows 7?

Posted on 2009-07-15
Last Modified: 2013-11-26
Hi folks,


I've come across an odd situation these days and seem to be stuck. I have a VB6 EXE that is running pretty fine on Vista and Windows 7 when compiled and deployed with a setup. Every other way seems to fail.

To spot some issues, I need to troubleshoot and debug the code in the VB6 (SP6) IDE on the target system, that is Windows Seven 32-bit (RC Build 7100). I cannot get to run the application, neither compiled nor in the debugger.

I've managed to install the Visual Studio 6 and SP6 components so far, but when I run the program from the IDE, there are problems I cannot solve on my own. Starting the IDE in XP SP3 compatibility mode and with Administrator privileges works up to some point.

After starting, the program tries to connect to a running Outlook application with a GetObject(, "Outlook.Application") call that works fine on all pre-Vista systems. If Outlook is not running, the error is caught and the application waits for a few seconds before retrying (let's call this "standby mode").

Unfortunately, the GetObject call won't work even with a running Outlook instance. All I get is error 429 (ActiveX can't create object). Create??? - well, must be error message re-usage.

Almost the same happens if I try - more aggressively - with a CreateObject("Outlook.Application") command which gives me the same error but freezes the whole application (and with it, the VB6 IDE) for 30 seconds!

When I run the compiled EXE, I can see it in the Task Manager for about 10 seconds before it disappears. Nothing else happens, there are no event log entries or something helpful. It makes no difference if compatibility settings are used or not, neither if I run the program as Administrator.

I think the application would need elevated rights but I don't know how to achieve this. Same goes for the VB6 IDE that I desperately need (I know I shouldn't use it but that's the way it is)

If anyone has some more experience with maintaining old VB6 apps on a modern OS, I'd be very happy if you told me what I'm doing wrong. Thank you very much!


Best regards,

Question by:MunichJoe2009
  • 4
LVL 10

Expert Comment

ID: 24866525

Couple comments:

1. Do you have Outlook installed on your Vista machine/machine where it isn't working?
2. Do you have the references set correctly (i.e., using the same DLL/etc)?

Check those, should help.

Author Comment

ID: 24866925
Okay, I'll try to give you some more info:

Windows 7 32-bit Build 7100 (RC)
Microsoft Office Outlook 2007 (from Microsoft Office 2007 Enterprise)
Visual Basic 6.0 SP6

Outlook is installed and working on the machine. The only thing I cannot do is create a reference to the running Outlook application from out of the VB6 IDE, neither in the immediate window nor in my application, when started out of the VB6 IDE ("debug" mode).
It seems that even though VB6 is run in XP SP3 compatibilitiy mode and started with administrative privileges, something is blocking VB6 from creating this object reference. I wonder if there is any patch or some Windows setting that might solve this issue...

By the way, at least I got to run my EXE in compiled mode and it is now working again in the environment described above. Makes me think that the VB6 Runtime seems to be able of getting object references, but the VB6 IDE is not.
Any more ideas?

Thanks a lot again!

LVL 10

Accepted Solution

peetm earned 250 total points
ID: 24868441
Are the EXE and the IDE running in the same compatability mode?  Both have been run as administrator?
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.


Author Comment

ID: 24870245
Hi all,

I think things have cleared up. I wasn't aware of the shims delivered with Windows 7 (in Vista, VB6 IDE could only be run as Admin, this seems to have changed massively).
If the VB6 IDE is run with no special compatibility settings (and not as Administrator), everything seems to be fine as Windows 7 will then use the built-in shim settings which are obviously okay, also for debugging the code! Same goes for the compiled EXE.
Thanks for your advice though.


Author Closing Comment

ID: 31603700
Thank you, your questions helped me get it righ, even though I had to try this and that... t ;o)

Author Comment

ID: 24970034
Another thing I found out is that getting a reference to a running Office app may fail if the app has not registered itself in the Runnung Object Table (ROT). I stumbled across this article at Microsoft:

So, to make sure a GetObject call succeeds, seems to try GetObject first, and if it fails, activate a window other than the Office app main window. The next GetObject should succeed... funny stuff!

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The recent Microsoft changes on update philosophy for Windows pre-10 and their impact on existing WSUS implementations.
A quick guide on how to use Group Policy to create a custom power plan and set it active on Windows 7.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This Micro Tutorial will teach you the basics of configuring your computer to improve its speed. It will also teach you how to disable programs that are running in the background simultaneously. This will be demonstrated using Windows 7 operating…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question