public void InstallUpdate(SPUpdate update) { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.CreateNoWindow = false; startInfo.UseShellExecute = false; startInfo.FileName = update.fileName; startInfo.WindowStyle = ProcessWindowStyle.Hidden; try { // Start the process with the info we specified. // Call WaitForExit and then the using-statement will close. using (Process exeProcess = Process.Start(startInfo)) { exeProcess.WaitForExit(); } } catch { // Log error. } }