private void OnDetectRelatedMsiPackage(object sender, DetectRelatedMsiPackageEventArgs e) { if (e.PackageId == "PicoTorrentPackage" && e.Operation == RelatedOperation.MajorUpgrade) { var existingProduct = new ProductInstallation(e.ProductCode); if (!existingProduct.IsInstalled) { _bootstrapper.Engine.Log(LogLevel.Standard, $"Product not installed ({e.ProductCode})"); return; } try { var firewallFeature = existingProduct.GetFeatureState("F_Firewall"); var associationFeature = existingProduct.GetFeatureState("F_Handlers"); InstallModel.InstallWaitingModel.AddWindowsFirewallException = firewallFeature == Microsoft.Deployment.WindowsInstaller.InstallState.Local; InstallModel.InstallWaitingModel.RegisterFileProtocolHandlers = associationFeature == Microsoft.Deployment.WindowsInstaller.InstallState.Local; } catch (ArgumentException argException) { _bootstrapper.Engine.Log(LogLevel.Error, $"Failed to get previous feature state: {argException}"); } InstallModel.IsUpgrade = true; } }
protected override void OnDetectRelatedMsiPackage(DetectRelatedMsiPackageEventArgs args) { base.OnDetectRelatedMsiPackage(args); var package = Packages.First(pkg => pkg.Id == args.PackageId); package.InstalledVersion = args.Version; package.RelatedOperation = args.Operation; }
/// Fired when a related MSI package has been detected for a package. static void OnDetectRelatedMsiPackage(object sender, DetectRelatedMsiPackageEventArgs e) { Logger.Instance.Trace(""); }
private void Bootstrapper_DetectRelatedMsiPackage(object sender, DetectRelatedMsiPackageEventArgs e) { Log(LogLevel.Standard, $"Bootstrapper_DetectRelatedMsiPackage: PackageId {e.PackageId}, operation={e.PackageId}"); }