C# 如何将AddReg节合并到Compact Framework应用程序的配置文件中?

C# 如何将AddReg节合并到Compact Framework应用程序的配置文件中?,c#,.net-3.5,compact-framework,pinvoke,windows-ce,C#,.net 3.5,Compact Framework,Pinvoke,Windows Ce,我正在尝试更新Windows CE/Compact Framework应用程序中的注册表值 我可以在.NET4.5中做我想做的事情,但是.NET3.5缺少了一些这样做的部分(特别是RegistryView和OpenBaseKey;好奇的人可以仔细阅读所有血淋淋的细节) 另一种可能是在应用程序中附带一个*.reg文件,并通过ShellExecuteEx()调用它,但这对我来说似乎有点鲁贝戈尔德伯格主义 还有一种可能性是,但这似乎是修改后的霍布斯主义(肮脏和野蛮,但不短(在这种情况下短将是好的))

我正在尝试更新Windows CE/Compact Framework应用程序中的注册表值

我可以在.NET4.5中做我想做的事情,但是.NET3.5缺少了一些这样做的部分(特别是RegistryView和OpenBaseKey;好奇的人可以仔细阅读所有血淋淋的细节)

另一种可能是在应用程序中附带一个*.reg文件,并通过ShellExecuteEx()调用它,但这对我来说似乎有点鲁贝戈尔德伯格主义

还有一种可能性是,但这似乎是修改后的霍布斯主义(肮脏和野蛮,但不短(在这种情况下短将是好的))

所以…我终于找到了一个看起来像是绝妙的选择。根据Andy Wigly在其著作《Microsoft.NET Compact Framework》(1879年左右出版)中的说法,您可以通过配置文件添加或操作注册表值。当应用程序部署到设备上时,此配置文件似乎嵌入到cab的a/C中。从书中引用:

"*AddReg *
Defines the name of the section of the configuration file for adding entries to the registry; ..." (p. 211)
-以及:

但这里有什么配置文件被如此漫不经心地谈论?我找不到他的备份位置,也找不到他提供的基本信息

好的,我可以试着找到“设备的SDK”(它们是安装了这个应用程序的摩托罗拉3090/3190设备),但我希望有人知道他说的是哪个配置文件,以及所需的条目是什么样子

我们有一个单独的安装应用程序,我搜索了“AddReg”和“DefaultInstall”,但没有结果

我认为该文件可能必须有一个特定的名称,以便cab知道它是什么并运行它(*.config?),并且该条目可能类似于:

[DefaultInstall]
[AddReg]
"GuestOnly"="00000001"
…但我真的不知道,那只是猜测。有人知道这个条目应该是什么样子吗?与P/Invoke之类的方法相比,这无疑是一种更简单的更改注册表val的方法

这不是*.vcproj文件,是吗?(安装程序是用C++编写的,应用程序本身是C语言)。 更新 事实证明,我可能正在尝试更新“GuestOnly”设置

更新2
无论如何,更新这个值并没有坏处(也可能有帮助);所以,我查看了我们的C++安装应用程序,但是它没有包含.INF文件,也没有任何引用,所以我猜最好的或唯一的真正的方法是通过将注册表更新代码添加到应用程序本身。我从主窗体的Load()事件调用它。

有很多方法可以剥猫皮,但我通常在CAB设置中就有这种方法。我使用一个在其上添加UI的程序,但它所做的只是创建一个配置文件(.inf)并将其传递给CAB向导()

文件信息(包括AddReg)位于此处()

[DefaultInstall]
[AddReg]
"GuestOnly"="00000001"