Click here to Skip to main content
13,045,790 members (47,075 online)
Rate this:
Please Sign up or sign in to vote.

I'm trying to put a VC++10 app that I've used successfully in computers with windows XP professional with the service pack 2 installed.

Now it is mandatory to install the same * application to a windows XP computer without the service pack 2 installed and it seems that I can't install that service pack there. :((

* I can rebuild.

The problem I'm seeing here is that when I try to run that app in the computer without SP2 I get this error message:

"The procedure entry point EncodePointer could not be located in the dynamic link library KERNEL32.dll."

It seems that without SP2 installed this is quite normal... :(

Is it possible to use VC++10 to link the app and to make it work into that XP pro without SP2 computer?

I can also use VC++2005 in order to do it and I've already tried to rebuild all the solution, but then it still fails to load the appplication... it tells me:

"this application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."

This was initially a project developed using VC8, then it got modified and a lot of upgrades using VC10.

I don't get why... all the libraries that are dependant are in the same folder than the exe file...

I'm completely lost now...

What should I take a look into?

Thank you in advance for your help! :thumbsup:
Posted 22-Jan-12 0:07am
Joan M90.5K
Updated 22-Jan-12 1:05am
SAKryukov 22-Jan-12 13:25pm
Why without SP2?!
Joan Murt 22-Jan-12 13:28pm
Even if it sounds stupid, it is a computer with Windows XP embedded, it is the computer that controls a robot and therefore it is not as easy to update as it should as the manufacturers of the robot device need the OS in a really specific way to allow the robot software to work properly... so I can't update it... :((
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

System libraries (such as KERNEL32.dll) are distributed with the OS and updated as required when a Service Pack is installed. You have built an application that makes use of some feature that requires SP2, so the target machine needs to be at the same level. Alternatively, remove the dependency on this feature so your application is targetted at the lowest level of system it is to work on.
Joan Murt 22-Jan-12 7:57am
Thank you Richard, but this is not the case (at least as far as I've seen it)... The app was developed under xp and using vc8. Then I started to update a lot of minor things new edit controls, some changes on the dialog layouts, some name conventios updated... But nothing big.
Anyway it is not working as without sp2 the mfc used in vc10 doesn't works undewr xp without sp2.
Richard MacCutchan 22-Jan-12 8:07am
but this is not the case
Well, this is exactly the case; as you have described.
Richard MacCutchan 22-Jan-12 8:10am
Additional: See the minimum supported level of EncodePointer as defined here.
Joan Murt 22-Jan-12 9:12am
I guess that what has happened is that after importing the code into VC10 then it automatically has
updated several parts of the solution... because I've discovered the EncodePointer today... :sigh:

Thank you!
SAKryukov 22-Jan-12 13:25pm
Correct, a 5.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Now it is mandatory to install the same * application to a windows XP computer without the service pack 2 installed and it seems that I can't install that service pack there.

I'd try to convince the customer to upgrade XP to service pack 3. MS has made a serious effort when it comes to improve the security of their OS. If those aren't installed your system will be open to what is now well known flaws that can easily be exploited.

Have a look at: Security: It’s Getting Worse[^]

The practice of never patching production systems makes automation systems particularly vulnerable. So you will be doing your customer a favor, and save yourself a bit of trouble.

Best regards
Espen Harlinn
Kim Togo 22-Jan-12 7:50am
My 5 Espen. Good points. Windows XP is over 10 years old now. Service Pack 3 for Windows XP is mandatory :-)
Espen Harlinn 22-Jan-12 7:51am
Thank you Kim!
Joan Murt 22-Jan-12 7:53am
Espen! I can't do that, the computer is an industrial system that moves a robot... Impossible to update due to protections and blocking systems from the manufacturer... :(
Espen Harlinn 22-Jan-12 8:02am
Microsoft Visual C++ 2010 Redistributable Package requires Windows XP with Service Pack 3, see:
Joan Murt 22-Jan-12 9:13am
Then I will have to go back to the old version, use the VC8 to make all the changes again and at the end build the complete solution again... :( I'm afraid that I won't be able to update the robot OS...
Thank you!
Espen Harlinn 22-Jan-12 9:22am
Try linking with the static runtime libraries before giving up on VC++ 2010 - this will probably require that you deploy your application as a single executable - i.e. you may need to convert any custom dll's that shares the memory manager to static libraries too.
Joan Murt 22-Jan-12 9:29am
I've thought about doing that and I've tried it: I guess you mean to go to the project options and select "Settings\MFC usage" and put this parameter to USE MFC as a statically linked library. I've done that but it kept asking me the MFC libraries :O ... Is there any other thing that I should do? Thank you Espen...
Espen Harlinn 22-Jan-12 9:37am
Have a look at:
'Configuration Properties->C/C++->Code Generation->Runtime Library'
Choose a non dll runtime variant

I'd also try to set:
'Configuration Properties->Platform Toolset' to v90
Joan Murt 22-Jan-12 10:09am
the v90 seems to be the way to get what I need (at least it sounds like telling VC to use the VC8 MFC libraries) but it is telling me that I must be sure that the VC8 is installed there... and I can use it without a problem.... :O and of course if I choose the V100 then I'm getting the message: "the procedure entry point DecodePointer could not be located in the Dynamic link library KERNEL32.dll"... Which would be the fastest way to get the dialogs and the h and cpp files into a brand new project done in VC++8? I think that if I could do that then it would work without a problem... the right libraries and no worries...
Thank you again Espen! :thumbsup:
Joan Murt 22-Jan-12 10:20am
I've tried to use the old project overwritting the files .h, .cpp and the resources. It has compiled and linked without a problem but it is not working... it generates the exe file but when I try to launch that file into the robot controller then I get a message telling me "this application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."
Espen Harlinn 22-Jan-12 12:11pm
Have a look at the executable using
just to see if you are missing something

Joan Murt 22-Jan-12 13:26pm
Now it works: I've picked the original one, using the VC++8, then I've selected static and MT not MTDLL and voilá! thank you for your pointers Espen.
Espen Harlinn 22-Jan-12 14:11pm
Brilliant :)
SAKryukov 22-Jan-12 13:31pm
Hi Joan,

This "impossible" part is absurd. It means you have wrong manufacturer, wrong policy, etc. If you have a closed system, if should be completely closed, without possibility to add an application. If you can add a application, you should be able to add an upgrade; consider it as a part of application.

You are not asking "how to deploy the application on a computer without a hard drive", right?
Joan Murt 22-Jan-12 13:41pm
What can I tell, they do that in that way, like it or not... and they are currently the third company in robot sales in the world... the first one is ABB, the second one is Fanuc and the third one is KUKA... All of them are more or less closed... and I do think that this is stupid, but...
SAKryukov 22-Jan-12 13:26pm
Good points, a 5.
Espen Harlinn 22-Jan-12 14:12pm
Thank you, Sergey!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170713.1 | Last Updated 22 Jan 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100