office 2013補丁包更新


        總是有客戶發現使用office 2013 下的插件有問題,這個問題出現在低版本上,所以要給office 2013打上補丁,打上后,運行插件ok,出現的bug解決掉了。那么給office打補丁包就成了解決此類bug的方案。如何給office打補丁包呢?

       360衛士可以掃描軟件漏洞,然后在線下載並安裝補丁包。這種方案固然好,但是有兩個弊端。首先,客戶機器上裝360,客戶不一定會修補漏洞,假如客戶會操作,那么一次掃描,未必能夠打完所有office 2013的補丁,有可能得多次掃描。然后,客戶機器上沒有360安全衛士,這時候,你不可能要求客戶裝360衛士。 
      在這種情況下,於是我就想到了,把補丁包下載下來,直接讓客戶裝。問題是office 2013的補丁包着實很多,不可能在微軟的網站上下載所有的,關鍵是太耗時間了。我想到用360安全衛士先掃描修補,看能不能直接拿到下載好的補丁包。結果發現360下的補丁包全部是cab格式的。這可能是補丁包安裝后的副產品,我在360的補丁管理列表中,直接定位到了微軟的下載頁面上。后來,經過很長時間摸索,終於知道哪些補丁是很重要的補丁,把這幾個關鍵的補丁打上就好了。在探索的過程中,曾幾度陷入煩躁,沮喪當中。早知道,應該對探索充滿信心,對結果有着樂觀的態度,有助於問題及早解決。

      找到補丁包了,接下來就是如何批量安裝了。一個一個點擊安裝絕非良策。那客戶怎么忍受呢。於是,我用了批處理+C#程序,簡化了整個安裝過程,客戶只需要輕輕一點,安裝補丁的程序就開始運行了:

     

 1   private void btnOk_Click(object sender, RoutedEventArgs e)
 2         {
 3             //獲取當前程序執行的目錄
 4 
 5             this.tipMessage.Text = "正在更新補丁,可能會花費幾分鍾。。。";
 6 
 7             ThreadPool.QueueUserWorkItem(delegate
 8             {
 9                 string dir = Environment.CurrentDirectory;
10                 Process proc = null;
11                 try
12                 {
13                     string targetDir = string.Format(dir);
14                     proc = new Process();
15                     proc.StartInfo.WorkingDirectory = targetDir;
16                     proc.StartInfo.FileName = "updateOffice2013.bat";
17                     proc.Start();
18                     proc.WaitForExit();
19 
20 
21                     this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
22                                 (ThreadStart)delegate()
23                                 {
24                                     this.tipMessage.Text = "更新完成";
25                                 });
26                 }
27                 catch (Exception ex)
28                 {
29                     this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
30                                 (ThreadStart)delegate()
31                                 {
32                                     this.tipMessage.Text = "更新出錯";
33                                 });
34 
35                     Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
36                 }
37             });
38         }

用wpf寫的小小的一段代碼,關鍵的核心在於 updateOffice2013.bat 這個批處理文件,文件的內容很簡單:

cd /d %~sdp0
for %%i in (*.exe) do %%i /q

第一句切換到批處理文件所在的目錄,第二句循環執行exe文件 /q 參數表示靜默安裝,不要彈出對話框之類的東西。

最終安裝目錄結構如下:

注意:安裝包是按版本順序排序的,用戶右鍵以管理員的權限運行 office2013Update.exe即可。

 

 

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM