clickonce部署後的手動更新代碼

*/**////<summary>
        
/// 檢測網絡更新
        
/// </summary>

        private void InstallUpdateSyncWithInfo()
        ...
{
            UpdateCheckInfo info 
= null;


            
if (ApplicationDeployment.IsNetworkDeployed)
            ...
{
                ApplicationDeployment ad 
= ApplicationDeployment.CurrentDeployment;

                
try
                ...
{
                    info 
= ad.CheckForDetailedUpdate();

                }

                
catch (DeploymentDownloadException dde)
                ...
{
                    MessageBox.Show(
"軟件升級發現異常.  請檢測網絡情況後重新升經. 錯誤原因爲:" + dde.Message, "升級檢測", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    
return;
                }

                
catch (InvalidDeploymentException ide)
                ...
{
                    MessageBox.Show(
"網絡中無法檢測到可更新的部署文件,請與軟件開發商聯繫. 錯誤原因: " + ide.Message, "升級檢測", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    
return;
                }

                
catch (InvalidOperationException ioe)
                ...
{
                    MessageBox.Show(
"軟件無法更新. 請與軟件開發商聯繫. 錯誤原因: " + ioe.Message, "升級檢測", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    
return;
                }


                
if (info.UpdateAvailable)
                ...
{
                    Boolean doUpdate 
= true;

                    
if (!info.IsUpdateRequired)
                    ...
{
                        DialogResult dr 
= MessageBox.Show("檢測到新版本,版本號爲:" + info.AvailableVersion.ToString() + ",是否現在升級?""升級檢測", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                        
if (!(DialogResult.OK == dr))
                        ...
{
                            doUpdate 
= false;
                        }

                    }


                    
if (doUpdate)
                    ...
{
                        
try
                        ...
{
                            ad.Update();
                            MessageBox.Show(
"升級完畢,請重啓軟件以使用新版本.""升級檢測", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            Application.Restart();
                        }

                        
catch (DeploymentDownloadException dde)
                        ...
{
                            MessageBox.Show(
"軟件升級發現異常.  請檢測網絡情況後重新升經. 錯誤原因爲: " + dde, "升級檢測", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            
return;
                        }

                    }

                }

                
else
                ...
{
                    MessageBox.Show(
"您現在使用的已經是最新版本軟件!""升級檢測", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

            }

            
else
            ...
{
                MessageBox.Show(
"不是網絡部署軟件,無法更新""升級檢測", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章