Procedure Entry Points not found

I am using Wise for Windows Installer to install an program written in Borland Delphi 7. After installing the program into the test enviroment, I recieve the following errors.

The procedure entry point _ftol2 could not be located in the dynamic link library msvcrt.dll.

The procedure entry point lstrcpynI could not be located in the dynamic link library MSDART.dll.

I am not sure where to categorize this question. Any help is appreciated. This is urgent, I have been trying to find a solution to this for 2 weeks now.

Robotron5673Asked:
Who is Participating?
 
Emmanuel PASQUIERFreelance Project ManagerCommented:
true, to fix this properly is going to be a problem, as if you try to copy those in \System32 dir, they will be automatically reverted to the version in \System32\cache by the OS.

But you can also try to put all those libraries directly alongside the application, so that the application will not try to find it in \System32, and your application might just start without messing with the system.

Maybe, in your Wise installer, you can check the version of the dll in \system32, and if older than the ones for your app, you copy yours with the application in its main directory. If the version is OK, don't copy so that your application will use the system32 dlls
0
 
Emmanuel PASQUIERFreelance Project ManagerCommented:
1) I suppose you have checked that the dll are the same one as in your dev station, and in which directory are they setup ?
2) can you check that there is no other copy of those dll elsewhere in your system (it should be only in  %windir%\System32 )
3) what if you copy the files of your app manually to the test station
4) is it the same in a 3rd station ?
0
 
Robotron5673Author Commented:
The msvcrt.dll s have different versions. They are kept in WINNT\system32 folder.

There are other copies of msvcrt.dll in other folders.

I have tried to install this on another computer besides the test enviroment and get the same errors.
0
 
Vadim RappCommented:
It means that these libraries at the workstation where it's installed has different version than what is expected by the application. If the application is expecting entries that don't exist, most likely the libraries at the workstation are older.

Do you distribute these libraries with your installation?

If you don't, don't rush to do it. These libraries are very "core" system libraries, and if you try to replace them on the client's computer, it may not work at all because of system file protection, or it may break other applications. The safest approach to this would be to use so called isolation, which is advanced installation technique, but it's only available in premium professional installation packages.
0
 
Robotron5673Author Commented:
Thanks. I put the dll's in with the program.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.