Upgrade with updated .df and CRC-based r-code
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
The flexibility of CRC-based r-code makes it easy to distribute a new release of an existing application.
To distribute a new release of an existing application:
- Create an incremental .df file of your application database using the Data Administration tool (for graphical environments) or the Data Dictionary's Admin submenu (for character environments). For more information on creating an incremental .df file, see Manage the OpenEdge Database.
- Recompile source files that were affected by the new schema changes.
-
Send the .df file and copies of
the new r-code files that were affected by the schema changes to
your users. After the users load the incremental .df file,
they can immediately run your new .r code.
Essentially, the steps you take are the same as when you use encrypted source, but you gain the following advantages:
- You do not have to encrypt your procedures. However, you need to recompile some r-code.
- The user does not have to compile your procedures.
One possible disadvantage of using CRC-based r-code is that a user with the 4GL Development System, OpenEdge Studio, and Progress Developer Studio for OpenEdge can create a counterfeit database (a database with the same structure as your application database). The user can then write, compile, and run it against your application database.
If this concerns you, you can either turn on run-time permission checking or use the PROUTIL utility's
DBAUTHKEYqualifier. For details on how to turn on run-time permission checking, see Maintain Application Security.The PROUTIL utility's
DBAUTHKEYqualifier enables you to set an authorization key for your database. When compiling a procedure, OpenEdge includes the value of this key in your r-code. CRC-based r-code that does not include the correct authorization key will not run against your database. You can insert the authorization key into existing CRC-based r-code with the PROUTIL utility'sRCODEKEYqualifier. For more information on the PROUTIL utility'sDBAUTHKEYandRCODEKEYqualifiers, see Manage the OpenEdge Database.