internal void GetData(RegistryKey addInKey, bool scanManagedInterfaces, bool scanNativeInterfaces, bool scanRemote, ref bool isUncPath, ref bool isHttpPath, ref bool isDllPathValid, ref bool isValidRegistration) { this.friendlyName = (string)addInKey.GetValue("FriendlyName"); this.clsid = RegistryReader.GetCLSIDFromProgID(this.progId); this.loadBehavior = addInKey.GetValue("LoadBehavior").ToString(); this.manifestPath = (string)addInKey.GetValue("Manifest"); if (this.manifestPath == null && string.IsNullOrEmpty(this.clsid)) { this.SetInvalidRegistration(); isDllPathValid = false; isValidRegistration = false; } else { if (this.manifestPath != null) { isDllPathValid = this.GetVstoAddInData(scanManagedInterfaces, scanRemote, ref isUncPath, ref isHttpPath); if (!isDllPathValid || this.assemblyName == null || this.clrVersion == null) { this.SetInvalidPath(); } } else { this.manifestPath = Resources.NOT_APPLICABLE; if (RegistryReader.GetIsManagedCodeCategoryRegistered(this.clsid) || RegistryReader.GetIsMscoreeRegistered(this.clsid)) { isDllPathValid = this.GetManagedAddInData(scanManagedInterfaces); } else { bool isNativeScanCompleted = false; isDllPathValid = this.GetNativeAddInData(scanNativeInterfaces, out isNativeScanCompleted); if (!isNativeScanCompleted) { this.SetNativeScanFailed(); } } } if (this.assemblyPath != null && isDllPathValid) { this.CleanAssemblyPath(ref this.assemblyPath, ref isDllPathValid); } else { this.statusDescription = Resources.PATH_INVALID; } } }