Version Info

From RAD Studio
Jump to: navigation, search

Go Up to Application Options


Project > Options > Application > Version Info

Use this dialog box to specify version information for your project. When version information is included, a user can right-click the program icon and select properties to display the version information.

Options Description

Target, Apply, Save

See Target Options.

Common items

See Common Items on Project Options Pages.


The Version Info page offers you a different set of fields depending on the target platform selected in the Target field:

Windows Version Info

When the target platform selected in the Target field is either 32-bit Windows or 64-bit Windows, the Version Info page provides the following fields:

Item Description

Include version information in project

Determines whether the user can view product identification information.

Module version number

Sets a hierarchical, nested identification number, made up of version numbers (major and minor), release number, and build number (for example 2.1.3.5):

  • Major version, Minor version, Release, and Build each specify an unsigned integer between 0 and 65,535. The combined string defines a unique version number for the application.

To see the version number on a Windows platform, right-click the .exe file in the Windows file explorer, select Properties from the context menu, and find the File version in the Properties box.

To obtain version information programmatically from your compiled Win32 application, use the Windows GetFileVersionInfo and VerQueryValue API functions.

To get version information for an emulated Win32 process running in a Win64 environment, use the Windows GetNativeSystemInfo function.

Build number options

Specifies how the build number changes each time you select Project > Build <Project>. Other compilations do not change the build number (the fourth number in the version number, such as 1.2.3.4).

  • Auto generate build number generates the Release and Build number for you, and increments the numbers each time you select Project > Build <Project>. When Auto generate build number is set:
    • Release = number of days since Jan 1 2000
    • Build = number of seconds since midnight (00:00:00), divided by 2
Note: Auto generate build number might require you to set the environment variable (SAVEVRC=TRUE).
Go to Tools > Options > IDE > Environment Variables and add a new User variable called SAVEVRC with Value=TRUE. This variable enables the generation of a .vrc file with an auto generated build number and other information. This information is compiled and added to the .res file. If you right-click the executable file, you will see the generated build number.
  • Auto increment build number increments the build number each time the Project > Build <Project> menu is selected. Other compilations do not change the build number.
  • Do not change the build number preserves the existing build number. This is the default.

Module attributes

Indicates the intent of this version: whether for debugging, pre-release, or other purposes. Module attributes can be included in the version information and are for informational use only. If a project is compiled in debug mode, the debug flag is included in the version information. You can select each of the remaining flags as needed.

  • Debug build Indicates that the project was compiled in debug mode.
  • Pre-release Indicates the version is not the commercially released product.
  • DLL Indicates that the project includes a dynamic-link library.
  • Special build Indicates that the version is a variation of the standard release.
  • Private build Indicates that the version was not built using standard release procedures.

Language

Indicates the Code Page that the user's system requires in order to run the application. The Locale ID might be given in Hex; for example, $0409 = code page 1033.

You can only choose a language that is listed in the Control Panel Regional Settings dialog of your computer. Some versions of the Windows operating system do not include support for all languages (such as Far Eastern languages), and you may need to install the appropriate Language Pack before you can use those languages.

Key/Value list box

Sets typical product identification properties. Key entries can be edited by selecting the key and reentering the name. To add key entries, right-click within the Key/Value table and select Add Key. To enter or change the value for a key, simply type in the Value field.

Note: If you define the VersionInfo resource and add it to the project via a $R directive in the project file, the compiler will ignore settings of Version Info at Project Options dialog box and use the custom resource data instead, given an application can have only one VersionInfo resource on Windows.

macOS and iOS Version Info

When the target platform selected in the Target field is macOS, iOS Device - 32 bit, iOS Device - 64 bit, or iOS Simulator, the Version Info page provides the following fields:

Item Description

Include version information in project

Determines whether the user can view product identification information.

Module version number

Sets a hierarchical, nested identification number, made up of version numbers (major and minor) and build number (for example 2.1.5):

  • Major version, Minor version, and Build each specify an unsigned integer between 0 and 65,535. The combined string defines a unique version number for the application.

Build number options

Specifies how the build number changes each time you select Project > Build <Project>. Other compilations do not change the build number (the third number in the version number, such as 1.2.3).

  • Auto generate build number generates the Build number for you, and increments the numbers each time you select Project > Build <Project>. When Auto generate build number is set, Build is the number of seconds since midnight (00:00:00), divided by 2.
Note: Auto generate build number might require you to set the environment variable (SAVEVRC=TRUE).
Go to Tools > Options > IDE > Environment Variables and add a new User variable called SAVEVRC with Value=TRUE. This variable enables the generation of a .vrc file with an auto generated build number and other information.
  • Auto increment build number increments the build number each time the Project > Build <Project> menu is selected. Other compilations do not change the build number.
  • Do not change the build number preserves the existing build number. This is the default.

Key/Value list box

Defines key-value pairs to add to the info.plist file of your project.

The table below shows the default fields that RAD Studio provides. To add a new field to your info.plist file, right-click anywhere in the list of fields and select Add Key. If you need to add complex key-value pairs that you cannot define using this list box, see Customizing Your info.plist File.

