UpdateCheckInfo.IsUpdateRequired Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wartość wskazującą, czy należy zainstalować aktualizację.
public:
property bool IsUpdateRequired { bool get(); };
public bool IsUpdateRequired { get; }
member this.IsUpdateRequired : bool
Public ReadOnly Property IsUpdateRequired As Boolean
Wartość właściwości
true jeśli aktualizacja jest wymagana; w przeciwnym razie , false.
Przykłady
W poniższym przykładzie kodu użyto IsUpdateRequired metody w celu określenia, czy użytkownik ma zainstalować aktualizację, czy zainstalować ją bez monitowania.
public:
void InstallUpdateSync()
{
if (ApplicationDeployment::IsNetworkDeployed)
{
bool isUpdateAvailable = false;
ApplicationDeployment^ appDeployment =
ApplicationDeployment::CurrentDeployment;
try
{
isUpdateAvailable = appDeployment->CheckForUpdate();
}
catch (InvalidOperationException^ ex)
{
MessageBox::Show("The update check failed. Error: {0}",
ex->Message);
return;
}
if (isUpdateAvailable)
{
try
{
appDeployment->Update();
MessageBox::Show(
"The application has been upgraded, and will now " +
"restart.");
Application::Restart();
}
catch (Exception^ ex)
{
MessageBox::Show("The update failed. Error: {0}",
ex->Message);
return;
}
}
}
}
private void InstallUpdateSyncWithInfo()
{
UpdateCheckInfo info = null;
if (ApplicationDeployment.IsNetworkDeployed)
{
ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
try
{
info = ad.CheckForDetailedUpdate();
}
catch (DeploymentDownloadException dde)
{
MessageBox.Show("The new version of the application cannot be downloaded at this time. \n\nPlease check your network connection, or try again later. Error: " + dde.Message);
return;
}
catch (InvalidDeploymentException ide)
{
MessageBox.Show("Cannot check for a new version of the application. The ClickOnce deployment is corrupt. Please redeploy the application and try again. Error: " + ide.Message);
return;
}
catch (InvalidOperationException ioe)
{
MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " + ioe.Message);
return;
}
if (info.UpdateAvailable)
{
Boolean doUpdate = true;
if (!info.IsUpdateRequired)
{
DialogResult dr = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel);
if (!(DialogResult.OK == dr))
{
doUpdate = false;
}
}
else
{
// Display a message that the app MUST reboot. Display the minimum required version.
MessageBox.Show("This application has detected a mandatory update from your current " +
"version to version " + info.MinimumRequiredVersion.ToString() +
". The application will now install the update and restart.",
"Update Available", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
if (doUpdate)
{
try
{
ad.Update();
MessageBox.Show("The application has been upgraded, and will now restart.");
Application.Restart();
}
catch (DeploymentDownloadException dde)
{
MessageBox.Show("Cannot install the latest version of the application. \n\nPlease check your network connection, or try again later. Error: " + dde);
return;
}
}
}
}
}
Private Sub InstallUpdateSyncWithInfo()
Dim info As UpdateCheckInfo = Nothing
If (ApplicationDeployment.IsNetworkDeployed) Then
Dim AD As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
Try
info = AD.CheckForDetailedUpdate()
Catch dde As DeploymentDownloadException
MessageBox.Show("The new version of the application cannot be downloaded at this time. " + ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later. Error: " + dde.Message)
Return
Catch ioe As InvalidOperationException
MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " & ioe.Message)
Return
End Try
If (info.UpdateAvailable) Then
Dim doUpdate As Boolean = True
If (Not info.IsUpdateRequired) Then
Dim dr As DialogResult = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel)
If (Not System.Windows.Forms.DialogResult.OK = dr) Then
doUpdate = False
End If
Else
' Display a message that the app MUST reboot. Display the minimum required version.
MessageBox.Show("This application has detected a mandatory update from your current " & _
"version to version " & info.MinimumRequiredVersion.ToString() & _
". The application will now install the update and restart.", _
"Update Available", MessageBoxButtons.OK, _
MessageBoxIcon.Information)
End If
If (doUpdate) Then
Try
AD.Update()
MessageBox.Show("The application has been upgraded, and will now restart.")
Application.Restart()
Catch dde As DeploymentDownloadException
MessageBox.Show("Cannot install the latest version of the application. " & ControlChars.Lf & ControlChars.Lf & "Please check your network connection, or try again later.")
Return
End Try
End If
End If
End If
End Sub
Uwagi
Podczas wdrażania aktualizacji w aplikacji ClickOnce można oznaczyć ją jako wymaganą aktualizację, sygnalizując aplikację, że powinna zostać natychmiast uaktualniona. Chcesz oznaczyć aplikację, jeśli najnowsza wersja zawiera aktualizację krytyczną lub jeśli jest niezgodna z formatami plików lub źródłami danych zaplecza używanymi przez poprzednią wersję.