src/vs/workbench/contrib/extensions/browser/extensionsActions.ts/InstallInOtherServerAction/run
class InstallInOtherServerAction:	override async run(): Promise<void> {
		if (!this.extension?.local) {
			return;
		}
		if (!this.extension?.server) {
			return;
		}
		if (!this.server) {
			return;
		}
		this.extensionsWorkbenchService.open(this.extension);
		alert(localize('installExtensionStart', "Installing extension {0} started. An editor is now open with more details on this extension", this.extension.displayName));

		const gallery = this.extension.gallery ?? (this.extensionGalleryService.isEnabled() && (await this.extensionGalleryService.getExtensions([this.extension.identifier], CancellationToken.None))[0]);
		if (gallery) {
			await this.server.extensionManagementService.installFromGallery(gallery, { installPreReleaseVersion: this.extension.local.preRelease });
			return;
		}
		const targetPlatform = await this.server.extensionManagementService.getTargetPlatform();
		if (!isTargetPlatformCompatible(this.extension.local.targetPlatform, [this.extension.local.targetPlatform], targetPlatform)) {
			throw new Error(localize('incompatible', "Can't install '{0}' extension because it is not compatible.", this.extension.identifier.id));
		}
		const vsix = await this.extension.server.extensionManagementService.zip(this.extension.local);
		try {
			await this.server.extensionManagementService.install(vsix);
		} finally {
			try {
				await this.fileService.del(vsix);
			} catch (error) {
				this.logService.error(error);
			}
		}
	}