1# BundlePackInfo (System API) 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9The module provides information in the **pack.info** file. The information can be obtained using [freeInstall.getBundlePackInfo](js-apis-freeInstall-sys.md#getbundlepackinfo). 10 11> **NOTE** 12> 13> 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. 14> 15> The APIs provided by this module are system APIs. 16 17## Modules to Import 18 19```js 20import { freeInstall } from '@kit.AbilityKit'; 21``` 22 23## BundlePackInfo 24 25**System API**: This is a system API. 26 27**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 28 29| Name | Type | Read-Only| Optional| Description | 30| -------- | --------------------------------------- | ---- | ---- | ------------------------- | 31| packages | Array\<[PackageConfig](#packageconfig)> | Yes | No | Package configuration information in the **pack.info** file. | 32| summary | [PackageSummary](#packagesummary) | Yes | No | Package summary information in the **pack.info** file.| 33 34## PackageConfig 35 36**System API**: This is a system API. 37 38**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 39 40| Name | Type | Read-Only| Optional| Description | 41| ------------------- | -------------- | ---- | ---- | ------------------------------------------------------------ | 42| deviceTypes | Array\<string> | Yes | No | Device types supported by the bundle. | 43| name | string | Yes | No | Bundle name. | 44| moduleType | string | Yes | No | Module type of the bundle. | 45| deliveryWithInstall | boolean | Yes | No | Whether it should be installed together with the application. **true** if it should be installed together with the application, **false** otherwise.| 46 47## PackageSummary 48 49**System API**: This is a system API. 50 51**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 52 53| Name | Type | Read-Only| Optional| Description | 54| ------- | --------------------------------------------- | ---- | ---- | -------------------- | 55| app | [BundleConfigInfo](#bundleconfiginfo) | Yes | No | Bundle configuration information. | 56| modules | Array\<[ModuleConfigInfo](#moduleconfiginfo)> | Yes | No | Module configuration information of the bundle.| 57 58## BundleConfigInfo 59 60**System API**: This is a system API. 61 62**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 63 64| Name | Type | Read-Only| Optional| Description | 65| ---------- | ------------------- | ---- | ---- | -------------------------------------- | 66| bundleName | string | Yes | No | Bundle name. It uniquely identifies an application.| 67| version | [Version](#version) | Yes | No | Bundle version. | 68 69## ModuleConfigInfo 70 71**System API**: This is a system API. 72 73**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 74 75| Name | Type | Read-Only| Optional| Description | 76| ------------------ | ------------------------------------------------- | ---- | ---- | ---------------------------------- | 77| mainAbility | string | Yes| No| Name of the main ability.| 78| apiVersion | [ApiVersion](#apiversion) | Yes | No | API version of the module. | 79| deviceTypes | Array\<string> | Yes | No | Device types supported by the module. | 80| distro | [ModuleDistroInfo](#moduledistroinfo) | Yes | No | Distribution information of the module. | 81| abilities | Array\<[ModuleAbilityInfo](#moduleabilityinfo)> | Yes | No | Ability information of the module. | 82| extensionAbilities | Array\<[ExtensionAbility](#extensionability)> | Yes | No | ExtensionAbility information of the module.| 83 84## ModuleDistroInfo 85 86**System API**: This is a system API. 87 88**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 89 90| Name | Type | Read-Only| Optional| Description | 91| ------------------- | ------- | ---- | ---- | ------------------------------------------------------------ | 92| deliveryWithInstall | boolean | Yes | No | Whether it should be installed together with the application. **true** if it should be installed together with the application, **false** otherwise.| 93| installationFree | boolean | Yes | No | Whether the HAP file supports the installation-free feature. **true** if the HAP file supports the installation-free feature and meets installation-free constraints, **false** otherwise.| 94| moduleName | string | Yes | No | Module name. | 95| moduleType | string | Yes | No | Module type. | 96 97## ModuleAbilityInfo 98 99**System API**: This is a system API. 100 101**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 102 103| Name | Type | Read-Only| Optional| Description | 104| ------- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | 105| name | string | Yes | No | Name of the ability. The name must be unique in the bundle. | 106| label | string | Yes | No | Name of the ability displayed to users. The value is a resource index to names in multiple languages.| 107| exported | boolean | Yes | No | Whether the ability can be invoked by other applications. **true** if it can be invoked by other applications, **false** otherwise.| 108| forms | Array\<[AbilityFormInfo](#abilityforminfo)> | Yes | No | Widget information. | 109 110## ExtensionAbility 111 112**System API**: This is a system API. 113 114**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 115 116| Name | Type | Read-Only| Optional| Description | 117| ----- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | 118| name | string | Yes| No| Name of the ExtensionAbility.| 119| forms | Array\<[AbilityFormInfo](#abilityforminfo)> | Yes | No | Widget information.| 120 121## AbilityFormInfo 122 123**System API**: This is a system API. 124 125**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 126 127| Name | Type | Read-Only| Optional| Description | 128| ------------------- | -------------- | ---- | ---- | ------------------------------------------------------------ | 129| name | string | Yes | No | Widget name. | 130| type | string | Yes | No | Widget type. | 131| updateEnabled | boolean | Yes | No | Whether the widget supports periodic update. **true** if the widget supports periodic update, **false** otherwise.| 132| scheduledUpdateTime | string | Yes | No | Scheduled time to update the widget. The value is in 24-hour format and accurate to the minute. | 133| 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.| 134| 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.| 135| defaultDimension | string | Yes | No | Default dimensions of the widget. The value must be available in the **supportDimensions** array of the widget.| 136 137## ApiVersion 138 139**System API**: This is a system API. 140 141**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 142 143| Name | Type | Read-Only| Optional| Description | 144| ----------- | ------ | ---- | ---- | -------------------- | 145| releaseType | string | Yes | No | Name of the API version. | 146| compatible | number | Yes | No | Minimum API version.| 147| target | number | Yes | No | Target API version. | 148 149## Version 150 151**System API**: This is a system API. 152 153**System capability**: SystemCapability.BundleManager.BundleFramework.FreeInstall 154 155| Name | Type | Read-Only| Optional| Description | 156| ------------------------ | ------ | ---- | ---- | ------------------------------------------------------------ | 157| 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.| 158| name | string | Yes | No | Version number of the bundle visible to users. | 159| 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.| 160