void unprovisionComServer() { RegistryKey AppIDKey = VBoxComUtils.GetVirtualBoxAppIDKey(); AppIDKey.DeleteValue("LoadUserSettings", false); _log.TraceEvent(TraceEventType.Verbose, (int)Logging.ComInterfaceErrorIds.UnprovisionedComServer, "VirtualBox COM-Server unprovisioned via registry."); }
/// <summary> /// Writes necessary registry keys, to get correct behaviour of COM Server, if it is called from a Windows Service. /// </summary> void provisionComServer() { RegistryKey AppIDKey = VBoxComUtils.GetVirtualBoxAppIDKey(); AppIDKey.SetValue("LoadUserSettings", 0x0001, RegistryValueKind.DWord); AppIDKey.Close(); _log.TraceEvent(TraceEventType.Verbose, (int)Logging.ComInterfaceErrorIds.ProvisionedComServer, "VirtualBox COM-Server provisioned via registry."); }
void initVirtualBox() { provisionComServer(); _virtualBox = Activator.CreateInstance(Type.GetTypeFromProgID(VBoxComUtils.GetVirtualBoxProgID())); //Com-Server is now running, we can revert changes in registry unprovisionComServer(); }