为了将新的属性页安装到Active Directory SnapIn中,我需要写入W2K8 R2下面的以下注册表键(据Microsoft文档)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns{E355E538-1C2E-11D0-8C37-00C04FD8FE93}\NodeTypes
这个键由一个名为TrustedInstaller的特殊用户拥有。我在网络上发现了很多关于它的事情。
目前的做法是(用户是管理员组的成员):
1. 给用户赋予获取所有权的权限。 2. 用户获取所有权。 3. 用户写入注册表。 4. 用户将所有权交还给管理员组。
我的项目完全用C#编写,但有两件事我不喜欢:
1. 我使用InteropServices调用Win32 AdjustTokenPrivileges API。有人知道如何用纯C#做到这一点吗? 2. 最终,TrustedInstaller不再拥有该键的所有权,而我无法将所有权归还给他,他仍然保持完全控制,但我不希望在安装我的快照之后将我的服务器分类为已损坏。
所以我的问题是:我有什么遗漏吗?是否有一种记录的方法来修改这样的可修改键?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns{E355E538-1C2E-11D0-8C37-00C04FD8FE93}\NodeTypes
这个键由一个名为TrustedInstaller的特殊用户拥有。我在网络上发现了很多关于它的事情。
目前的做法是(用户是管理员组的成员):
1. 给用户赋予获取所有权的权限。 2. 用户获取所有权。 3. 用户写入注册表。 4. 用户将所有权交还给管理员组。
我的项目完全用C#编写,但有两件事我不喜欢:
1. 我使用InteropServices调用Win32 AdjustTokenPrivileges API。有人知道如何用纯C#做到这一点吗? 2. 最终,TrustedInstaller不再拥有该键的所有权,而我无法将所有权归还给他,他仍然保持完全控制,但我不希望在安装我的快照之后将我的服务器分类为已损坏。
所以我的问题是:我有什么遗漏吗?是否有一种记录的方法来修改这样的可修改键?
关于这个问题已经存在一个Stack Overflow的问题,答案表明TrustedInstaller所有权意味着该密钥是系统安装的一部分,而不是应用程序安装的一部分。对我来说,如果Microsoft文档说明如何修改密钥,则属于应用程序安装。
提前感谢。