1# @ohos.enterprise.bundleManager(包管理) 2 3本模块提供包管理能力,包括添加包安装白名单、获取包安装白名单、移除包安装白名单等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> 本模块接口仅可在Stage模型下使用。 10> 11> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-guide.md#功能介绍)开放,需将设备管理应用激活后调用,实现相应功能。 12 13## 导入模块 14 15```ts 16import { bundleManager } from '@kit.MDMKit'; 17``` 18 19## bundleManager.addAllowedInstallBundlesSync 20 21addAllowedInstallBundlesSync(admin: Want, appIds: Array<string>, accountId?: number): void 22 23指定设备管理应用添加应用至包安装白名单,添加至白名单的应用允许在当前/指定用户下安装,否则不允许安装。 24 25**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 26 27**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 28 29 30**参数:** 31 32| 参数名 | 类型 | 必填 | 说明 | 33| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 34| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 35| appIds | Array<string> | 是 | 应用ID数组。 | 36| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 37 38**错误码**: 39 40以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 41 42| 错误码ID | 错误信息 | 43| -------- | ------------------------------------------------------------ | 44| 9200001 | The application is not an administrator application of the device. | 45| 9200002 | The administrator application does not have permission to manage the device. | 46| 201 | Permission verification failed. The application does not have the permission required to call the API. | 47| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 48 49**示例:** 50 51```ts 52import { Want } from '@kit.AbilityKit'; 53import { BusinessError } from '@kit.BasicServicesKit'; 54let wantTemp: Want = { 55 bundleName: 'com.example.myapplication', 56 abilityName: 'EntryAbility', 57}; 58let appIds: Array<string> = ['com.example.******_******/******5t5CoBM=']; 59 60try { 61 bundleManager.addAllowedInstallBundlesSync(wantTemp, appIds, 100); 62 console.info('Succeeded in adding allowed install bundles.'); 63} catch (err) { 64 console.error(`Failed to add allowed install bundles. Code is ${err.code}, message is ${err.message}`); 65} 66``` 67 68## bundleManager.removeAllowedInstallBundlesSync 69 70removeAllowedInstallBundlesSync(admin: Want, appIds: Array<string>, accountId?: number): void 71 72指定设备管理应用在包安装白名单中移除应用,在白名单存在的情况下,不在包安装白名单中的应用不允许在当前/指定用户下安装。 73 74**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 75 76**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 77 78 79**参数:** 80 81| 参数名 | 类型 | 必填 | 说明 | 82| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 83| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 84| appIds | Array<string> | 是 | 应用ID数组。 | 85| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 86 87**错误码**: 88 89以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 90 91| 错误码ID | 错误信息 | 92| -------- | ------------------------------------------------------------ | 93| 9200001 | The application is not an administrator application of the device. | 94| 9200002 | The administrator application does not have permission to manage the device. | 95| 201 | Permission verification failed. The application does not have the permission required to call the API. | 96| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 97 98**示例:** 99 100```ts 101import { Want } from '@kit.AbilityKit'; 102import { BusinessError } from '@kit.BasicServicesKit'; 103let wantTemp: Want = { 104 bundleName: 'com.example.myapplication', 105 abilityName: 'EntryAbility', 106}; 107let appIds: Array<string> = ['com.example.******_******/******5t5CoBM=']; 108 109try { 110 bundleManager.removeAllowedInstallBundlesSync(wantTemp, appIds, 100); 111 console.info('Succeeded in removing allowed install bundles.'); 112} catch (err) { 113 console.error(`Failed to remove allowed install bundles. Code is ${err.code}, message is ${err.message}`); 114} 115``` 116 117## bundleManager.getAllowedInstallBundlesSync 118 119getAllowedInstallBundlesSync(admin: Want, accountId?: number): Array<string> 120 121指定设备管理应用获取当前/指定用户下的包安装白名单。 122 123**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 124 125**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 126 127 128**参数:** 129 130| 参数名 | 类型 | 必填 | 说明 | 131| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 132| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 133| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 134 135**返回值:** 136 137| 类型 | 说明 | 138| ------------------- | ------------------------------ | 139| Array<string> | 返回当前用户下的包安装白名单。 | 140 141**错误码**: 142 143以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 144 145| 错误码ID | 错误信息 | 146| -------- | ------------------------------------------------------------ | 147| 9200001 | The application is not an administrator application of the device. | 148| 9200002 | The administrator application does not have permission to manage the device. | 149| 201 | Permission verification failed. The application does not have the permission required to call the API. | 150| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 151 152**示例:** 153 154```ts 155import { Want } from '@kit.AbilityKit'; 156let wantTemp: Want = { 157 bundleName: 'com.example.myapplication', 158 abilityName: 'EntryAbility', 159}; 160 161try { 162 let result: Array<string> = bundleManager.getAllowedInstallBundlesSync(wantTemp, 100); 163 console.info(`Succeeded in getting allowed install bundles, result : ${JSON.stringify(result)}`); 164} catch (err) { 165 console.error(`Failed to get allowed install bundles. Code is ${err.code}, message is ${err.message}`); 166} 167``` 168 169## bundleManager.addDisallowedInstallBundlesSync 170 171addDisallowedInstallBundlesSync(admin: Want, appIds: Array<string>, accountId?: number): void 172 173指定设备管理应用添加应用至包安装黑名单,添加至黑名单的应用不允许在当前/指定用户下安装。 174 175**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 176 177**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 178 179**参数:** 180 181| 参数名 | 类型 | 必填 | 说明 | 182| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 183| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 184| appIds | Array<string> | 是 | 应用ID数组。 | 185| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 186 187**错误码**: 188 189以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 190 191| 错误码ID | 错误信息 | 192| -------- | ------------------------------------------------------------ | 193| 9200001 | The application is not an administrator application of the device. | 194| 9200002 | The administrator application does not have permission to manage the device. | 195| 201 | Permission verification failed. The application does not have the permission required to call the API. | 196| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 197 198**示例:** 199 200```ts 201import { Want } from '@kit.AbilityKit'; 202import { BusinessError } from '@kit.BasicServicesKit'; 203let wantTemp: Want = { 204 bundleName: 'com.example.myapplication', 205 abilityName: 'EntryAbility', 206}; 207let appIds: Array<string> = ['com.example.******_******/******5t5CoBM=']; 208 209try { 210 bundleManager.addDisallowedInstallBundlesSync(wantTemp, appIds, 100); 211 console.info('Succeeded in adding disallowed install bundles.'); 212} catch (err) { 213 console.error(`Failed to add disallowed install bundles. Code is ${err.code}, message is ${err.message}`); 214} 215``` 216 217## bundleManager.removeDisallowedInstallBundlesSync 218 219removeDisallowedInstallBundlesSync(admin: Want, appIds: Array<string>, accountId?: number): void 220 221指定设备管理应用在包安装黑名单中移除应用,在黑名单存在的情况下,在包安装黑名单中的应用不允许在当前/指定用户下安装。 222 223**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 224 225**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 226 227**参数:** 228 229| 参数名 | 类型 | 必填 | 说明 | 230| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 231| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 232| appIds | Array<string> | 是 | 应用ID数组。 | 233| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 234 235**错误码**: 236 237以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 238 239| 错误码ID | 错误信息 | 240| -------- | ------------------------------------------------------------ | 241| 9200001 | The application is not an administrator application of the device. | 242| 9200002 | The administrator application does not have permission to manage the device. | 243| 201 | Permission verification failed. The application does not have the permission required to call the API. | 244| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 245 246**示例:** 247 248```ts 249import { Want } from '@kit.AbilityKit'; 250import { BusinessError } from '@kit.BasicServicesKit'; 251let wantTemp: Want = { 252 bundleName: 'com.example.myapplication', 253 abilityName: 'EntryAbility', 254}; 255let appIds: Array<string> = ['com.example.******_******/******5t5CoBM=']; 256 257try { 258 bundleManager.removeDisallowedInstallBundlesSync(wantTemp, appIds, 100) 259 console.info('Succeeded in removing disallowed install bundles.'); 260} catch (err) { 261 console.error(`Failed to remove disallowed install bundles. Code is ${err.code}, message is ${err.message}`); 262} 263``` 264 265## bundleManager.getDisallowedInstallBundlesSync 266 267getDisallowedInstallBundlesSync(admin: Want, accountId?: number): Array<string> 268 269指定设备管理应用获取当前/指定用户下的包安装黑名单。 270 271**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 272 273**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 274 275 276**参数:** 277 278| 参数名 | 类型 | 必填 | 说明 | 279| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 280| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 281| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 282 283**返回值:** 284 285| 类型 | 说明 | 286| ------------------- | ------------------------------ | 287| Array<string> | 返回当前用户下的包安装白名单。 | 288 289**错误码**: 290 291以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 292 293| 错误码ID | 错误信息 | 294| -------- | ------------------------------------------------------------ | 295| 9200001 | The application is not an administrator application of the device. | 296| 9200002 | The administrator application does not have permission to manage the device. | 297| 201 | Permission verification failed. The application does not have the permission required to call the API. | 298| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 299 300**示例:** 301 302```ts 303import { Want } from '@kit.AbilityKit'; 304let wantTemp: Want = { 305 bundleName: 'com.example.myapplication', 306 abilityName: 'EntryAbility', 307}; 308 309try { 310 let result: Array<string> = bundleManager.getDisallowedInstallBundlesSync(wantTemp, 100); 311 console.info(`Succeeded in getting disallowed install bundles, result : ${JSON.stringify(result)}`); 312} catch (err) { 313 console.error(`Failed to get disallowed install bundles. Code is ${err.code}, message is ${err.message}`); 314} 315``` 316 317## bundleManager.addDisallowedUninstallBundlesSync 318 319addDisallowedUninstallBundlesSync(admin: Want, appIds: Array<string>, accountId?: number): void 320 321指定设备管理应用添加应用至包卸载黑名单,添加至黑名单的应用不允许在当前/指定用户下卸载。 322 323**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 324 325**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 326 327 328**参数:** 329 330| 参数名 | 类型 | 必填 | 说明 | 331| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 332| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 333| appIds | Array<string> | 是 | 应用ID数组。 | 334| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 335 336**错误码**: 337 338以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 339 340| 错误码ID | 错误信息 | 341| -------- | ------------------------------------------------------------ | 342| 9200001 | The application is not an administrator application of the device. | 343| 9200002 | The administrator application does not have permission to manage the device. | 344| 201 | Permission verification failed. The application does not have the permission required to call the API. | 345| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 346 347**示例:** 348 349```ts 350import { Want } from '@kit.AbilityKit'; 351let wantTemp: Want = { 352 bundleName: 'com.example.myapplication', 353 abilityName: 'EntryAbility', 354}; 355let appIds: Array<string> = ['com.example.******_******/******5t5CoBM=']; 356 357try { 358 bundleManager.addDisallowedUninstallBundlesSync(wantTemp, appIds, 100); 359 console.info('Succeeded in adding disallowed uninstall bundles.'); 360} catch (err) { 361 console.error(`Failed to add disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); 362} 363``` 364 365## bundleManager.removeDisallowedUninstallBundlesSync 366 367removeDisallowedUninstallBundlesSync(admin: Want, appIds: Array<string>, accountId?: number): void 368 369指定设备管理应用在包卸载黑名单中移除应用。在黑名单存在的情况下,在包卸载黑名单中的应用不允许在当前/指定用户下卸载。 370 371**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 372 373**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 374 375 376**参数:** 377 378| 参数名 | 类型 | 必填 | 说明 | 379| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 380| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 381| appIds | Array<string> | 是 | 应用ID数组。 | 382| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 383 384**错误码**: 385 386以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 387 388| 错误码ID | 错误信息 | 389| -------- | ------------------------------------------------------------ | 390| 9200001 | The application is not an administrator application of the device. | 391| 9200002 | The administrator application does not have permission to manage the device. | 392| 201 | Permission verification failed. The application does not have the permission required to call the API. | 393| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 394 395**示例:** 396 397```ts 398import { Want } from '@kit.AbilityKit'; 399let wantTemp: Want = { 400 bundleName: 'com.example.myapplication', 401 abilityName: 'EntryAbility', 402}; 403let appIds: Array<string> = ['com.example.******_******/******5t5CoBM=']; 404 405try { 406 bundleManager.removeDisallowedUninstallBundlesSync(wantTemp, appIds, 100); 407 console.info('Succeeded in removing disallowed uninstall bundles.'); 408} catch (err) { 409 console.error(`Failed to remove disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); 410} 411``` 412 413## bundleManager.getDisallowedUninstallBundlesSync 414 415getDisallowedUninstallBundlesSync(admin: Want, accountId?: number): Array<string> 416 417指定设备管理应用获取当前/指定用户下包卸载黑名单接口。 418 419**需要权限:** ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY 420 421**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 422 423 424**参数:** 425 426| 参数名 | 类型 | 必填 | 说明 | 427| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 428| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 429| accountId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 | 430 431**返回值:** 432 433| 类型 | 说明 | 434| ------------------- | ------------------------------ | 435| Array<string> | 返回当前用户下的包卸载白名单。 | 436 437**错误码**: 438 439以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 440 441| 错误码ID | 错误信息 | 442| -------- | ------------------------------------------------------------ | 443| 9200001 | The application is not an administrator application of the device. | 444| 9200002 | The administrator application does not have permission to manage the device. | 445| 201 | Permission verification failed. The application does not have the permission required to call the API. | 446| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 447 448**示例:** 449 450```ts 451import { Want } from '@kit.AbilityKit'; 452let wantTemp: Want = { 453 bundleName: 'com.example.myapplication', 454 abilityName: 'EntryAbility', 455}; 456 457try { 458 let result: Array<String> = bundleManager.getDisallowedUninstallBundlesSync(wantTemp, 100); 459 console.info(`Succeeded in getting disallowed uninstall bundles, result : ${JSON.stringify(result)}`); 460} catch (err) { 461 console.error(`Failed to get disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); 462} 463``` 464 465## bundleManager.uninstall 466 467uninstall(admin: Want, bundleName: string, userId?: number, isKeepData?: boolean): Promise<void> 468 469指定设备管理应用卸载当前/指定用户下的指定包接口,选择是否保留包数据(由isKeepData指定)。使用promise异步回调。 470 471**需要权限:** ohos.permission.ENTERPRISE_INSTALL_BUNDLE 472 473**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 474 475 476**参数:** 477 478| 参数名 | 类型 | 必填 | 说明 | 479| ---------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 480| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 481| bundleName | string | 是 | 包名。 | 482| userId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入userId,表示指定用户。<br> - 调用接口时,若未传入userId,表示当前用户。 | 483| isKeepData | boolean | 否 | 是否保留包数据,true表示保留,false表示不保留。 | 484 485**返回值:** 486 487| 类型 | 说明 | 488| ------------------- | ----------------------------------------------------- | 489| Promise<void> | 无返回结果的Promise对象。当包卸载失败时抛出错误对象。 | 490 491**错误码**: 492 493以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 494 495| 错误码ID | 错误信息 | 496| -------- | ------------------------------------------------------------ | 497| 9200001 | The application is not an administrator application of the device. | 498| 9200002 | The administrator application does not have permission to manage the device. | 499| 201 | Permission verification failed. The application does not have the permission required to call the API. | 500| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 501 502**示例:** 503 504```ts 505import { Want } from '@kit.AbilityKit'; 506import { BusinessError } from '@kit.BasicServicesKit'; 507let wantTemp: Want = { 508 bundleName: 'com.example.myapplication', 509 abilityName: 'EntryAbility', 510}; 511 512bundleManager.uninstall(wantTemp, 'bundleName', 100, true).then(() => { 513 console.info('Succeeded in uninstalling bundles.'); 514}).catch((err: BusinessError) => { 515 console.error(`Failed to uninstall bundles. Code is ${err.code}, message is ${err.message}`); 516}); 517``` 518 519## bundleManager.install 520 521install(admin: Want, hapFilePaths: Array\<string>, installParam?: InstallParam): Promise\<void> 522 523指定设备管理应用安装指定路径下的应用包。使用promise异步回调。 524注意:此接口只能安装分发类型为enterprise_mdm和enterprise_normal类型的应用。 525 526**需要权限:** ohos.permission.ENTERPRISE_INSTALL_BUNDLE 527 528**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 529 530 531**参数:** 532 533| 参数名 | 类型 | 必填 | 说明 | 534| ------------ | ------------------------------------------------------- | ---- | ---------------------- | 535| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 设备管理应用。 | 536| hapFilePaths | Array\<string> | 是 | 待安装应用包路径数组。 | 537| installParam | [InstallParam](#installparam) | 否 | 应用包安装参数。 | 538 539**返回值:** 540 541| 类型 | 说明 | 542| ------------------- | ------------------------------------------------------- | 543| Promise<void> | 无返回结果的Promise对象。当包安装失败时,抛出错误对象。 | 544 545**错误码**: 546 547以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 548 549| 错误码ID | 错误信息 | 550| -------- | ------------------------------------------------------------ | 551| 9200001 | The application is not an administrator application of the device. | 552| 9200002 | The administrator application does not have permission to manage the device. | 553| 9201002 | Failed to install the application. | 554| 201 | Permission verification failed. The application does not have the permission required to call the API. | 555| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 556 557**示例:** 558 559```ts 560import { Want } from '@kit.AbilityKit'; 561import { BusinessError } from '@kit.BasicServicesKit'; 562let wantTemp: Want = { 563 bundleName: 'com.example.myapplication', 564 abilityName: 'EntryAbility', 565}; 566let hapFilePaths: Array<string> = ['/data/storage/el2/base/haps/entry/testinstall/ExtensionTest.hap']; 567 568bundleManager.install(wantTemp, hapFilePaths).then(() => { 569 console.info('Succeeded in installing bundles.'); 570}).catch((err: BusinessError) => { 571 console.error(`Failed to install bundles. Code is ${err.code}, message is ${err.message}`); 572}); 573``` 574 575## InstallParam 576 577应用包安装需指定的参数信息。 578 579**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 580 581| 名称 | 类型 | 必填 | 说明 | 582| ----------- | ------ | ---- | ------------------------------------------------------------ | 583| userId | number | 否 | 指示用户id,默认值:调用方所在用户,取值范围:大于等于0。 | 584| installFlag | number | 否 | 安装标志。枚举值:0:应用初次安装,1:应用覆盖安装,2:应用免安装,默认值为应用初次安装。 |