示例#1
0
        /// <summary>
        /// Loads the fusion properties given the assembly name COM object.
        /// </summary>
        /// <param name="assemblyName">Name of the assembly.</param>
        public void Load(IAssemblyName assemblyName)
        {
            //  Load the properties.
            MajorVersion   = GetShortProperty(assemblyName, ASM_NAME.ASM_NAME_MAJOR_VERSION);
            MinorVersion   = GetShortProperty(assemblyName, ASM_NAME.ASM_NAME_MINOR_VERSION);
            BuildNumber    = GetShortProperty(assemblyName, ASM_NAME.ASM_NAME_BUILD_NUMBER);
            RevisionNumber = GetShortProperty(assemblyName, ASM_NAME.ASM_NAME_REVISION_NUMBER);
            PublicKey      = GetByteArrayProperty(assemblyName, ASM_NAME.ASM_NAME_PUBLIC_KEY);

            //  Create an install reference enumerator.
            var enumerator = new InstallReferenceEnumerator(assemblyName);
            var reference  = enumerator.GetNextReference();

            while (reference != null)
            {
                InstallReferences.Add(reference);
                reference = enumerator.GetNextReference();
            }

            //  Load the reserved properties.
            //ReservedHashValue = GetByteArrayProperty(assemblyName, ASM_NAME.ASM_NAME_HASH_VALUE);
            //ReservedHashAlgorithmId = GetDwordProperty(assemblyName, ASM_NAME.ASM_NAME_HASH_ALGID);
        }
示例#2
0
        /// <summary>
        /// Performs the LoadExtendedProperties command.
        /// </summary>
        /// <param name="parameter">The LoadExtendedProperties command parameter.</param>
        private void DoLoadExtendedPropertiesCommand(object parameter)
        {
            var fps = InternalAssemblyDescription.FusionProperties;
            var rps = InternalAssemblyDescription.ReflectionProperties;

            //  Set the extended properties.
            LoadExtendedPropertiesCommand.ReportProgress(
                ()
                =>
            {
                RuntimeVersion = rps.RuntimeVersion;

                InstallReferences.Clear();
                foreach (var installReference in InternalAssemblyDescription.FusionProperties.InstallReferences)
                {
                    InstallReferences.Add(new InstallReferenceViewModel()
                    {
                        Identifier  = installReference.Identifier,
                        Description = installReference.Description
                    });
                }
            });
        }