示例#1
0
        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;
            }
        }
示例#2
0
        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;
        }
示例#3
0
 /// Fired when a related MSI package has been detected for a package.
 static void OnDetectRelatedMsiPackage(object sender, DetectRelatedMsiPackageEventArgs e)
 {
     Logger.Instance.Trace("");
 }
示例#4
0
 private void Bootstrapper_DetectRelatedMsiPackage(object sender, DetectRelatedMsiPackageEventArgs e)
 {
     Log(LogLevel.Standard, $"Bootstrapper_DetectRelatedMsiPackage: PackageId {e.PackageId}, operation={e.PackageId}");
 }