2010-10-18 74 views
0

不能创建子我有下面的代码已经工作类型的设备的Windows Mobile 5和6.1的Windows Mobile 6.5:在注册表

private const string OwnerSubKey = @"ControlPanel\Owner"; 
regKey = CERegistry.CurrentUser.CreateSubKey(OwnerSubKey); 

当我有一个6.5设备摇篮和调试器到达上面的行,我得到

“类型: System.Runtime.InteropServices.ExternalException

消息: 错误写入的RegistryKey

堆栈跟踪: 在OpenNETCF.Desktop.Communication.CERegistryKey.SetValue(字符串名称,对象的值) “

我不知道什么6.1和6.5或者是设备上的设置之间改变。 SOTI能够操纵注册表。

我也试过下面的代码,在CreateSubKey上有同样的异常。

var controlPanel = CERegistry.CurrentUser.OpenSubKey(@"ControlPanel", true); 
var key = controlPanel.CreateSubKey("Owner"); 

如果我做了一个GetSubKeyCount()它正确地返回计数。

任何帮助表示赞赏。

谢谢

回答

0

我无法使用opennetcf在6.5设备上写入注册表。

我结束了将当前在注册表中的信息移动到opennetcf可以写入的配置文件。

必须对遗留应用程序进行此更改。

1

设置密钥或创建密钥不适用于WM 6.5。 我所做的是创建一个reg文件并合并,创建一个regmerge应用程序的过程,它可以在静默模式下合并reg文件,所以用户不会得到确认提示。