Mobile Component attributes

A Mobile Component is a component that defines a Windows Mobile installation cabinet (.cab file). It behaves as a regular component, but in addition represents a Windows Mobile .cab file that installs files, folders, etc. on a Windows Mobile device.

When you build your installer, the following happens for each Mobile Component in your project:

  1. InstallMate generates a Windows Mobile installation cabinet for the Mobile Component that contains all its Mobile content (i.e., mobile files, folders, shortcuts, registry keys, and registry values in the component), plus the required instructions to install them on an appropriate mobile device. The name of this cabinet file is Name-0001.cab, where Name is specified by the Name field, below.
  2. In addition, InstallMate generates a small .ini file with instructions for the CE Application Manager program. This file has the name Name.ini.
  3. The generated installation cabinet file and its .ini companion are included in the overall installation package, for delivery to the user's desktop system from where they can be installed on any connected mobile device.
  4. Any non-mobile content of the Mobile Component (i.e., regular files, folders, etc.) is treated normally; for that type of content, the Mobile Component behaves as a regular component. This allows you to control both mobile content and closely related desktop content through a single component.

Each Mobile Component's .cab file and its .ini companion will be delivered to the user's desktop system, subject to the normal installation rules for components and their parent features. In particular, the generated files will be installed in the parent feature's folder, as defined by the feature's Folder alias field. If you set the Mobile Component's Install type attribute (see below) to Use CE App Manager, then the .cab file will automatically be installed on any connected mobile device.

Note: InstallMate currently supports installation on mobile devices running Windows Mobile 4.2 or later (i.e., Pocket PC 2003, SmartPhone 2003, or Windows Mobile 5.0 and later).

Attributes

This pane contains the following attributes and options.

Attribute Description
Name Enter the name of the component. This name is used to refer to the component in conditional expressions and symbolic expressions elsewhere in the project, but is not visible to the user. Each component must have a name that is unique within the project.
Install title Enter the user-visible title for the mobile component. This title is used during the installation of the component on a mobile device, and also as an identification on the device itself. The full identification consists of the Provider name (see below) followed by the title that you specify here. You can use symbolic expressions in the title, but they will be resolved when the installer is built, not during installation.
Register with GUID

Check this box to register the component globally during installation; clear the box to keep the component private to the product.

If you check this box, you must also provide a GUID (Globally Unique IDentifier) for the component. When you create a registered component, InstallMate Builder automatically generates a new GUID for the component. Unless you have a good reason to change this GUID and are aware of the implications, we recommend that you keep the GUID that was generated for you.

The component GUID must be unique across all Windows software; it is used, among other things, to uniquely identify your assemblies on Windows systems. If the GUID accidentally or intentionally matches the GUID of a different component or component (whether yours or someone else's), the information for the two components will get mixed up.

The component GUID must have the following format:

{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}

Each group of characters must consist of uppercase hexadecimal digits, i.e., the characters 0-9 and A-F.

Lock GUID Check this box to protect the GUID field against accidental changes (the field will be made read-only); clear it to allow editing of the GUID field. Because it is very important that the GUID of your assemblies remain unchanged throughout their lifetime, we recommend that you keep this box checked.
Generate

Click this button to generate a new GUID and copy it to the GUID field. The GUID is generated by the Windows UuidCreate function and is guaranteed to be globally unique if your computer contains a functioning network card.

Note: No network access takes place when the GUID is generated, but the network card's unique identifier is used as part of the new GUID. This is combined with time and date information and a counter, and the result is then securely hashed to make it impossible to reconstruct any of the original information.

Note: Assembly GUIDs are not updated by the Project > Generate New GUIDs command. You must manually generate a new GUID for each component.

Provider name Enter the user-visible provider name for the mobile component. This name is used during the installation of the component on a mobile device, and also as an identification on the device itself. The full identification consists of the provider name followed by the Install title (see above). You can use symbolic expressions in the title, but they will be resolved when the installer is built, not during installation.
Condition Enter a conditional expression that determines if the component will be installed, or leave empty if the component must be installed unconditionally. Unless you check the Dynamic option (below), the condition is only evaluated once during the UpdateComponents standard action , to ensure that the component will not be accidentally installed or removed during a subsequent run of the same installation package because of changes to the condition.
Dynamic Check this box to re-evaluate the condition during each installer run; clear it to evaluate the condition only once. If this option is checked, the installer re-evaluates the conditon during each UpdateComponents action; with the option cleared, only the first such action evaluates the condition.
Platforms...

Click this button to open the Select Installation Platforms dialog box that allows you to select the Windows versions on which the component must be installed. This platform selection acts as an additional condition for the component.

InstallMate fully supports platform selection at installation time. In addition, when a Build Configuration is being built InstallMate will include or exclude assemblies depending on the overlap between the component's Platforms selection and the build configuration's build platforms. A BLD:Q0062 diagnostic message will be issued if an component is excluded based on the build platforms.

Languages...

Click this button to open the Select Installation Languages dialog box that allows you to select the languages for which the component must be installed. This language selection acts as an additional condition for the component.

InstallMate fully supports language selection at installation time. In addition, when a Build Configuration is being built InstallMate will include or exclude assemblies depending on the overlap between the component's Platforms selection and the build configuration's build platforms. A BLD:Q0063 diagnostic message will be issued if an component is excluded based on the build languages.

Build condition

Enter a conditional expression that determines if the component will be included in the build, or leave empty if the component must be included in all builds. The build condition is evaluated during the preflight test for each Build Configuration; you can use the Build variables attribute in the Build Configuration pane to control if the component will be included for a particular configuration.

If the condition evaluates to false, the component and all the installation objects that are controlled by it are excluded from the build process for the configuration.

Packaging

Select the desired packaging option for the files that belong to the component. The packaging option that you select here overrides the packaging option from the build configuration. The following choices are available:

Packaging Description
Default Package the component's files as per the build configuration's Packaging option.
Local Always keep the component's files local, i.e., in the main installation package or on one of the distribution disks.
Download Always create a download package for the component's files. This option is most useful for large components that are only needed in special circumstances (as dictated by the component's Condition or Platforms settings, or because the component belongs to a feature that is optional).
For a detailed overview of the interaction between the component's packaging options and the build configuration, see the Installer packaging topic.
Comment Free-form text field in which you can enter annotations for the component. This field is not used by the installer; it is only intended for your own documentation.
Install type

