public VCComponent(ISetupPackageReference package, ISetupInstance2 setupInstance) { this.InstallationPath = setupInstance.GetInstallationPath().ToNPath(); this.RawVersion = package.GetVersion(); this.Version = null; try { this.Version = new System.Version(package.GetVersion()); } catch { } }
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); }