public void CloseViewers() { if (_listHandlers == null || _listHandlers.Count == 0) { return; } int itemCount = _listHandlers.Count; for (int i = 0; i < itemCount; i++) { IRegistrationHelper handler = _listHandlers[i]; if (handler != null) { handler.CloseViewers(); } } }
public int Run(RegistrationOptions options, IRegistrationHelper helper) { if (options == null || helper == null) { return(-1); } _regOptions = options; _regHelper = helper; RegistrationHelper.Instance.Add(_regHelper); if (options.IsViewer) { this.DoViewerStuff(); return(0); } bool isErrorCodes = _regOptions.ErrorCodes; if (_regOptions.ShowLogo) { _regHelper.DisplayLogo(); } if (_regOptions.ShowHelp || _regOptions.Count == 0) { _regHelper.DisplayHelp(); return(isErrorCodes ? 1 : -1); } if (!ApplicationHelpers.IsClassRegistered( "{31411198-A502-11D2-BBCA-00C04F8EC294}")) { if (!_regOptions.IsQuiet) { _regHelper.WriteLine(String.Format(ResourcesHelper.GetString( "ErrorNoHelp2Environment"))); } return(isErrorCodes ? 2 : -1); } if (!ApplicationHelpers.IsThisUserPrivileged()) { if (!_regOptions.IsQuiet) { _regHelper.WriteLine(String.Format(ResourcesHelper.GetString( "ErrorInvalidPrivileges"))); } return(isErrorCodes ? 3 : -1); } string actionParam = _regOptions.ActionParam; if (actionParam != "/r" && actionParam != "/u" && actionParam != "+r" && actionParam != "-r" && actionParam != "+p" && actionParam != "-p" && actionParam != "/v" && actionParam != "-v") { if (!_regOptions.IsQuiet) { _regHelper.WriteLine(String.Format(ResourcesHelper.GetString( "ErrorInvalidCommandLine"), actionParam)); } return(isErrorCodes ? 4 : -1); } if (String.IsNullOrEmpty(_regOptions.FileName) || !File.Exists(_regOptions.FileName)) { if (!_regOptions.IsQuiet) { _regHelper.WriteLine(String.Format(ResourcesHelper.GetString( "ErrorInvalidXmlFile"), _regOptions.FileName)); } return(isErrorCodes ? 5 : -1); } XmlValidator schemaValidator = new XmlValidator(helper); if (!schemaValidator.SchemaExists) { if (!_regOptions.IsQuiet) { _regHelper.WriteLine(String.Format(ResourcesHelper.GetString( "ErrorCannotValidateXmlFile"), _regOptions.FileName)); } return(isErrorCodes ? 6 : -1); } if (!schemaValidator.Validate(_regOptions.FileName, _regOptions.IsQuiet)) { // get a message from the validator class return(isErrorCodes ? 6 : -1); } if (actionParam != "/v" && actionParam != "-v") { _regHelper.CloseViewers(); } if (actionParam == "/r" || actionParam == "+r") { this.DoHelpStuff(true); } if (actionParam == "/r" || actionParam == "+p") { this.DoPluginStuff(true); } if (actionParam == "/u" || actionParam == "-p") { this.DoPluginStuff(false); } if (actionParam == "/u" || actionParam == "-r") { this.DoHelpStuff(false); } if (actionParam == "/v" || actionParam == "-v" || _regOptions.ViewHelp) { this.DoViewerStuff(); } return(0); }