public VisualStudioPackage(ISetupPackageReference FromPackage) { this.Id = FromPackage.GetId(); this.Version = FromPackage.GetVersion(); this.Type = FromPackage.GetType(); this.UniqueId = FromPackage.GetUniqueId(); }
/// <summary> /// Initializes a new instance of the <see cref="PackageReference"/> class. /// </summary> /// <param name="reference">The <see cref="ISetupPackageReference"/> to adapt.</param> /// <exception cref="ArgumentNullException"><paramref name="reference"/> is null.</exception> internal PackageReference(ISetupPackageReference reference) { Validate.NotNull(reference, nameof(reference)); // The package reference ID is required, but then try to set other properties to release the COM object and its resources ASAP. Id = reference.GetId(); TrySet(ref version, nameof(Version), () => { Version version; var versionString = reference.GetVersion(); if (Version.TryParse(versionString, out version)) { return(version); } return(null); }); TrySet(ref chip, nameof(Chip), reference.GetChip); TrySet(ref branch, nameof(Branch), reference.GetBranch); TrySet(ref type, nameof(Type), reference.GetType); TrySet(ref isExtension, nameof(IsExtension), reference.GetIsExtension); TrySet(ref uniqueId, nameof(UniqueId), reference.GetUniqueId); }
private static PackageReference CreatePackageReference(ISetupPackageReference package) { PackageReference refPackage = new PackageReference() { Branch = package.GetBranch(), Chip = package.GetChip(), Id = package.GetId(), IsExtension = package.GetIsExtension(), Language = package.GetLanguage(), UniqueId = package.GetUniqueId(), Version = package.GetVersion() }; return(refPackage); }
private static VisualStudioInstance FillInInstanceData(ISetupInstance2 instance, int lcid, Boolean includePackages) { VisualStudioInstance result = new VisualStudioInstance() { InstanceId = instance.GetInstanceId(), InstalledVersionNumber = instance.GetInstallationVersion(), Description = instance.GetDescription(lcid), DisplayName = instance.GetDisplayName(lcid) }; // Hides the non-CLS clompliant uint. var tempState = instance.GetState(); if (tempState == InstanceState.Complete) { result.Status = InstanceStatus.Complete; } else { result.Status = (InstanceStatus)tempState; } result.InstallationPath = instance.GetInstallationPath(); ISetupPackageReference prod = instance.GetProduct(); if (prod != null) { result.ProductName = prod.GetId(); } if ((result.Status & InstanceStatus.Local) == InstanceStatus.Local) { result.InstallationPath = instance.GetInstallationPath(); } if (includePackages) { ProcessPackages(instance, result); } return(result); }
static bool Predicate(ISetupPackageReference pkg) => pkg.GetId() == "Microsoft.VisualStudio.Component.VC.Tools.x86.x64";