internal RegistryWorkloadInstallationRecordRepository(InstallElevationContextBase elevationContext, ISetupLogger logger,
                                                       RegistryKey baseKey, string basePath)
     : this(elevationContext, logger)
 {
     _baseKey = baseKey;
     BasePath = basePath;
 }
Esempio n. 2
0
        public NetSdkMsiInstallerClient(InstallElevationContextBase elevationContext,
                                        ISetupLogger logger,
                                        IWorkloadResolver workloadResolver,
                                        SdkFeatureBand sdkFeatureBand,
                                        INuGetPackageDownloader nugetPackageDownloader = null,
                                        VerbosityOptions verbosity = VerbosityOptions.normal,
                                        PackageSourceLocation packageSourceLocation = null,
                                        IReporter reporter = null) : base(elevationContext, logger, reporter)
        {
            _packageSourceLocation  = packageSourceLocation;
            _nugetPackageDownloader = nugetPackageDownloader;
            _sdkFeatureBand         = sdkFeatureBand;
            _workloadResolver       = workloadResolver;
            _dependent = $"{DependentPrefix},{sdkFeatureBand},{HostArchitecture}";

            Log?.LogMessage($"Executing: {CurrentProcess.GetCommandLine()}, PID: {CurrentProcess.Id}, PPID: {ParentProcess.Id}");
            Log?.LogMessage($"{nameof(IsElevated)}: {IsElevated}");
            Log?.LogMessage($"{nameof(Is64BitProcess)}: {Is64BitProcess}");
            Log?.LogMessage($"{nameof(RebootPending)}: {RebootPending}");
            Log?.LogMessage($"{nameof(ProcessorArchitecture)}: {ProcessorArchitecture}");
            Log?.LogMessage($"{nameof(HostArchitecture)}: {HostArchitecture}");
            Log?.LogMessage($"{nameof(SdkDirectory)}: {SdkDirectory}");
            Log?.LogMessage($"SDK feature band: {_sdkFeatureBand}");

            if (IsElevated)
            {
                // Turn off automatic updates. We don't want MU to potentially patch the SDK
                // and it also reduces the risk of hitting ERROR_INSTALL_ALREADY_RUNNING.
                UpdateAgent.Stop();
            }
        }
Esempio n. 3
0
        public NetSdkMsiInstallerServer(InstallElevationContextBase elevationContext, PipeStreamSetupLogger logger)
            : base(elevationContext, logger)
        {
            // Establish a connection with the install client and logger. We're relying on tasks to handle
            // this, otherwise, the ordering needs to be lined up with how the client configures
            // the underlying pipe streams to avoid deadlock.
            Task dispatchTask = new Task(() => Dispatcher.Connect());
            Task loggerTask   = new Task(() => logger.Connect());

            dispatchTask.Start();
            loggerTask.Start();

            Task.WaitAll(dispatchTask, loggerTask);
        }
 internal RegistryWorkloadInstallationRecordRepository(InstallElevationContextBase elevationContext, ISetupLogger logger)
     : base(elevationContext, logger)
 {
 }