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.
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.
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.
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.
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.
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.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.