ApplicationDeployment.IsFirstRun 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 a value indicating whether this is the first time this application has run on the client computer.
public:
property bool IsFirstRun { bool get(); };
public bool IsFirstRun { get; }
member this.IsFirstRun : bool
Public ReadOnly Property IsFirstRun As Boolean
Property Value
true
if this version of the application has never run on the client computer before; otherwise, false
.
Examples
The following code example uses IsFirstRun to decide whether to check for an update to the file group HelpFiles
. If one or more of the files have been updated, it calls DownloadFileGroup to obtain the new versions.
private void DownloadFileGroupSync(string fileGroup)
{
if (ApplicationDeployment.IsNetworkDeployed)
{
ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;
if (deployment.IsFirstRun)
{
try
{
if (deployment.IsFileGroupDownloaded(fileGroup))
{
deployment.DownloadFileGroup(fileGroup);
}
}
catch (InvalidOperationException ioe)
{
MessageBox.Show("This application is not a ClickOnce application. Error: " + ioe.Message);
return;
}
downloadStatus.Text = String.Format("Download of file group {0} complete.", fileGroup);
}
}
}
Private Sub DownloadFileGroupSync(ByVal fileGroup As String)
If (ApplicationDeployment.IsNetworkDeployed) Then
Dim deployment As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
If (deployment.IsFirstRun) Then
Try
If (deployment.IsFileGroupDownloaded(fileGroup)) Then
deployment.DownloadFileGroup(fileGroup)
End If
Catch ioe As InvalidOperationException
MessageBox.Show("This application is not a ClickOnce application. Error: " & ioe.Message)
Exit Sub
End Try
DownloadStatus.Text = String.Format("Download of file group {0} complete.", fileGroup)
End If
End If
End Sub
Remarks
Use IsFirstRun to determine whether you need to perform any one-time initialization operations the first time your application runs.
Do not assume that a IsFirstRun setting of true
indicates that this instance of an application is the first one to show its user interface to the user. Due to the way the system schedules processes, one instance of the application may have its IsFirstRun property set to true
, but another instance may be the first to render on the screen. The value of this property is reset whenever the user upgrades from one version to the next. If you want to perform an operation only the very first time any version of the application is run, you will need to perform an additional test, such as checking for the existence of a file you created the first time, or storing a flag using Application Settings.