private void step2CodeActivity_Validate_ExecuteCode(object sender, EventArgs e) { PackageElementProviderInstalledPackageItemEntityToken castedEntityToken = (PackageElementProviderInstalledPackageItemEntityToken)this.EntityToken; PackageManagerUninstallProcess packageManagerUninstallProcess = PackageManager.Uninstall(castedEntityToken.PackageId); this.Bindings.Add("PackageManagerUninstallProcess", packageManagerUninstallProcess); this.Bindings.Add("FlushOnCompletion", packageManagerUninstallProcess.FlushOnCompletion); this.Bindings.Add("ReloadConsoleOnCompletion", packageManagerUninstallProcess.ReloadConsoleOnCompletion); if (packageManagerUninstallProcess.PreUninstallValidationResult.Count > 0) { this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(packageManagerUninstallProcess.PreUninstallValidationResult)); } else { List <PackageFragmentValidationResult> validationResult = packageManagerUninstallProcess.Validate(); if (validationResult.Count > 0) { this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(validationResult)); } } }
private void step2CodeActivity_Install_ExecuteCode(object sender, EventArgs e) { try { PackageManagerInstallProcess packageManagerInstallProcess = this.GetBinding<PackageManagerInstallProcess>("PackageManagerInstallProcess"); List<PackageFragmentValidationResult> installResult = packageManagerInstallProcess.Install(); if (installResult.Count > 0) { this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(installResult)); } } catch (Exception ex) { this.UpdateBinding("Errors", new List<List<string>> { new List<string> { ex.Message, "" } }); } }
private void step3CodeActivity_DownloadAndValidate_ExecuteCode(object sender, EventArgs e) { try { PackageDescription packageDescription = GetPackageDescription(); string packageServerSource = PackageSystemServices.GetPackageSourceNameByPackageId(packageDescription.Id, InstallationInformationFacade.InstallationId, UserSettings.CultureInfo); System.IO.Stream installFileStream = PackageServerFacade.GetInstallFileStream(packageDescription.PackageFileDownloadUrl); PackageManagerInstallProcess packageManagerInstallProcess = PackageManager.Install(installFileStream, false, packageServerSource); this.Bindings.Add("PackageManagerInstallProcess", packageManagerInstallProcess); this.Bindings.Add("FlushOnCompletion", packageManagerInstallProcess.FlushOnCompletion); this.Bindings.Add("ReloadConsoleOnCompletion", packageManagerInstallProcess.ReloadConsoleOnCompletion); if (packageManagerInstallProcess.PreInstallValidationResult.Count > 0) { this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(packageManagerInstallProcess.PreInstallValidationResult)); } else { List <PackageFragmentValidationResult> validationResult = packageManagerInstallProcess.Validate(); if (validationResult.Count > 0) { this.UpdateBinding("LayoutLabel", StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "InstallRemotePackage.ShowWarning.LayoutLabel")); this.UpdateBinding("TableCaption", StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "InstallRemotePackage.ShowWarning.InfoTableCaption")); this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(validationResult)); } else { this.UpdateBinding("Uninstallable", packageManagerInstallProcess.CanBeUninstalled == false); } } } catch (Exception ex) { this.UpdateBinding("Errors", new List <List <string> > { new List <string> { ex.Message, "" } }); } }
private void step2CodeActivity_Uninstall_ExecuteCode(object sender, EventArgs e) { PackageElementProviderInstalledPackageItemEntityToken castedToken = (PackageElementProviderInstalledPackageItemEntityToken)this.EntityToken; PackageManagerUninstallProcess packageManagerUninstallProcess = this.GetBinding <PackageManagerUninstallProcess>("PackageManagerUninstallProcess"); Exception exception = null; try { string packageServerAddress = (from a in PackageManager.GetInstalledPackages() where a.Id == castedToken.PackageId select a.PackageServerAddress).Single(); List <PackageFragmentValidationResult> uninstallResult = packageManagerUninstallProcess.Uninstall(); try { PackageServerFacade.RegisterPackageUninstall(packageServerAddress, InstallationInformationFacade.InstallationId, castedToken.PackageId, UserSettings.Username, UserSettings.UserIPAddress.ToString()); } catch (Exception ex) { LoggingService.LogWarning("UninstallRemovePackageWorkflow", ex); this.UpdateBinding("UnregisterError", true); } if (uninstallResult.Count > 0) { this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(uninstallResult)); } } catch (Exception ex) { exception = ex; this.UpdateBinding("Errors", new List <List <string> > { new List <string> { ex.Message, "" } }); } }
private void step1CodeActivity_ValidateInstallation_ExecuteCode(object sender, EventArgs e) { try { UploadedFile uploadedFile = this.GetBinding <UploadedFile>("UploadedFile"); PackageManagerInstallProcess packageManagerInstallProcess = PackageManager.Install(uploadedFile.FileStream, true); if (packageManagerInstallProcess.PreInstallValidationResult.Count > 0) { this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(packageManagerInstallProcess.PreInstallValidationResult)); } else { List <PackageFragmentValidationResult> validationResult = packageManagerInstallProcess.Validate(); if (validationResult.Count > 0) { this.UpdateBinding("LayoutLabel", StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "InstallLocalPackage.ShowWarning.LayoutLabel")); this.UpdateBinding("TableCaption", StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "InstallLocalPackage.ShowWarning.InfoTableCaption")); this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(validationResult)); } else { this.Bindings.Add("PackageManagerInstallProcess", packageManagerInstallProcess); this.Bindings.Add("FlushOnCompletion", packageManagerInstallProcess.FlushOnCompletion); this.Bindings.Add("ReloadConsoleOnCompletion", packageManagerInstallProcess.ReloadConsoleOnCompletion); } } } catch (Exception ex) { this.UpdateBinding("Errors", new List <List <string> > { new List <string> { ex.Message, "" } }); } }
private void step4CodeActivity_Install_ExecuteCode(object sender, EventArgs e) { PackageDescription packageDescription = GetPackageDescription(); PackageManagerInstallProcess packageManagerInstallProcess = this.GetBinding <PackageManagerInstallProcess>("PackageManagerInstallProcess"); bool installOk = false; string packageServerUrl = null; Exception exception = null; try { packageServerUrl = PackageSystemServices.GetPackageSourceNameByPackageId(packageDescription.Id, InstallationInformationFacade.InstallationId, UserSettings.CultureInfo); List <PackageFragmentValidationResult> installResult = packageManagerInstallProcess.Install(); if (installResult.Count > 0) { this.UpdateBinding("Errors", WorkflowHelper.ValidationResultToBinding(installResult)); } else { installOk = true; } } catch (Exception ex) { exception = ex; this.UpdateBinding("Errors", new List <List <string> > { new List <string> { ex.Message, "" } }); } try { if (installOk) { PackageServerFacade.RegisterPackageInstallationCompletion(packageServerUrl, InstallationInformationFacade.InstallationId, packageDescription.Id, UserSettings.Username, UserSettings.UserIPAddress.ToString()); } else { StringBuilder sb = new StringBuilder(); if (exception != null) { sb.Append(exception.ToString()); } else { List <List <string> > errors = this.GetBinding <List <List <string> > >("Errors"); foreach (List <string> list in errors) { sb.AppendLine(list[0]); } } PackageServerFacade.RegisterPackageInstallationFailure(packageServerUrl, InstallationInformationFacade.InstallationId, packageDescription.Id, UserSettings.Username, UserSettings.UserIPAddress.ToString(), sb.ToString()); } } catch (Exception ex) { LoggingService.LogWarning("InstallRemotePackageWorkflow", ex); } }