private void AddAddinsForPath(string product, RegistryKey startignKey, string path)
        {
            if (!startignKey.Exists(path))
            {
                return;
            }
            var addinsKey = startignKey.OpenSubKey(path);

            foreach (var subKeyName in addinsKey.GetSubKeyNames())
            {
                var subKey   = addinsKey.OpenSubKey(subKeyName);
                var manifest = subKey.GetValue("Manifest");

                if (manifest == null)
                {
                    continue;
                }

                var manifestFile = manifest
                                   .ToString()
                                   .Replace("|vstolocal", string.Empty)
                                   .Replace("file:///", string.Empty);

                var addin = new Addin
                {
                    AddinName      = subKey.GetValue("FriendlyName").ToString(),
                    Description    = subKey.GetValue("Description").ToString(),
                    RegistryKey    = subKey,
                    Product        = product,
                    Manifest       = manifestFile,
                    ManifestExists = File.Exists(manifestFile)
                };

                _addins.Add(addin);
            }
        }