public static AbstractLogUploader GetLogUploader(BaseModel model) { if (!model.StringVariables.Contains("LogUploader")) return null; if (!model.StringVariables.Contains("LoggingUrl")) return null; AbstractLogUploader result = null; var uploaderType = model.StringVariables["LogUploader"]; if (uploaderType.Equals("InCertLogUploader", StringComparison.InvariantCulture)) result = new GetBasedLogUploader(); else if (uploaderType.Equals("WebApiLogUploader", StringComparison.InvariantCulture)) result = new PostBasedLogUploader(); if (result == null) return null; result.EndpointUrl = model.StringVariables["LoggingUrl"]; result.MachineId = model.GetIdentifier(); result.Session = IdentifierExtension.GetSessionId(); result.UserId = "[unknown]"; result.Timeout = 30000; return result; }
public PagedViewModel(BaseModel baseModel) { BaseModel = baseModel; Logger.Verbose("Initializing engine window"); View = new PagedView { DataContext = this }; ViewWindowHandle = new WindowInteropHelper(View).EnsureHandle(); _bottomButtonsModel = new ButtonPanelModel(this); _contentPanelModel = new ContentPanelModel(this); Logger.Verbose("Initializing engine events"); BaseModel.Bootstrapper.DetectBegin += DetectBegin; BaseModel.Bootstrapper.DetectRelatedBundle += DetectedRelatedBundle; BaseModel.Bootstrapper.DetectComplete += DetectComplete; BaseModel.Bootstrapper.PlanPackageBegin += PlanPackageBegin; BaseModel.Bootstrapper.PlanComplete += PlanComplete; BaseModel.Bootstrapper.ApplyBegin += ApplyBegin; BaseModel.Bootstrapper.ExecuteProgress += ExecuteProgressHandler; BaseModel.Bootstrapper.ExecutePackageBegin += ExecutePackageBegin; BaseModel.Bootstrapper.ExecutePackageComplete += ExecutePackageComplete; BaseModel.Bootstrapper.Error += ExecuteError; BaseModel.Bootstrapper.ResolveSource += ResolveSource; BaseModel.Bootstrapper.ApplyComplete += ApplyComplete; BaseModel.Bootstrapper.Progress += ProgressHandler; BaseModel.Bootstrapper.DetectUpdateComplete += DetectUpdateCompleteHandler; BaseModel.Bootstrapper.DetectPriorBundle += DetectPriorBundleHandler; BaseModel.Bootstrapper.DetectRelatedMsiPackage += DetectRelatedMsiPackageHandler; }
protected override void Run() { try { Logger.Initialize(Engine); Logger.Verbose("Launching bootstrapper engine"); Logger.Verbose("Initializing base model"); var baseModel = new BaseModel(this); Logger.Verbose("Initializing view model"); var viewModel = new PagedViewModel(baseModel); //baseModel.UploadLogEntry("Install", "Starting install; version={0}", string.Format("{0}", Assembly.GetExecutingAssembly().GetName().Version)); Logger.Verbose("Starting Detect"); Engine.Detect(); baseModel.Result = 1602; // assume result = cancel if (baseModel.Command.Display == Display.Passive || baseModel.Command.Display == Display.Full) { Logger.Verbose("Showing view"); viewModel.View.Show(); } Dispatcher.Run(); Engine.Quit(baseModel.Result); } catch (Exception e) { Engine.Log(LogLevel.Error, string.Format("An exception occurred while attempting to initialize the engine: {0}", e.StackTrace)); Engine.Quit(-1); } }