Knowledge Base

Search Knowledge Base

KB #240023: DBF becomes decrypted after xBase PACK command

Type: Tip
This explains why an encrypted DBF might become decrypted after a PACK command and how to avoid it.
Additional Information:
When your program issues a PACK command, XBASE platforms, such as Visual FoxPro or xBase++, use the following procedure internally:

  1. USE original-file
  2. COPY TO temporary-file FOR .NOT. DELETED()
  3. DELETE original-file
  4. RENAME temporary-file TO original-file

In this process, original-file might become decrypted because PACK actually creates a new file. You can avoid this in a couple of different ways:

  • If you have created a profile using the GUI or CLI, make sure you have selected the “Encrypt new files” option.
  • Alternatively, turn on N_ENCODENEW before PACKing. E.g.,* turn on "encrypt new files" and save current setting
    * restore original setting