2011-08-25 20 views

回答

0

我結束了使用ClickOnce部署API,在那裏我有更多的過程控制。訣竅是將應用程序設置爲運行100%脫機的CD-ROM應用程序。然後,使用簡單的ClickOnce代碼,可以執行靜默更新。

private void Update() 
    { 

     try 
     { 

      ApplicationDeployment.CurrentDeployment.CheckForUpdateCompleted += new CheckForUpdateCompletedEventHandler(CurrentDeployment_CheckForUpdateCompleted); 
      ApplicationDeployment.CurrentDeployment.UpdateCompleted += new System.ComponentModel.AsyncCompletedEventHandler(CurrentDeployment_UpdateCompleted); 

      ApplicationDeployment.CurrentDeployment.CheckForUpdateAsync(); 

     } 
     catch (Exception) 
     { 
     } 

    } 

    void CurrentDeployment_CheckForUpdateCompleted(object sender, CheckForUpdateCompletedEventArgs e) 
    { 
     try 
     { 
      if (e.UpdateAvailable) 
      { 
       ApplicationDeployment.CurrentDeployment.UpdateAsync(); 
      } 
     } 
     catch (InvalidOperationException) 
     { 
     } 
    } 

    void CurrentDeployment_UpdateCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) 
    { 
     //TODO: update completion code here 
    } 
1

是的,您可以通過要求最低版本強制升級所有客戶。這樣可以使不兼容的服務器更改。

MSDN

標記爲需要更新,請點擊指定最低要求 版本在該應用中的應用程序更新對話框, 然後指定發佈版本(主要,次要,建立,修訂版), ,它指定可以安裝 的應用程序的最低版本號。