所以我检查,看看我是否有到注册表的代码下面检测写访问注册表
try
{
RegistryPermission perm = new RegistryPermission(RegistryPermissionAccess.Write, networkRegistryPath);
perm.Demand();
}
catch (Exception ex)
{
throw new ArgumentException("Write Access Denied");
}
rk.SetValue("PnPCapabilities", powerOff[0]);
networkCards.Add(networkRegistryPath, powerOff[0]);
写访问,如果perm.Demand()失败,我相信它会抛出一个错误但它并不那么我然后尝试写一个值。然后它发生错误无法写入注册表。
我把rk.SetValue放在catch中,但我认为我不应该需要,因为如果我有能力写入,我会事先检查。
我在这里错过了什么吗?
停止检查。写入注册表。如果失败了,你不能写。 –
需求'如果调用堆栈中所有更高的调用者没有被授予当前实例指定的权限,则在运行时强制一个SecurityException.'我不认为这会在您希望的时候总是失败 – Jonesopolis