在C#中更新Windows注册表的安全性如何?

时间:2014-01-02 04:00:44

标签: c# windows registry

我正在编写一个程序,我希望包含30天的免费试用版。我浏览了这个网站上的帖子,并决定让程序在Windows注册表中保留到期日期(而不是安装程序更新注册表)。在向HKLM配置单元添加密钥和值,然后通过regedit删除它之后,我设法弄乱了一个现在出错的FTP程序,除非我说以管理员身份运行它。它给出了一个错误,表明未正确配置此程序的用户特定信息。我相信我已经破坏了注册表来导致这种情况。

两个问题:如果我想要将一个密钥和一些值添加到客户的注册表中,那么我在机器上引发问题的风险是什么?

另外,我使用了RegisrtyKey.CreateSubKey和RegistryOptions.Volatile选项。我读到这只是更新内存,而不是注册表文件。我认为这是一种测试我的功能的好方法 - 设置子键和值只会在我重启机器之前。当我从代码中获得所需的行为时,将其切换到RegisrtyOptions.None。有什么想法?

1 个答案:

答案 0 :(得分:2)

在C#中更新注册表没有任何本身不安全,至少不会超过任何其他语言。如果您没有触摸其他程序使用的密钥,您可以随心所欲。

我建议如果你遇到问题,那只是巧合,它发生在编辑注册表的同一时间。