// here are some useful properties and methods that can be used as required // to help with driver development #region ASCOM Registration // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Dome"; if (bRegister) { P.Register(driverID, driverDescription); } else { P.Unregister(driverID); } } }
private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Camera"; if (bRegister) { P.Register(DRIVER_ID, DRIVER_NAME); } else { P.Unregister(DRIVER_ID); } } }
// Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="register">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool register) { using (var profile = new ASCOM.Utilities.Profile()) { profile.DeviceType = "Telescope"; if (register) { profile.Register(driverID, driverDescription); } else { profile.Unregister(driverID); } } }
// // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Telescope"; if (bRegister) { P.Register(Common.DriverId, Common.DriverDescription); } else { P.Unregister(Common.DriverId); } } }
// here are some useful properties and methods that can be used as required // to help with driver development #region ASCOM Registration // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "ObservingConditions"; if (bRegister) { P.Register(VantagePro.DriverId, VantagePro.DriverDescription); } else { P.Unregister(VantagePro.DriverId); } } }
// here are some useful properties and methods that can be used as required // to help with driver development #region ASCOM Registration // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Telescope"; if (bRegister) { P.Register(Const.wiseTelescopeDriverID, WiseTele.driverDescription); } else { P.Unregister(Const.wiseTelescopeDriverID); } } }
// here are some useful properties and methods that can be used as required // to help with driver development #region ASCOM Registration // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { string desc = string.Format("ASCOM Wise40.SafeToOpen v0.2"); using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "SafetyMonitor"; if (bRegister) { P.Register(driverID, desc); } else { P.Unregister(driverID); } } }
// here are some useful properties and methods that can be used as required // to help with driver development #region ASCOM Registration // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Focuser"; if (bRegister) { Version version = new Version("0.2"); string description = string.Format("ASCOM Wise40.Focuser v{0}", version); P.Register(WiseFocuser.DriverId, description); } else { P.Unregister(WiseFocuser.DriverId); } } }
// here are some useful properties and methods that can be used as required // to help with driver development #region ASCOM Registration // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Telescope"; if (bRegister) { P.Register(driverID, driverDescription); } else { try { P.Unregister(driverID); } catch (DriverNotRegisteredException) { } } } }
// // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Camera"; if (bRegister) { P.Register(driverID, driverDescription); } else { P.Unregister(driverID); } } }
// // Remove all traces of this from the registry. // // **TODO** If the above does AppID/DCOM stuff, this would have // to remove that stuff too. // private static void UnregisterObjects() { if (!IsAdministrator) { ElevateSelf("/unregister"); return; } // // Local server's DCOM/AppID information // Registry.ClassesRoot.DeleteSubKey(string.Format("APPID\\{0}", s_appId), false); Registry.ClassesRoot.DeleteSubKey(string.Format("APPID\\{0}", Application.ExecutablePath.Substring(Application.ExecutablePath.LastIndexOf('\\') + 1)), false); // // For each of the driver assemblies // foreach (Type type in s_ComObjectTypes) { string clsid = Marshal.GenerateGuidForType(type).ToString("B"); string progid = Marshal.GenerateProgIdForType(type); string deviceType = type.Name; // // Best efforts // // // HKCR\progid // Registry.ClassesRoot.DeleteSubKey(String.Format("{0}\\CLSID", progid), false); Registry.ClassesRoot.DeleteSubKey(progid, false); // // HKCR\CLSID\clsid // Registry.ClassesRoot.DeleteSubKey(String.Format("CLSID\\{0}\\Implemented Categories\\{{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}}", clsid), false); Registry.ClassesRoot.DeleteSubKey(String.Format("CLSID\\{0}\\Implemented Categories", clsid), false); Registry.ClassesRoot.DeleteSubKey(String.Format("CLSID\\{0}\\ProgId", clsid), false); Registry.ClassesRoot.DeleteSubKey(String.Format("CLSID\\{0}\\LocalServer32", clsid), false); Registry.ClassesRoot.DeleteSubKey(String.Format("CLSID\\{0}\\Programmable", clsid), false); Registry.ClassesRoot.DeleteSubKey(String.Format("CLSID\\{0}", clsid), false); try { // // ASCOM // using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = deviceType; P.Unregister(progid); } } catch (Exception) { } } }
// here are some useful properties and methods that can be used as required // to help with driver development #region ASCOM Registration // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // /// <summary> /// Register or unregister the driver with the ASCOM Platform. /// This is harmless if the driver is already registered/unregistered. /// </summary> /// <param name="bRegister">If <c>true</c>, registers the driver, otherwise unregisters it.</param> private static void RegUnregASCOM(bool bRegister) { using (var P = new ASCOM.Utilities.Profile()) { P.DeviceType = "Dome"; if (bRegister) { P.Register(driverID, driverDescription); } else { P.Unregister(driverID); } try { Marshal.ReleaseComObject(P); //P = null; } catch { } } }