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?
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  


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

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
windows explorer default details view 10 57
DVD or CD-Rom Useage history in Windows event viewers 8 36
Windows 7 Professional 6 59
Non admin needs to install programs 17 32
If you get continual lockouts after changing your Active Directory password, there are several possible reasons.  Two of the most common are using other devices to access your email and stored passwords in the credential manager of windows.
OfficeMate Freezes on login or does not load after login credentials are input.
This Micro Tutorial will teach you how to change your appearance and customize your Windows 7 interface to your unique preference. This will be demonstrated using Windows 7 operating system.
This Micro Tutorial will give you a introduction in two parts how to utilize Windows Live Movie Maker to its maximum editing capability. This will be demonstrated using Windows Live Movie Maker on Windows 7 operating system.

770 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