Solved

Procedure Entry Points not found

Posted on 2011-09-14
5
1,335 Views
Last Modified: 2012-08-14
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.

0
Comment
Question by:Robotron5673
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 25

Expert Comment

by:epasquier
ID: 36538622
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
 

Author Comment

by:Robotron5673
ID: 36538686
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
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 36538700
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
 
LVL 25

Accepted Solution

by:
epasquier earned 500 total points
ID: 36539596
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
 

Author Closing Comment

by:Robotron5673
ID: 36563300
Thanks. I put the dll's in with the program.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Zip Folders Using Chilkat Routines 1 72
moving away from .local domain 5 83
Non admin needs to install programs 17 94
Can Live bindings change TGrid Cell Colour ? 1 30
There is an easy way, in .NET, to centralize the treatment of all unexpected errors. First of all, instead of launching the application directly in a Form, you need first to write a Sub called Main, in a module. Then, set the Startup Object to th…
Monitor input from a computer is usually nothing special.  In this instance it prevented anyone from using the computer.  This was a preconfiguration that didn't work.
This video teaches viewers about errors in exception handling.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

756 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