/// <summary> /// Deinstallation /// </summary> /// <param name="savedState"></param> public override void Uninstall(System.Collections.IDictionary savedState) { base.Uninstall(savedState); Assembly asm = Assembly.GetExecutingAssembly(); string fullName = asm.GetModules()[0].FullyQualifiedName; string dataFolder = Toolbar.AppFolder; //try //{ // Directory.Delete(dataFolder, true); //} //catch (Exception) //{ // throw new InstallException("Failed to delete folder"); //} //try //{ // Registry.LocalMachine.DeleteSubKeyTree(IEToolbarEngine.AppKey); // Registry.CurrentUser.DeleteSubKeyTree(IEToolbarEngine.AppKey); //} //catch (Exception) //{ //} RegistrationServices regsrv = new RegistrationServices(); if (!regsrv.UnregisterAssembly(this.GetType().Assembly)) { throw new InstallException("Failed To Unregister for COM"); } }
/// <summary> /// Unregister assembly /// </summary> public void Uninstall() { if (!File.Exists(dll)) { throw new FileNotFoundException("Target assembly is not found"); } var key = Registry.CurrentUser.OpenSubKey(@"Software\Classes", true); try { var ret = RegOverridePredefKey(HKEY_CLASSES_ROOT, key.Handle.DangerousGetHandle()); if (ret != ERROR_SUCCESS) { throw new Exception($"Cannot override HKEY_CLASSES_ROOT (error code {ret})"); } var rs = new RegistrationServices(); var asm = Assembly.LoadFrom(dll); rs.UnregisterAssembly(asm); } finally { RegOverridePredefKey(HKEY_CLASSES_ROOT, IntPtr.Zero); key.Close(); } }
static bool PerformAssemblyUnregistration(string strTargetAssemblyFilePath) { try { RegistrationServices registration_services = new RegistrationServices(); Assembly assembly = Assembly.LoadFrom(strTargetAssemblyFilePath); bool bRet = false; bRet = registration_services.UnregisterAssembly(assembly); if (bRet) { Console.WriteLine(string.Format("Successfully unregistered assembly [{0:S}].", strTargetAssemblyFilePath)); } else { Console.WriteLine(string.Format("Failed to unregister assembly [{0:S}].", strTargetAssemblyFilePath)); } return(bRet); } catch (Exception ex) { Console.WriteLine(string.Format("An exception occurred. Exception description : [{0:S}].", ex.Message)); return(false); } }
public override void Uninstall(System.Collections.IDictionary savedState) { base.Uninstall(savedState); RegistrationServices regSrv = new RegistrationServices(); regSrv.UnregisterAssembly(base.GetType().Assembly); }
/////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////// public void RegisterSystemWebAssembly(int doReg, out IntPtr exception) { exception = IntPtr.Zero; try { Assembly webAssembly = Assembly.GetExecutingAssembly(); RegistrationServices rs = new RegistrationServices(); if (doReg != 0) { if (!rs.RegisterAssembly(webAssembly, AssemblyRegistrationFlags.None)) { exception = Marshal.StringToBSTR((new Exception(SR.GetString(SR.Unable_To_Register_Assembly, webAssembly.FullName))).ToString()); } } else { if (!rs.UnregisterAssembly(webAssembly)) { exception = Marshal.StringToBSTR((new Exception(SR.GetString(SR.Unable_To_UnRegister_Assembly, webAssembly.FullName))).ToString()); } } } catch (Exception e) { exception = Marshal.StringToBSTR(e.ToString()); } }
/// <summary> /// 从系统中卸载程序集 /// </summary> /// <param name="assemblyName"></param> /// <returns></returns> public int UnRegistAssembly(string assemblyName) { if (!IsAdministrator()) { return(RunAsAdmin(assemblyName, "-unregist")); } Assembly assembly = Assembly.UnsafeLoadFrom(assemblyName); RegistrationServices registrationServices = new RegistrationServices(); try { bool flag3 = registrationServices.UnregisterAssembly(assembly); if (!flag3) { return(-3); } } catch (UnauthorizedAccessException ex) { // 无权限 Console.Error.Write(ex.Message); return(-1); } catch (Exception ex) { // 其他错误 Console.Error.Write(ex.Message); return(-2); } return(0); }
private void Regasm(bool register) { string file = base.Context.Parameters["Assembly"]; if (string.IsNullOrEmpty(file)) { throw new InstallException("Assembly not defined"); } if (!File.Exists(file)) { return; } RegistrationServices regsrv = new RegistrationServices(); Assembly assembly = Assembly.LoadFrom(file); if (register) { regsrv.RegisterAssembly(assembly, AssemblyRegistrationFlags.SetCodeBase); } else { try { regsrv.UnregisterAssembly(assembly); } catch { //Exceptions are ignored: even if the unregistering failes //it should notprevent the user from uninstalling } } }
/// <summary> /// Registers the COM types in the specified assembly. /// </summary> public static List <System.Type> RegisterComTypes(string filePath) { // load assmebly. Assembly assembly = Assembly.LoadFrom(filePath); // check that the correct assembly is being registered. VerifyCodebase(assembly, filePath); RegistrationServices services = new RegistrationServices(); // list types to register/unregister. List <System.Type> types = new List <System.Type>(services.GetRegistrableTypesInAssembly(assembly)); // register types. if (types.Count > 0) { // unregister types first. if (!services.UnregisterAssembly(assembly)) { throw new ApplicationException("Unregister COM Types Failed."); } // register types. if (!services.RegisterAssembly(assembly, AssemblyRegistrationFlags.SetCodeBase)) { throw new ApplicationException("Register COM Types Failed."); } } return(types); }
public bool UnregisterAsm(string filepath) { Assembly asm = Assembly.LoadFile(defaultCSMPath + filepath); RegistrationServices regAsm = new RegistrationServices(); return(regAsm.UnregisterAssembly(asm)); }
public override void Uninstall(IDictionary savedState) { /*delete version number from registry*/ try { Registry.LocalMachine.DeleteSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects\\mktoolbar"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } base.Uninstall(savedState); try { RegistrationServices regasm = new RegistrationServices(); //bool bResult = regAsm.RegisterAssembly(this.GetType().Assembly,AssemblyRegistrationFlags.SetCodeBase); bool bresult = regasm.UnregisterAssembly(this.GetType().Assembly); } catch (Exception e) { MessageBox.Show(e.ToString()); } }
protected override void OnAfterUninstall(IDictionary savedState) { base.OnAfterUninstall(savedState); Assembly assembly = Assembly.LoadFile(Assembly.GetExecutingAssembly().Location); RegistrationServices registrationServices = new RegistrationServices(); registrationServices.UnregisterAssembly(assembly); }
public static void UnregisterServer(Assembly assemblyToRegister) { if (ComUnregister != null) { RegistrationServices reg = new RegistrationServices(); reg.UnregisterAssembly(assemblyToRegister); ComUnregister(); } }
public static void Unregister() { try { RegistrationServices svc = new RegistrationServices(); svc.UnregisterAssembly(typeof(Program).Assembly); } catch (Exception e) { throw new ApplicationException(e.Message, e); } }
public override void Uninstall(System.Collections.IDictionary savedState) { base.Uninstall(savedState); RegistrationServices regsrv = new RegistrationServices(); if (!regsrv.UnregisterAssembly(this.GetType().Assembly)) { throw new InstallException("libronツールバーの登録解除に失敗しました"); } }
public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); // Call RegistrationServices.UnregisterAssembly to unregister the classes // in the current managed assembly. RegistrationServices regService = new RegistrationServices(); regService.UnregisterAssembly(Assembly.LoadFrom(@"AobaContextMenu.dll")); }
/// <summary> /// Unregister the assembly /// </summary> /// <param name="savedState">An IDictionary that contains the state of /// the computer after the installation was complete.</param> /// <exception cref="ArgumentException">The stateSaver parameter is a /// null reference (<b>Nothing</b> in Visual Basic).</exception> /// <exception cref="Exception"> /// An exception occurred in the BeforeInstall event handler of one /// of the installers in the collection. /// -or- /// An exception occurred in the AfterInstall event handler of one /// of the installers in the collection.</exception> public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); RegistrationServices regSrv = new RegistrationServices(); System.Reflection.Assembly assembly = base.GetType().Assembly; regSrv.UnregisterAssembly(assembly); }
public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); RegistrationServices regsrv = new RegistrationServices(); if (!regsrv.UnregisterAssembly(this.GetType().Assembly)) { throw new InstallException("Failed to unregister."); } }
public static void UnregisterSelf() { RegistrationServices aRS = new RegistrationServices(); Assembly thisAssembly = Assembly.GetExecutingAssembly(); if (thisAssembly != null) { aRS.UnregisterAssembly(thisAssembly); } }
public override void Uninstall(IDictionary savedState) { RegistrationServices regsrv = new RegistrationServices(); if (!regsrv.UnregisterAssembly(typeof(ComInstaller).Assembly)) { throw new Exception("Failed to unregister for COM interop."); } Utilities.DebugLine("[MsasSink] Unistalled COM assembly: " + typeof(ComInstaller).Assembly); }
public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); // Call RegistrationServices.UnregisterAssembly to unregister the classes // in the current managed assembly. RegistrationServices regService = new RegistrationServices(); regService.UnregisterAssembly(this.GetType().Assembly); }
public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); RegistrationServices regsrv = new RegistrationServices(); if (!regsrv.UnregisterAssembly(GetType().Assembly)) { throw new InstallException("Failed to unregister HL7SDK.dll for COM Interop."); } this.Context.LogMessage("HL7SDK COM deregistration was completed."); }
public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); var registrationServices = new RegistrationServices(); if (!registrationServices.UnregisterAssembly(GetType().Assembly)) { throw new InstallException("Failed to unregister for COM interop."); } }
public virtual void Unregister(string dllPath, string hostProcessPath) { var asm = Assembly.LoadFrom(dllPath); ExecuteWithRegsitryKeyOverride(() => { if (!_regService.UnregisterAssembly(asm)) { throw new ApplicationException("Can not unregister assembly"); } }); }
public override void Uninstall(System.Collections.IDictionary savedState) { System.Windows.Forms.MessageBox.Show("开始执行uninstall类自定义操作..."); base.Uninstall(savedState); RegistrationServices regsrv = new RegistrationServices(); if (!regsrv.UnregisterAssembly(this.GetType().Assembly)) { throw new InstallException("Failed To Unregister for COM"); } }
public static void UninstallRegistry(IDictionary savedState, Assembly asm) { if (CommonUtils.Is64BitOperatingSystem()) { RegAsm64("/u", asm); } else { RegistrationServices regsrv = new RegistrationServices(); regsrv.UnregisterAssembly(asm); } }
/// <summary> /// When overridden in a derived class, restores the pre-installation state of the computer. /// </summary> /// <param name="savedState">An <see cref="T:System.Collections.IDictionary"/> that contains the pre-installation state of the computer.</param> public override void Rollback(IDictionary savedState) { try { RegistrationServices regServices = new RegistrationServices(); regServices.UnregisterAssembly(GetType().Assembly); } catch (Exception) { } finally { base.Rollback(savedState); } }
public static void UnregisterForInterop(Assembly assembly) { if (assembly == null) { throw new System.ArgumentNullException("assembly"); } // Pass on to the registration services. RegistrationServices services = new RegistrationServices(); services.UnregisterAssembly(assembly); }
/// <summary> /// When overridden in a derived class, removes an installation. /// </summary> /// <param name="savedState">An <see cref="T:System.Collections.IDictionary"/> that contains the state of the computer after the installation was complete.</param> public override void Uninstall(IDictionary savedState) { try { RegistrationServices regServices = new RegistrationServices(); regServices.UnregisterAssembly(GetType().Assembly); } catch { } finally { base.Uninstall(savedState); } }
/// <summary> /// Разрегистрация сборки /// </summary> /// <param name="asmFile">Ссылка на файл сборки</param> /// <param name="typeLib">Флаг разрегистрации библиотеки типов *.tlb, зарегистрированной ранее вместе со сборкой</param> /// <returns>Возвращает результат операции: Uninstalled или Fail</returns> public static RegistrationResult UnInstall(FileInfo asmFile, bool typeLib = true) { var assembly = ResolveAssembly(asmFile); var services = new RegistrationServices(); bool unregResult = services.UnregisterAssembly(assembly); if (!IsAssemblyImportedFromCom(assembly)) { UnRegisterMainTypeLib(asmFile); } return(unregResult ? RegistrationResult.Uninstalled : RegistrationResult.Fail); }
/// <summary> /// This is called when installer's custom action executes and /// registers the toolbar which is extending a bandobject, as COM server. /// </summary> /// <param name="stateSaver"></param> public override void Uninstall(System.Collections.IDictionary savedState) { base.Uninstall(savedState); OpenImageMenuExt.UnRegisterMenuExt(); RegistrationServices regsrv = new RegistrationServices(); if (!regsrv.UnregisterAssembly(this.GetType().Assembly)) { throw new InstallException("Failed To Unregister for COM"); } }