Skip to content

Instantly share code, notes, and snippets.

@sandersaares
Last active October 16, 2015 06:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sandersaares/f085be7be16a02716662 to your computer and use it in GitHub Desktop.
Save sandersaares/f085be7be16a02716662 to your computer and use it in GitHub Desktop.
Registering 32-bit COM objects for access from a 64-bit process
private static void RegisterComObjectsFor64BitProcesses()
{
var comObjectsToRegister = new List<string>
{
Constants.WmrmKeysComObjectKeyName,
Constants.WmrmHeaderComObjectKeyName,
Constants.WmrmProtectComObjectKeyName
};
foreach (var comObject in comObjectsToRegister)
{
Registry.LocalMachine.CreateSubKey("Software\\Classes\\AppID\\" + comObject);
var hkcrClsid = Registry.ClassesRoot.CreateSubKey("Wow6432Node\\CLSID\\" + comObject);
hkcrClsid.SetValue("AppID", comObject);
hkcrClsid.Close();
var hkcrAppId = Registry.ClassesRoot.CreateSubKey("Wow6432Node\\AppID\\" + comObject);
hkcrAppId.SetValue("DllSurrogate", string.Empty);
hkcrAppId.Close();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment