# US 2020/0401389 A1 · Selectively installing applications based on manifest files

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401389 A1
- Document ID: US20200401389A1
- Status: Published application
- Kind: A1
- Application number: 16/904,654
- Filed: 2020-06-18
- Published: 2020-12-24
- Earliest claimed: 2019-06-20
- Assignees: BlackBerry Limited
- Applicants: BlackBerry Limited
- Inventors: Adam John BOULTON
- Web page: https://patentgrep.com/patent/US20200401389A1

## CPC

- G06F 8/61: Installation
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 21/51: at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer-implemented method of selectively installing an application from an application archive file is disclosed. The method includes receiving an indication to install an application on a computing device, the application being available for download as an archive file storing a manifest file and one or more installation files. The method further includes determining that installation of the application is permissible. The determining includes: without downloading the archive file, downloading at least a portion of the manifest file; and determining, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device. After determining that installation of the application is permissible, the archive file is downloaded and the application is installed therefrom. Related computer-readable media and computer systems are also disclosed.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving an indication to install an application on a computing device, the application available for download as an archive file storing a manifest file and one or more installation files;
determining that installation of the application is permissible, the determining including:
without downloading the archive file, downloading at least a portion of the manifest file; and
determining, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device; and
after determining that installation of the application is permissible, downloading the archive file and installing the application from the archive file.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 further comprising:
receiving an indication to install a second application on the computing device, the second application available for download as a second archive file storing a second manifest file and one or more installation files; and
determining that installation of the second application is not permissible, the determining including:
without downloading the second archive file, downloading at least a portion of the second manifest file; and
determining, based on the at least a portion of the second manifest file, that installation of the second application on the computing device would not comply with a device management policy for the computing device.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device includes:
extracting, from the at least a portion of the manifest file, a list of one or more device permissions requested by the application; and
comparing the list of one or more device permissions requested by the application to a list of one or more device permissions associated with the device management policy for the computing device.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device includes:
extracting, from the at least a portion of the manifest file, an address of a resource utilized by the application that is not included in the archive file; and
determining, using the address, that the resource is accessible by the computing device.

### Claim 5 (depends on 4)

The method of claim 4, wherein determining, using the address, that the resource is accessible by the computing device includes attempting to download the resource from the address.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
extracting, from the at least a portion of the manifest file, two or more addresses of resources utilized by the application that are not included in the archive file; and
downloading resources from at least two of the two or more addresses in parallel.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device includes:
extracting, from the at least a portion of the manifest file, file permissions to be associated with one or more folders associated with the application after installation; and
determining that the file permissions do not violate one or more file permission rules associated with the device management policy for the computing device.

### Claim 8 (depends on 7)

The method of claim 7, wherein the one or more file permission rules include a restriction against applications having associated files that are globally readable.

### Claim 9 (depends on 7)

The method of claim 7, wherein the one or more file permission rules include a restriction against applications having associated files that are globally writeable.

### Claim 10 (depends on 1)

The method of claim 1, wherein the at least a portion of the manifest file is downloaded from a different server than the archive file.

### Claim 11

One or more computer-readable storage media storing instructions that, when executed by one or more processors of a computing device, cause the computing device to:
receive an indication to install an application on a computing device, the application available for download as an archive file storing a manifest file and one or more installation files;
determine that installation of the application is permissible, wherein a determination that installation of the application is permissible is based on:
a download of at least a portion of the manifest file without a download of the archive file, and
a determination, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device; and
after the determination that installation of the application is permissible, download the archive file and install the application from the archive file.

### Claim 12 (depends on 11)

The one or more computer-readable storage media of claim 11, wherein the determination, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device is based on:
extraction, from the at least a portion of the manifest file, of a list of one or more device permissions requested by the application; and
a comparison of the list of one or more device permissions requested by the application to a list of one or more device permissions associated with the device management policy for the computing device.

### Claim 13 (depends on 11)

The one or more computer-readable storage media of claim 11, wherein the determination, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device is based on:
extraction, from the at least a portion of the manifest file, an address of a resource utilized by the application that is not included in the archive file; and
a determination, using the address, that the resource is accessible by the computing device.

### Claim 14 (depends on 13)

The one or more computer-readable storage media of claim 13, wherein the determination, using the address, that the resource is accessible by the computing device is based on an attempt to download the resource from the address.

### Claim 15 (depends on 11)

The one or more computer-readable storage media of claim 11, wherein the instructions, when executed by the one or more processors of the computing further device, further cause the computing device to:
extract, from the at least a portion of the manifest file, two or more addresses of resources utilized by the application that are not included in the archive file; and
download resources from at least two of the two or more addresses in parallel.

### Claim 16 (depends on 11)

The one or more computer-readable storage media of claim 11, wherein the determination, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device is based on:
extraction, from the at least a portion of the manifest file, of file permissions to be associated with one or more folders associated with the application after installation; and
a determination that the file permissions do not violate one or more file permission rules associated with the device management policy for the computing device.

### Claim 17 (depends on 16)

The one or more computer-readable storage media of claim 16, wherein the one or more file permission rules include a restriction against applications having associated files that are globally readable.

### Claim 18 (depends on 16)

The one or more computer-readable storage media of claim 16, wherein the one or more file permission rules include a restriction against applications having associated files that are globally writeable.

### Claim 19 (depends on 11)

The one or more computer-readable storage media of claim 11, wherein the at least a portion of the manifest file is downloaded from a different server than the archive file.

### Claim 20

A computer system comprising:
one or more processors; and
one or more computer-readable media storing instructions that, when executed by one or more processors of a computing device, cause the computer system to:
receive an indication to install an application on a computing device, the application available for download as an archive file storing a manifest file and one or more installation files;
determine that installation of the application is permissible, wherein a determination that installation of the application is permissible is based on:
a download of at least a portion of the manifest file without a download of the archive file, and
a determination, based on the at least a portion of the manifest file, that installation of the application on the computing device would comply with a device management policy for the computing device; and
after the determination that installation of the application is permissible, download the archive file and install the application from the archive file.
