src/vs/platform/extensionManagement/node/extensionManagementService.ts/ExtensionManagementService/installFromZipPath
class ExtensionManagementService:	private async installFromZipPath(identifierWithVersion: ExtensionIdentifierWithVersion, zipPath: string, existing: ILocalExtension | undefined, metadata: IMetadata | undefined, options: InstallOptions, operation: InstallOperation, token: CancellationToken): Promise<ILocalExtension> {
		try {
			const local = await this.installExtension({ zipPath, identifierWithVersion, metadata }, token);
			try {
				if (!options.donotIncludePackAndDependencies) {
					await this.installDependenciesAndPackExtensions(local, existing, options);
				}
			} catch (error) {
				if (isNonEmptyArray(local.manifest.extensionDependencies)) {
					this.logService.warn(`Cannot install dependencies of extension:`, local.identifier.id, error.message);
				}
				if (isNonEmptyArray(local.manifest.extensionPack)) {
					this.logService.warn(`Cannot install packed extensions of extension:`, local.identifier.id, error.message);
				}
			}
			this._onDidInstallExtension.fire({ identifier: identifierWithVersion, zipPath, local, operation });
			return local;
		} catch (error) {
			this._onDidInstallExtension.fire({ identifier: identifierWithVersion, zipPath, operation, error });
			throw error;
		}
	}