win 7 and missing memo files

Users who have moved to windows 7 are receiving the following error during processing of data from databases wth memo fields: "Memo file j:\00022277.fpt is missing or is invalid." where the drive name is just as example.  this is happening all to often.
The personnel are connected to a shared drive.

Does anyone have some inforamtion regarding this issue. Ny company is about to move to win 7
leemarcAsked:
Who is Participating?
 
Olaf DoschkeSoftware DeveloperCommented:
In what directories does the accounting program create DBF files? If you write to the program directory then that is the culprit.

You may find the fpt files virtualised due to UAC within Vista/Win7 activated. These virtualised files are within user specific directories and any file access to the program dir is rerouted to the user specific virtualised files.

In a multi user environment better put temp files in temp directories, not only cursors automatically handled by VFP filewise, but also DBF files.

See here:
http://windowsteamblog.com/blogs/developers/archive/2009/07/23/is-your-application-ready-for-windows-7-rtm.aspx

specifically about File Virtualization in the VirtualStore:
http://support.microsoft.com/?scid=kb%3Ben-us%3B927387&x=10&y=10

very specific to file creation within the Program Dir:
instead of the file in the program Dir the file is genreated in
C:\Users\User_name\AppData\Local\VirtualStore\...

File access to the program dir is redirected and that works for that user, but not for all users of a multiple user application. This is only downward compatible for single user applications.

As a software vendor the rule not to write files of your application to the program directory already was advised by MS for XP, if not even earlier. There are system folders like appdata and documents for data and documents of applications.

Bye, Olaf.
0
 
CaptainCyrilFounder, Software Engineer, Data ScientistCommented:
It seems that someone copied the dbf files without copying the memo fields.

FPT files are the contents of the memo fields which are defined in the DBF files.

Or it could be that the users don't have access to this file or the anti-virus is preventing the user from accessing these files.
0
 
pcelbaCommented:
This seems to be access rights because this error is reported when you are trying to open DBF with memo having insufficient privileges. Also file created by one user cannot be accessed by other users obviously.

You should store data and temporary files in folders where all application users have full access. (Temporary files can be in user specific folder, of course.)
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

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.

 
jrbbldrCommented:
While what CaptainCyril says above could indeed be the cause, I would be most inclined to agree with pcelba and suspect that this is an access rights/privileges  issue.

So, first ensure that for every DBF which originally had an associated FPT file, it got copied to the new system.

Now, having done that -- A memo file with a mostly numeric filename like   00022277.fpt   would most often be associated with a temporary file.   Perhaps created as a Cursor result from a SQL Query, a View or in some other manner.

If your VFP temporary files are being written into a directory where access rights were not FULL, then you would experience problems like you are reporting.

Unfortunately Vista and Win 7 have increased the restrictions around who can read/write to specific directories within a system.   Things which formerly worked in a VFP application under Win 2K or Win XP when there were less directory rights restrictions might no longer work under these newer OS due to these new 'enhanced' (that's questionable) restrictions.

Do you have error handling/logging in place within your application so that you  can know where this error is occurring within your code?   If so, then you  can go into the code to determine where this FPT file access problem is coming from.    

If it is a Temp file, then you need to look into the rights associated  with your Temp directories and consider re-configuring your application to set your Temp directories  elsewhere so that the users would have FULL rights.

If this is some other non-Temp file, then  you need to look into the rights of that directory.

Good Luck

0
 
leemarcAuthor Commented:
The FPT file is indeed a temporary file but not a cursor,it is a dbf programatically created thru our accounting package.  There is no Rights issue, all users have rights the program.  This issue occurs intermittently.  Sometimes the file is missing, sometimes it is not.  
What is consitent is the the only user affected are useing Windows 7

Please help
0
 
pcelbaCommented:
So, is the file really missing when this error is reported? If yes, then you have to fix this problem in your application. Another possibility would be the file creation in Virtual store folder and false report about its non-existence.

If the file is present you have to look at its properties (before you close the app) and check access rights.

If everything fails then you should check antivirus settings as proposed by Captain. Antivirus could cause intermittent error occurence.

If nothing helps then you have to update your application and make it more bullet proof. It means each file existence check before opening, opening error traps and attempts for automatic recovery etc.
0
 
leemarcAuthor Commented:
sometimes it is missing and sometimes it is not.  I am trying to find out what windows 7 has to do with the issue since it does not happen in vista or xp
0
 
pcelbaCommented:
You should create a small testing application which will just create above file (DBF + FPT) in the way as your accounting package. Then you have to execute this small application in a loop to find circumstances under which it fails. And then it should be relatively easy to find a work around...
0
 
jrbbldrCommented:
"There is no Rights issue, all users have rights the program"

Having rights to the program (i.e. application) is not the same as having rights to all directories utilized by the application - especially where Win 7 is involved.

My guess is that the application was developed before Win 7 existed and when the workstation directories, in general, had fewer restrictions.

"sometimes it is missing and sometimes it is not."

Do you mean that sometimes the same Win 7 user can successfully execute some operation within the application and other times they cannot do the exact same operation upon which the error message is displayed?

Unfortunately it sounds like this might be some 3rd party accounting package for which you have no source code.   If that is the situation, then I'd suggest that you contact the vendor and let them investigate and resolve the issue.

However if it is your own in-house developed accounting package and you have the source code, then you should be able to duplicate the problem by running the code from the VFP development window within a Win 7 workstation.   If you can do that you will be able to test a variety of configurations to find out what is failing and why and, more importantly, find out what works.

Good Luck



0
 
CaptainCyrilFounder, Software Engineer, Data ScientistCommented:
Try disabling the anti-virus to see if that is the cause of the problem.
0
 
leemarcAuthor Commented:
the company is not going to diable anything like anitvirus protection for me to test with.  Someone has to have come across this issue before
0
 
pcelbaCommented:
You should just ask what file types it scans. And the you may ask why they are not/scanning TXT files etc.
0
 
leemarcAuthor Commented:
pcelba: what are you talking about
0
 
pcelbaCommented:
I am talking about antivirus software.

If they are not scanning database files then the problem is somewhere else.

If they are scanning database files then you have to ask about text files.

The reason why to ask for TXT files is following:

If they are scanning them then they should know why they are scanning them and what kind of infection can be contained in TXT files. If you decide this is  good reason for scanning TXT files then you have to ask why they are still using DBF files which are so dangerous for them...

If they are not scanning TXT files then you have to explain DBF is same kind of file and they should be consistent.
0
 
CaptainCyrilFounder, Software Engineer, Data ScientistCommented:
Either under C:\Users or C:\ProgramData

Temp files should be in Temp folder of the user

FUNCTION TempDirectory
LOCAL cBuff, nLen
DECLARE INTEGER GetTempPath IN kernel32 INTEGER, STRING @
cBuff = SPACE(255)
nLen = GetTempPath(LEN(cBuff),@cBuff)
CLEAR DLLS
RETURN ALLTRIM(LEFT(cBuff,nLen))
0
 
leemarcAuthor Commented:
have not yet had time to try it out - but it has enough inforamtion to begin and earnest evaluation
0
 
pcelbaCommented:
Welcome back Olaf!
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.