public int Execute(string[] args) { var pathToPrimaryPackage = variables.GetPathToPrimaryPackage(fileSystem, false); var isEnableNoMatchWarningSet = variables.IsSet(PackageVariables.EnableNoMatchWarning); if (!isEnableNoMatchWarningSet && !string.IsNullOrEmpty(GetAdditionalFileSubstitutions())) { variables.Add(PackageVariables.EnableNoMatchWarning, "true"); } var runningDeployment = new RunningDeployment(pathToPrimaryPackage, variables); if (pathToPrimaryPackage != null) { extractPackage.ExtractToStagingDirectory(pathToPrimaryPackage); } var filesToSubstitute = GetFilesToSubstitute(); substituteInFiles.Substitute(runningDeployment, filesToSubstitute); InstallAsync(runningDeployment).GetAwaiter().GetResult(); return(0); }