Exemple #1
0
 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
     {
     }
 }
Exemple #2
0
 public VisualStudioPackage(ISetupPackageReference FromPackage)
 {
     this.Id       = FromPackage.GetId();
     this.Version  = FromPackage.GetVersion();
     this.Type     = FromPackage.GetType();
     this.UniqueId = FromPackage.GetUniqueId();
 }
Exemple #3
0
        /// <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);
        }