Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to register VFP COM objects on 64 bit windows

Status
Not open for further replies.

gairo50

Programmer
Aug 26, 2010
13
0
0
US
How to register a VFP COM object on a windows 64 bit operating system. My COM objects are failing under windows 7.
 
1. Via a normal setup done with installshield express or another installer. Installshiel Express coming with VFP9 is capable to create such a setup, detect a COM dll and register it in the setup.

2. Via regsvr32 in c:\Windows\syswow64\

Is the problem really the registration or is it the usage of the dll? Where is the dll used? In the IIS web server? Be aware that 32 bit COM dlls can only be used by 32 bit applications. IIS has a 64-bit and a 32-bit application pool.

Bye, Olaf.
 
This is a COM Object "EXE" not a DLL so regsvr32 does not work.. I tried to manually run regserv but when I try to create an instance of my object in VFP I receive an error "Class definition FRUPSLIB.UPSHTTP is not found".

I have install sheild express and it's not registering the COM object correctly under 64 bit windows. My application runs find under 32 bit.

Need help getting it to run on windows 7.

 
This is a well seasoned application that has run on all version of windows until the 64 bit verison was released.

I'm trying to install it on a vinilla windows 7 operating system.

How to register COM EXE components on Windoes 64 bit? Manually or Automatically?

Thanks
 
To register an exe you run myserver.exe /regserver.

But due to UAC it's not sufficient to run this logged in as admin. If the exe has no included manifest requiring to run as admin, even a admin user starting the exe does stoart it as a normal user, therefore the registration does write to the virtual part of the registry, which means the class is not registered correctly.

Create a cmd script, put the line "myserver.exe /regserver" into at, then right click on the cmd script and "run as administrator", even if you're an administrator this means the cmd script really is run with elevated admin rights and so is the vfp exe, which then can register correctly.

Bye, Olaf.
 
Creating a batch file and right clicking and run as aministrator worked but I have to distribute my application and I need to have COM objects registered during installation (Programatically) not from a batch file.

Got any ideas?

Thanks,

Gary




 
I see, so in the ISE project in the section of files to install on the destination computer, right click on the EXE, choose properties. In the properties choose the COM & .NET properties tab, under Registration Type try one of "Extract COM information" and "Self Registration".

I didn't generated and tried such a setup right now, but at least ISE enables you to set that for both DLLs and EXEs.

Bye, Olaf.
 
Hi Olaf,

The I recompiled the COM objects with "Generate Component ID's" in VFP 9 then in Install Sheild used the "Self Registration" and it works. COM objects registered correctly in Windows 7 without any manual registration.

Thank You,

Gary
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top