Key Default Value Notes

CFBundleName

$(ModuleName)

If you are submitting your application to the Mac App Store, you need to insert your Mac app BundleID into this field. Otherwise, the Mac AppLoader might report that the application file does not match the Store BundleId that you are using.

CFBundleDevelopmentRegion
(only iOS)

en

CFBundleDisplayName

$(ModuleName)

CFBundleIdentifier

$(ModuleName)

CFBundleInfoDictionaryVersion
(only iOS)

7.1

CFBundleVersion

1.0.0 (macOS)
1.0.0.0 (iOS)

CFBundlePackageType

APPL

CFBundleSignature

????

LSRequiresIPhoneOS
(only iOS)

true

CFBundleAllowMixedLocalizations

YES

CFBundleExecutable

$(ModuleName)

NSHighResolutionCapable
(only OS X)

true

LSApplicationCategoryType
(only macOS)

public.app-category.utilities

UIDeviceFamily
(only iOS)

iPhone & iPad

Indicates the iOS devices that your application supports. Possible values are:

  • iPhone - Support for both iPhone and iPod touch devices.
  • iPad - Support for iPad devices.
  • iPhone & iPad - Support for iPhone, iPod touch, and iPad devices. (Default)

CFBundleResourceSpecification
(only iOS)

ResourceRules.plist

NSLocationAlwaysUsageDescription

The reason for accessing the location information of the user

This description is displayed when authorization is needed.

NSLocationWhenInUseUsageDescription

The reason for accessing the location information of the user

This description is displayed when authorization is needed.

FMLocalNotificationPermission
(only iOS)

false

UIBackgroundModes
(only iOS)

Specifies the app services that must continue running in the background. Select the desired string values to be added to the array of this key.

Android Version Info

When the target platform is Android, the Version Info page provides the following fields that are used in the AndroidManifest.xml file:

Item Description

Version code

Integer value that defines the version of your application in the Android platforms.

Application stores such as Google Play may require that newer versions of your application always have a higher version code than previous versions. It is important that you do not forget to always increment this value before you deploy your application for application stores.

Version code options

Specifies how the version code changes each time you select Project > Build <Project> with the Application Store platform configuration selected. Other compilations do not change the version code.

  • Auto increment for Application Store updates the version code for you, and increment it by 1 each time you select Project > Build <Project> with the Application Store platform configuration selected.
  • Do not change preserves the existing version code. This is the default.

Key/Value list box

Sets some properties that provide information about your application. The list of properties is as follows:

Key Description

package

A package name that uniquely identifies your application.

The name must meet the following format requirements:

  • You may only use uppercase or lowercase latin letters (A-Z, a-z), numbers (0-9), and underscores (_).
  • Individual package name parts may only start with letters.

In some Android application stores, such as Google Play, you can only publish new versions of your application if both the old and the new version use the same package name. Also, the package name may be used by other Android applications to identify your application; for example, to let Android know that they require your application installed in order to work.

See the Android documentation for more information.

label

The display name of your application.

versionCode

The version code of your application.

You can use the Version code numeric field to modify this value.

versionName

The display version of your application. For example: "2.0".

persistent

Whether or not your application should be running at all times. See the Android documentation for more information.

restoreAnyVersion

Whether or not your application is able to read a data set written by a newer version of your application. See the Android documentation for more information.

installLocation

The preferred install location of your application. Possible values are:

  • internalOnly - Only install the application on the internal storage. If there is not sufficient free space on the internal storage, the application fails to install.
  • auto (default) - Install the application on the internal storage. If there is not sufficient free space on the internal storage, the application installs on any external storage.
  • preferExternal - Install the application on the external storage (for example, an SD card). If there is not sufficient free space on the external storage, the application installs on the internal storage.

See the Android documentation for more information.

largeHeap

Whether your the processes of your application should be created with a large Dalvik heap.
Most apps should not need this and should instead focus on reducing their overall memory usage for improved performance.

See the Android documentation for more information.

theme

Whether your application runs in fullscreen mode. In Android apps, you cannot define fullscreen behavior using the BorderStyle property, as you do in iOS apps. Instead of setting BorderStyle, you must use the theme key to define fullscreen behavior for all the forms in your Android app.

Possible values are:

  • TitleBar (default). Your application displays the Android status bar.
    The result is the behavior that you obtain in iOS apps if you set BorderStyleNone in all your forms.
  • No TitleBar. Your application runs in fullscreen mode.
    The result is the behavior that you obtain in iOS apps if you set BorderStyle = None in all your forms.

For more information, see FMX.Forms.TForm.BorderStyle.

hardwareAccelerated

Allows you to enable or disable the hardware acceleration on the target device, at the application level.

This option adds the following attribute to the <application> tag to enable hardware acceleration for your entire application.

<application android:hardwareAccelerated="true" ...>
<application android:hardwareAccelerated="false" ...>

Default value = true

For more information, see developer.android.com

apiKey

Allows you to define your API key to access the Google Maps services. See Configuring Android Applications to Use Google Maps.

See Also