UltraLite User's Guide
Developing UltraLite Applications
Once built, your application is contained in a single executable file (C/C++) or set of classes (Java).
Your UltraLite application automatically initializes its own database the first time it is invoked. At first, your database contains no data. You can add data explicitly using INSERT statements in your application, or you can import data from a consolidated database through synchronization. Explicit INSERT statements are especially useful when developing prototypes. You do not need to deploy a separate UltraLite database with your application.
When deploying a new version of an application, the default behavior is for UltraLite to create a new database, losing any data in the database before the new application was deployed. If you call ULEnableGenericSchema at the beginning of your application, the database is instead upgraded to the schema of the new application.
For more information, see ULEnableGenericSchema function.
If you linked a C/C++ UltraLite application using the UltraLite library, the custom database engine is an integral component of this executable. To deploy your application, copy the executable file to your target device.
Some platforms, such as Windows CE, support dynamic link libraries. If your target is one of these platforms, you have the option to use the UltraLite runtime DLL.
To build and deploy an application using the UltraLite runtime DLL
Preprocess your code, then compile the output with UL_USE_DLL.
Link your application using the UltraLite imports library.
Copy both your application executable and the UltraLite runtime DLL to your target device.
For more information on specific platforms, see the following: