PDA

View Full Version : .dll dilema


sprocket
8th Apr 2002, 01:14
I loaded a Corel Gallery program recently. After loading a message box appeared on my screen …

“This application uses CTL3D32.DLL, which is not the correct version. This version of CTL3D32.dll is designed only for Windows NT systems.

I obtained the correct version dll from the Corel web site …. But windows wont let me delete the existing dll while windows is supposedly using it. I also cannot insert the replacement dll for the same reason.

How can I do this seemingly simple task?

The address of the dll in my system is, C:\windows\system\ctl3d32.dll .

:confused:

Agent86
8th Apr 2002, 01:28
Time for the good old DOS prompt I feel:(

If you are using 95/98 restart in DOS mode....AFTER putting a copy of the CTL3D32.dll file into the C:\ dir then

type in copy c:\CTL3D32.dll c:\windows\system\CTL3D32.dll

say yes to the overwite query

Restart

If you are using ME or XP you will have to use a bootable floppy to start your system in DOS

sprocket
8th Apr 2002, 09:29
Agent86 : Thanks for the info. I have done your suggestion, but there is still a problem … :D
When I restart the ‘puter, I get message box saying ….

CTL3DV2
This application uses CTL3D32.DLL, which has not been correctly installed.

Could the dll that I saved to C:\ be the culprit? (only guessing here)

Agent86
8th Apr 2002, 10:27
Sprocket..

Whoops. Seems you will have to delete the "other" CTL3D32.dll from the C:\ dir. Give that a try.

Missed it by that much !!

:rolleyes:

MAx

sprocket
8th Apr 2002, 20:48
Thanks mate. Had to delete it from Dos, seems to have done the trick.

Icarus
9th Apr 2002, 15:03
Sorry guys, but this is not the way to do it! :rolleyes:

You may find in the future you will have problems; .dll and .exe COM components need to be registered correctly otherwise you may have issues with incorrect Class IDs, Interface IDs and Type libraries in the Windows registry.

These components are meant to be self registering but if you come across a problem like this you MUST use the 'regsvr32' utility to register your COM component, in this case a DLL.

From the command prompt:

regsvr32 [/e] [/m] <dllname1 dllname2>

In this case - regsvr32 <yourdllname> (Without the < and >!)

<your dllname> should be the full path of where your file is located; C:\windows\system\CTL3D32.dll

bblank
9th Apr 2002, 16:51
I'm not sure that registry changes are needed. It sounds as if ctl3d32.dll is registered and that the original file has simply been restored after having inadvertently been replaced by a different file of the same name. (The different versions all come with the MS C++ development kit and it is easy enough for developers to confuse them since they are named the same). I worked on a project in 1997 and one of the Windows programmers managed to write code that deleted several system dlls on my PC. I simply copied the deleted dlls back into c:\windows\system and haven't been bothered since.

sprocket
9th Apr 2002, 20:09
I'll keep your sugestions on hand, just in case.

Have had no problems ..... yet.