>thank you for the tip.
>
>but what i meant is that for example when i use the setup wizard it compiles all the necessary files , the problem is when it is installed the tables can be easily be viewed using vfp. Can i prevent this from happening. thanks
Not really using simple means. If a file canbe read byyour application, then the user has thenecessaryoperating system permissions to copy the file to another location. Once it's there, it canbe examined anddecrypted at leisure if thevalue of thedatawarrants this.
Cryptographic approaches to concealing the data content depend on the strength of theencryption mechanism and thesecurity of theencryption algorithm and cryptographic keys. If the datais valuable enough, it is a safe assumption that the data can be decyphered given time andmoney- whether or not thisis worthwhile depends on thevalue of thedata and whetherthe data's value is retained longerthan the time it takes to decrypt it.
If there is a need to secure only asmall portion of the data,and that datais referenced relatively infrequently, in response to a narrow set of operations used for things like access control, and the system is deployed in a network environment, you might consider developing a remote COM server that would perform these operations on behalf of you application. The remote server would receive requests from systems, and respond based on it's secured data. The secured data could be restricted so that it could onlybe accessedby specified users on the local machine; under Windows 2000, the new file system has a built-in encryption mechanism that makes working from copies from backup at another machine exceedingly difficult. Obviously, you'd need to develop the COM server to handle the tasks, and alter your application to have it call the server rather than performing restricted actions on its own. This minimizes the risk of theftor exposure of data by limiting who and where the data is accessible.
A database backend maybe an even better alternative, in that it can enforce security in an even more granular fashion than the operating system, as well as providing added data integrity and access services that may be desirable. Typical backend servers are not inexpensive.