Share via


IAddInPostDeploymentAction.Execute(AddInPostDeploymentActionArgs) Method

Definition

Runs the post-deployment action, which can perform additional installation steps as the final step in a ClickOnce installer.

public:
 void Execute(Microsoft::VisualStudio::Tools::Applications::Deployment::AddInPostDeploymentActionArgs ^ args);
public void Execute (Microsoft.VisualStudio.Tools.Applications.Deployment.AddInPostDeploymentActionArgs args);
abstract member Execute : Microsoft.VisualStudio.Tools.Applications.Deployment.AddInPostDeploymentActionArgs -> unit
Public Sub Execute (args As AddInPostDeploymentActionArgs)

Parameters

args
AddInPostDeploymentActionArgs

The arguments for the post-deployment action, including the path of the ClickOnce installer.

Examples

public void Execute(AddInPostDeploymentActionArgs args) 
{
    string dataDirectory = @"Data\ExcelWorkbook.xlsx";
    string file = @"ExcelWorkbook.xlsx";
    string sourcePath = args.AddInPath;
    Uri deploymentManifestUri = args.ManifestLocation;
    string destPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
    string sourceFile = System.IO.Path.Combine(sourcePath, dataDirectory);
    string destFile = System.IO.Path.Combine(destPath, file);

    switch (args.InstallationStatus)
    {
        case AddInInstallationStatus.InitialInstall:
        case AddInInstallationStatus.Update:
            File.Copy(sourceFile, destFile);
            ServerDocument.RemoveCustomization(destFile);
            ServerDocument.AddCustomization(destFile, deploymentManifestUri);
            break;
        case AddInInstallationStatus.Uninstall:
            if (File.Exists(destFile))
            {
                File.Delete(destFile);
            }
            break;
    }
}
Sub Execute(ByVal args As AddInPostDeploymentActionArgs) Implements IAddInPostDeploymentAction.Execute
    Dim dataDirectory As String = "Data\ExcelWorkbook.xlsx"
    Dim file As String = "ExcelWorkbook.xlsx"
    Dim sourcePath As String = args.AddInPath
    Dim deploymentManifestUri As Uri = args.ManifestLocation
    Dim destPath As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
    Dim sourceFile As String = System.IO.Path.Combine(sourcePath, dataDirectory)
    Dim destFile As String = System.IO.Path.Combine(destPath, file)

    Select Case args.InstallationStatus
        Case AddInInstallationStatus.InitialInstall, AddInInstallationStatus.Update
            System.IO.File.Copy(sourceFile, destFile)
            ServerDocument.RemoveCustomization(destFile)
            ServerDocument.AddCustomization(destFile, deploymentManifestUri)
            Exit Select
        Case AddInInstallationStatus.Uninstall
            If System.IO.File.Exists(destFile) Then
                System.IO.File.Delete(destFile)
            End If
            Exit Select
    End Select
End Sub

Applies to