In order to install a new property page into the Active Directory SnapIn, I need to write into the following registry key of W2K8 R2 (as documented by Microsoft)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns{E355E538-1C2E-11D0-8C37-00C04FD8FE93}\NodeTypes
This key is own by a special user called TrustedInstaller. I found a lots of thing on the NET arround that.
At the moment here is the way it works doing the following (user is member of administrator group):
- I give the user the privilege to take ownership.
- The user take ownership
- The user write the registry
- the user give ownership to the administrators group.
My project is full written in C# and there are two things that I don't like in the way I'am doing it.
- I use InteropServices to call Win32 AdjustTokenPrivileges API. Does anybody know a way of doing that in pure C# ?
- At the end TrustedInstaller is no longer the owner of the key, and I'am not able to give him ownership, he keeps the full control, but I don't want my server classified as corrupted after the installation of my snap-in.
So my question is : Do I miss something, is there a documented way to modify such a key which is documented as modifiable ?
There is a Stack overflow question existing about that, the answer say that TrustedInstaller ownership, means the key is part of system installation and not application installation. For me if Microsoft documents how to modify a key it's application installation.
Thanks in advance.