如何在 VSTO Word 插件项目中设置自定义注册表?

How to set custom registry in VSTO Word Plugin project?

我正在开发 VSTO Word 插件项目。当我构建项目时,它会自动在 HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\My.Registry 位置创建 4 个注册表,如下所示。

Name             Type                 Data
--------------   --------------       ------------------------
(Default)        REG_SZ               (value not set)
Description      REG_SZ               My.Registry
FriendlyName     REG_SZ               My.Registry
LoadBehavior     REG_DWORD            0x00000003 (3)
Manifest         REG_SZ               file:///D:/LearningProject/My.Registry/bin/debug/My.Registry.vsto|vstolocal

现在我想在具有不同键值对的相同路径中添加另一个注册表。我不知道这个注册表是如何生成的。这样我就无法将自定义注册表与这些现有注册表一起创建。

需要指导。

由于您正在构建项目并且它添加了这些值,也许在 Visual studio

中的 prebuild/postbuild 事件下检查

如果不是这种情况,您可能需要在应用程序启动时做一个简单的注册表项

public static bool WriteRegistryValue<T>(RegistryHive hive, string key, string value, RegistryValueKind kind, T data)
        {
            bool success = false;

            using (RegistryKey baseKey = RegistryKey.OpenRemoteBaseKey(hive, String.Empty))
            {
                if (baseKey != null)
                {
                    using (RegistryKey registryKey = baseKey.OpenSubKey(key, RegistryKeyPermissionCheck.ReadWriteSubTree))
                    {
                        if (registryKey == null)
                        {
                            using (RegistryKey createdRegistryKey = baseKey.CreateSubKey(key, true))
                            {
                                registryKey.SetValue(value, data as string);
                            }
                        }
                        else
                        {
                            registryKey.SetValue(value, data as string);
                        }
                        success = true;

                    }
                }
            }
            return success;
        }