Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Customise : Cannot locate the microsoft visual foxpro supportt library

Status
Not open for further replies.

newtofoxpro

Programmer
Sep 16, 2007
301
IN
Is it possible to customised " Cannot locate the microsoft visual foxpro supportt library " as

" Cannot locate the myapplication supportt library "

 
No, I don't think so, although maybe if you used a hex editor to find all the occurences of a sting in the finished .exe it MIGHT do it...

Are you a bit embarrassed to say what language your product is written in? B-)

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Hi NewToFoxPro,

the error " Cannot locate the microsoft visual foxpro support library " is caused due to the fact you have not installed the correct support library. This error can be eliminated and should be by installing the correct support library.
What is the version of your VFP? type version() in your command window.

Regards,

Jockey(2)
 
Interestingly, I can't find the string in the compiled .exe anyway - so if he wants to be rid of the message, he is going to have to dig pretty deep!


Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
The message is in the exe, it can't be somewhere else, or how should the exe display it? Search for C a n n o t.

Bye, Olaf.
 
First, I'd suggest that if you REALLY want to change the error message text, you be VERY CAREFUL.

Since it is within the VFP EXE itself, it is a VFP 'boilerplate' message.

Therefore I'd suggest that if you were to use a Hex editor to change the text within the EXE, that the new text be EXACTLY the same length so that there would not be any code reference location changes within the VFP EXE.

And I'd also suggest that any changes of that nature be AT YOUR OWN RISK - so make backups before attempting any changed.

Good Luck,
JRB-Bldr
 
good advice

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
The message is in the exe, it can't be somewhere else, or how should the exe display it?

Yes, that's what I thought as well. But I tried searching a typical EXE, and also all the runtime DLLs I could find, and couldn't see that particular message. Newtofoxpro: Are you sure you quoted the exact wording of the message in your post?

But, in any case, Jockey has the right answer. If the message occurs because you haven't installed the correct runtime files, then the answer is to install the correct runtime files.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
No, Olaf has it right

I had to search in Hex for 49 00 69 00 63 00 to find it!

Still not sure it's a good idea...


Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
49 00 69 00 63 00

Hm, notepad actually showed spaces (chr(32)=0x20), not chr(0).

But using a hex editor is better anyway, if you want to change that message. It needs to have the same length to not break the code.

And then, if you do that to hide, what programming language the exe is made with, you will need to stay with all the other hints on foxpro within the exe, references to runtimes need to stay for the exe to work. You might try to rename the files and their references, too, but I'm not sure that will not break anything, eg vfp9r.dll finding a resource dll like vfp9renu.dll, I don't know where that would end up.

In the first place make sure you provide a setup installing the foxpro support libraries and users will never see this message anyway.

Bye, Olaf.
 
Thank you all

"Are you a bit embarrassed to say what language your product is written in? "

I was FPW developer. I have distributed my application where I can't go (it's far away). In case of FPW-EXE I always keep it's ESL in the same folder. If user format it's HDD I always said that just copy my_folder and format your machine after reinstalling your OS just re copy my_folder and make shortcut of myapp.exe on the desktop. Software would run fine.

In case of VFP supported files are kept in different folder as expert member practice. So above FPW idea won't work.

When I am distributing MYAPP.EXE it has it's own name (not foxpro) even many user does not know that what is the native language of myapp.exe. Or he doesn't want to know..

So, if user format and try as above. myapp.exe shows message "Cannot locate the microsoft visual foxpro supportt library" and user gets confuse, why myapp.exe needs visual foxpro ? when I(user) not purchased foxpro.

So, I think, if myapp.exe shows message as "Cannot locate the myapp support library" user may not confused and he can understand that he need to run myapp_setup.exe

Thank you Please give me some time to try for hex editor.
 
You can keep the vfp9r.dll and more in the same folder. Some functionaility needs setup of msxml 3 and 4, eg XML function, XMLAdapter, foxhhelp9.exe also will need to be registerd for CHMs to work, but the core vfp runtime can AND should be copied to the app folder.

Bye, Olaf.
 
ActiveX always needs specific care, there is no general solution to that.

Foxpro provides some merge modules for usage in installshield and other setup tools for it's own runtime, c runtime of course, too and msxml3 and 4. Don't forget gdiplus.dll

Rolling your own setup is a bit harder to do in respect to finding what is needed as dependency. Installshield actually can examine your exe is using ActiveX or COM servers.

With a self made setup (or inno setup script for example) you would perhaps need to find msxml redistributable setups, ideally installing silently so you can run them from your main setup. I don't know how Inno supports you in finding dependencies.

Bye, Olaf.
 
Olaf, Assume you know inno setup, I can install my fpw_myapp.exe and it's dependencies with inno setup. When I run myapp_setup.exe (compiled with innosetup) it ask me folder then install and then ask for should run myapp.exe. that means, inno_setup find which component is not installed and that component get installed.

So, If I make bundle/package of myVFPapp.exe and it's all dependencies. and run this bundle this would always check dependencies and run myVFPapp.exe. So this way above message never faced by user.

Not sure but UPX is a product. Let me find out.

 
Are you perhaps compiling with the encryption option set in the project info? Or using Konxise or Refox or something to protect your exe?

If not, you need to search "C a n n o t" including the spaces between the letters, or as Griff put it in hex values: 43 20 61 20 6E 20. This will be finding "C a n ".

Griffs values rather translate to "1 i c", of course you won't find that.

Bye, Olaf.
 
Hi newtofoxpro,

What is the VFP version in which you have built your MYAPP.EXE? Which OS have you used for building and on which OS are you installing?
I would not use a HEX editor to change an error message, error messages are not to be hidden but resolved.
Is MyApp.Exe running when you ignore this "Cannot locate.." message?

Regards,
Jockey(2)

 
Olaf, it isn't chr(20) it is chr(0)

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Griff,

I already said notepad really isplays spaces, not chr(0) and I'm not sure, so I don't want to mislead anyone.

I checked with Hexedit and it has 43 00 61 00 6E 00 in it, so yes, you're right.

So notepad does translate 00 to space=20 when loading the exe as text. Interesting, I assumed notepad would not make any translations to things it loads, even if it's binary.

Bye, Olaf.


 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top