Creating registration resource files

You need to register your applications in order to make them visible to the application menu and to provide other information to the underlying system. To register, you need to provide a registration resource file, typically named <application_name>_reg.rss, that contains the non-localized information for your application. You also need to provide the localizable registration information. The registration resource file is compiled during the build process and included in the pkg package file used to make the sis installation file.

To create a registration resource file:

  1. Determine the requirements of your application.

  2. Create a text file with the name <application_name>_reg.rss.

  3. Include the appropriate header files. Typically, you need to include the following files:

    • appinfo.rh, which is the resource header file that includes the data structure declaration for the resource statement used in the registration resource file

    • compiled resource header file for the resource file with the symbolic ID for the localizable registration information

    • localization file, depending on you implementation of the registration resource file

    For more information on pre-processor statement syntax, see C++ pre-processor statements in the Symbian OS Library.

  4. Add a statement for the UID2 value for the registration resource file as follows:.

    UID2 KUidAppRegistrationResourceFile

    UID2 always has the same value in registration resource files.

  5. Add a statement for the UID3 value of the application as follows

    UID3 <uid3 value for application>
  6. Create a APP_REGISTRATION_INFO resource for your application. The definition for the registration code block is as follows:

    RESOURCE  APP_REGISTRATION_INFO
    	{
    	app_file = ""; // name of application binary file (not including extension) - mandatory
    	attributes = 0;
    	localisable_resource_file = ""; // path (not including drive) and name of localisable resource file
    	localisable_resource_id = r_name36;
    	hidden = KAppNotHidden;
    	embeddability = KAppNotEmbeddable;
    	newfile = KAppDoesNotSupportNewFile;
    	launch = KAppLaunchInForeground;
    	group_name(KAppMaxGroupName) = "";
    	default_screen_number = 0;
    	datatype_list[]; // SUPPORTED DATATYPES
    	file_ownership_list[]; // FILE_OWNERSHIP_INFO
    	service_list[]; // SERVICE_INFO
    	opaque_data = 0;	// use for opaque data to send to non-native application launchers i.e. MIDlet id
    	}

    where,

    • app_file indicates the name of the application executable binary file without the extension

    • localisable_resource_file indicates the path and name of the localizable resource file for the application

    • localisable_resource_id indicates the symbolic name of the resource for the localizable registration resource

    • newfile indicates whether the application is document-based and supports the creation of new files. The default value is KAppDoesNotSupportNewFile.

    • embeddability indicates whether an application is embeddable.

      The default value is KAppNotEmbeddable.

      For more information on embeddability, see FAQ-1129 What is an embeddable application? in the Symbian OS Library.

    The header file for the registration resource files is appinfo.rh and is located in the ./epoc32/include folder.

    For more information on the other values in the resource, see Defining application icons, captions and properties in the Symbian OS Library.

For a commented example, see HelloWorldBasic_reg.rss.