Select the installation type of component from the drop-down box. The following choices are available:

Install type Description
On Desktop only

Install the Windows Mobile installation cabinet file and the accompanying .ini instruction file on the user's desktop system, but do not try to install it on a mobile device.

The files will be installed in the parent feature's folder, as defined by the feature's Folder alias field. It is then up to the user or your desktop application (or to any custom actions that you might define in the current project) to perform the actual installation on one or more mobile devices.

CeAppMgr /register

Install the Windows Mobile installation cabinet file and the accompanying .ini instruction file on the user's desktop system, then use the CE Application Manager program to install it on any connected mobile device. The latter occurs during the InstallMobileCabinets standard action.

The CE Application Manager program (part of the ActiveSync package) is a Microsoft application that is typically installed on desktop systems that connect to a mobile device. It will take the .ini file and use the information in it to send the cabinet file to the mobile device for installation.

With the CeAppMgr /register option, the mobile device installation occurs in two steps during the InstallMobileCabinets standard action:

  1. First, all eligible .cab files are registered with CE Application Manager. This does not transfer them to the mobile device; it only adds them to the CE Application Manager's list of programs to be installed.
  2. Next, CE Application Manager is started in interactive mode. The user can then select the programs that must be installed on the mobile device.

This two-step approach is most useful if you have several Mobile Components in your project, because it allows the user to install all of them as a single batch.

Notes

  • Because the device-side installer usually requires user interaction, the CeAppMgr /register option does not perform the second (interactive) step if the overall installer runs in quiet mode (/q command line option). Instead, the installation will take place the next time that the user opens ActiveSync on his or her desktop system.
  • The /register option is only available in ActiveSync 4.0 or later. On earlier versions, the /register option will be omitted and the installation on the mobile device takes place immediately. If running in quiet mode on pre-4.0 ActiveSync systems, the mobile device installation will be skipped, but the cabinet file and its .ini companion are still available on the desktop system.
CeAppMgr immediate

This option is similar to the previous, except that it does not use the /register option for CE Application Manager. Instead, installation to the mobile device takes place immediately during the InstallMobileCabinets standard action for each eligible Mobile Component.

Note: If the overall installer runs in quiet mode (/q command line option), then this option uses the /register option after all, so the user can install the new programs the next time that the user opens ActiveSync on his or her desktop system. This does not apply to ActiveSync versions earlier than 4.0; with those versions, the mobile device installation will be skipped, but the cabinet file and its .ini companion are still available on the desktop system.

Min CE version Enter the minimum Windows CE version that your application requires, in the format major.minor.build, or leave empty for no minimum version.
Max Enter the maximum Windows CE version that your application requires, in the format major.minor.build, or leave empty for no maximum version.
Advanced... Click this button to open the Mobile Component advanced options dialog box, with the Mobile Component - Advanced, Mobile Component - Pre-XML text, and Mobile Component - Post-XML text pages.

Related topics

Product Options, Working with attribute panes