1e41f4b71Sopenharmony_ci# BundlePackInfo (System API)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe **BundlePackInfo** module provides information in the **pack.info** file. The information can be obtained using [freeInstall.getBundlePackInfo](js-apis-freeInstall-sys.md#getbundlepackinfo).
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> The APIs provided by this module are system APIs.
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## BundlePackInfo
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci**System API**: This is a system API.
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci| Name    | Type                                   | Read-Only| Optional| Description                     |
19e41f4b71Sopenharmony_ci| -------- | --------------------------------------- | ---- | ---- | ------------------------- |
20e41f4b71Sopenharmony_ci| packages | Array\<[PackageConfig](#packageconfig)> | Yes  | No  | Package configuration information in the **pack.info** file.      |
21e41f4b71Sopenharmony_ci| summary  | [PackageSummary](#packagesummary)       | Yes  | No  | Package summary information in the **pack.info** file.|
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci## PackageConfig
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci**System API**: This is a system API.
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci| Name               | Type          | Read-Only| Optional| Description                                                        |
30e41f4b71Sopenharmony_ci| ------------------- | -------------- | ---- | ---- | ------------------------------------------------------------ |
31e41f4b71Sopenharmony_ci| deviceTypes          | Array\<string> | Yes  | No  | Device types supported by the bundle.                                      |
32e41f4b71Sopenharmony_ci| name                | string         | Yes  | No  | Bundle name.                                                  |
33e41f4b71Sopenharmony_ci| moduleType          | string         | Yes  | No  | Module type of the bundle.                                            |
34e41f4b71Sopenharmony_ci| deliveryWithInstall | boolean        | Yes  | No  | Whether the HAP file will be installed when the user installs the bundle. The value **true** means that the HAP file will be automatically installed when the user installs the bundle, and **false** means the opposite.|
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci## PackageSummary
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci**System API**: This is a system API.
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci| Name   | Type                                         | Read-Only| Optional| Description                |
43e41f4b71Sopenharmony_ci| ------- | --------------------------------------------- | ---- | ---- | -------------------- |
44e41f4b71Sopenharmony_ci| app     | [BundleConfigInfo](#bundleconfiginfo)         | Yes  | No  | Bundle configuration information.      |
45e41f4b71Sopenharmony_ci| modules | Array\<[ModuleConfigInfo](#moduleconfiginfo)> | Yes  | No  | Module configuration information of the bundle.|
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci## BundleConfigInfo
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci**System API**: This is a system API.
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci| Name      | Type               | Read-Only| Optional| Description                                  |
54e41f4b71Sopenharmony_ci| ---------- | ------------------- | ---- | ---- | -------------------------------------- |
55e41f4b71Sopenharmony_ci| bundleName | string              | Yes  | No  | Bundle name. It uniquely identifies an application.|
56e41f4b71Sopenharmony_ci| version    | [Version](#version) | Yes  | No  | Bundle version.                            |
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci## ModuleConfigInfo
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci**System API**: This is a system API.
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci| Name              | Type                                             | Read-Only| Optional| Description                              |
65e41f4b71Sopenharmony_ci| ------------------ | ------------------------------------------------- | ---- | ---- | ---------------------------------- |
66e41f4b71Sopenharmony_ci| mainAbility | string | Yes| No| Name of the main ability.|
67e41f4b71Sopenharmony_ci| apiVersion         | [ApiVersion](#apiversion)                         | Yes  | No  | API version of the module.                 |
68e41f4b71Sopenharmony_ci| deviceTypes         | Array\<string>                                    | Yes  | No  | Device types supported by the module.                |
69e41f4b71Sopenharmony_ci| distro             | [ModuleDistroInfo](#moduledistroinfo)             | Yes  | No  | Distribution information of the module.                |
70e41f4b71Sopenharmony_ci| abilities          | Array\<[ModuleAbilityInfo](#moduleabilityinfo)>   | Yes  | No  | Ability information of the module.              |
71e41f4b71Sopenharmony_ci| extensionAbilities | Array\<[ExtensionAbility](#extensionability)> | Yes  | No  | ExtensionAbility information of the module.|
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci## ModuleDistroInfo
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**System API**: This is a system API.
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci| Name               | Type   | Read-Only| Optional| Description                                                        |
80e41f4b71Sopenharmony_ci| ------------------- | ------- | ---- | ---- | ------------------------------------------------------------ |
81e41f4b71Sopenharmony_ci| deliveryWithInstall | boolean | Yes  | No  | Whether the HAP file will be installed when the user installs the bundle. The value **true** means that the HAP file will be automatically installed when the user installs the bundle, and **false** means the opposite.|
82e41f4b71Sopenharmony_ci| installationFree    | boolean | Yes  | No  | Whether the HAP file supports the installation-free feature. The value **true** means that the HAP file supports the installation-free feature and meets installation-free constraints, and **false** means the opposite.|
83e41f4b71Sopenharmony_ci| moduleName          | string  | Yes  | No  | Module name.                                                |
84e41f4b71Sopenharmony_ci| moduleType          | string  | Yes  | No  | Module type.                                                |
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci## ModuleAbilityInfo
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci**System API**: This is a system API.
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci| Name   | Type                                       | Read-Only| Optional| Description                                                        |
93e41f4b71Sopenharmony_ci| ------- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ |
94e41f4b71Sopenharmony_ci| name    | string                                      | Yes  | No  | Name of the ability. The name must be unique in the bundle.           |
95e41f4b71Sopenharmony_ci| label   | string                                      | Yes  | No  | Name of the ability displayed to users. The value is a resource index to names in multiple languages.|
96e41f4b71Sopenharmony_ci| exported | boolean                                     | Yes  | No  | Whether the ability can be called by other bundles. The value **true** means that the ability can be called by other bundles, and **false** means the opposite.|
97e41f4b71Sopenharmony_ci| forms   | Array\<[AbilityFormInfo](#abilityforminfo)> | Yes  | No  | Widget information.                                                  |
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ci## ExtensionAbility
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci**System API**: This is a system API.
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci| Name | Type                                       | Read-Only| Optional| Description                                                        |
106e41f4b71Sopenharmony_ci| ----- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ |
107e41f4b71Sopenharmony_ci| name | string | Yes| No| Name of the ExtensionAbility.|
108e41f4b71Sopenharmony_ci| forms | Array\<[AbilityFormInfo](#abilityforminfo)> | Yes  | No  | Widget information.|
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci## AbilityFormInfo
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci**System API**: This is a system API.
113e41f4b71Sopenharmony_ci
114e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci| Name               | Type          | Read-Only| Optional| Description                                                        |
117e41f4b71Sopenharmony_ci| ------------------- | -------------- | ---- | ---- | ------------------------------------------------------------ |
118e41f4b71Sopenharmony_ci| name                | string         | Yes  | No  | Widget name.                                           |
119e41f4b71Sopenharmony_ci| type                | string         | Yes  | No  | Widget type.                                           |
120e41f4b71Sopenharmony_ci| updateEnabled       | boolean        | Yes  | No  | Whether the widget supports periodic update. The value **true** means that the widget supports periodic update, and **false** means the opposite.|
121e41f4b71Sopenharmony_ci| scheduledUpdateTime | string         | Yes  | No  | Scheduled time to update the widget. The value is in 24-hour format and accurate to the minute.        |
122e41f4b71Sopenharmony_ci| updateDuration      | number         | Yes  | No  | Interval to update the widget. The unit is 30 minutes. The value is a multiple of 30. A widget can be updated at a specified interval (**updateDuration**) or at the scheduled time (**scheduledUpdateTime**). If both are configured, **updateDuration** takes precedence.|
123e41f4b71Sopenharmony_ci| supportDimensions   | Array\<string> | Yes  | No  | Dimensions of the widget. The value can be **1\*2**, **2\*2**, **2\*4**, **4\*4**, or a combination of these options. At least one option must be specified when defining the widget.|
124e41f4b71Sopenharmony_ci| defaultDimension    | string         | Yes  | No  | Default dimensions of the widget. The value must be available in the **supportDimensions** array of the widget.|
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci## ApiVersion
127e41f4b71Sopenharmony_ci
128e41f4b71Sopenharmony_ci**System API**: This is a system API.
129e41f4b71Sopenharmony_ci
130e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci| Name       | Type  | Read-Only| Optional| Description                |
133e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---- | -------------------- |
134e41f4b71Sopenharmony_ci| releaseType | string | Yes  | No  | Name of the API version.        |
135e41f4b71Sopenharmony_ci| compatible  | number | Yes  | No  | Minimum API version.|
136e41f4b71Sopenharmony_ci| target      | number | Yes  | No  | Target API version.        |
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci## Version
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_ci**System API**: This is a system API.
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci| Name                    | Type  | Read-Only| Optional| Description                                                        |
145e41f4b71Sopenharmony_ci| ------------------------ | ------ | ---- | ---- | ------------------------------------------------------------ |
146e41f4b71Sopenharmony_ci| minCompatibleVersionCode | number | Yes  | No  | Minimum compatible version of the bundle. It is used to check whether the bundle is compatible with a version on other devices in the cross-device scenario. The value is a 32-bit non-negative integer.|
147e41f4b71Sopenharmony_ci| name                     | string | Yes  | No  | Version number of the bundle visible to users.                      |
148e41f4b71Sopenharmony_ci| code                     | number | Yes  | No  | Version number of the bundle used only for bundle management. The value is a 32-bit non-negative integer. It is used only to determine whether a version is later than another version. A larger value indicates a later version.|
149