UpdateCheckInfo.MinimumRequiredVersion Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the minimum version that the user must have installed on the computer.
public:
property Version ^ MinimumRequiredVersion { Version ^ get(); };
public Version MinimumRequiredVersion { get; }
member this.MinimumRequiredVersion : Version
Public ReadOnly Property MinimumRequiredVersion As Version
Property Value
A Version expressing the least version that the user must install.
Exceptions
There is no new version available to install.
Examples
The following code example demonstrates displaying the MinimumRequiredVersion property to the user when there is a required update available.
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
Remarks
Applications can miss required updates when the user takes on a special assignment or is away from the computer for weeks or months. Use
MinimumRequiredVersion to determine if the user has not upgraded the application in a while, and has missed one or more required updates.