public static void RegisterActiveX(string filename) { Directory.SetCurrentDirectory(Path.GetDirectoryName(filename)); ExitedProcess process = ProcessRunner.RunProcess( new ProcessStartInfo { FileName = "regsvr32.exe", Arguments = "/s " + Path.GetFileName(filename), UseShellExecute = false, CreateNoWindow = true } ); if (!process.IsSuccessful) { throw new InstallException(string.Format("Failed to register ActiveX plugin: error code {0}\n\n{1}", process.ExitCode, process.Output)); } }
/// <summary> /// Action called on process Exit or Kill /// </summary> /// <param name="isKilled">Has process been killed</param> protected void ExitedOrKilledProcessAction(bool isKilled) { IsProcessRunning = false; ExitProcessCode = CurrentBashProcess.ExitCode; if (isKilled) { ProcessState = BashProcessState.KilledManually; ExitedProcess?.Invoke(this, new BashProcessExitEventArgs(ProcessState, null)); } else { if (ExitProcessCode == 0) { ProcessState = BashProcessState.Exited; } else { ProcessState = BashProcessState.ExitedWithError; } ExitedProcess?.Invoke(this, new BashProcessExitEventArgs(ProcessState, ExitProcessCode)); } }