public static void UIMain(string[] args) { ProcessUtils.LogParentProcessDetails(); TimelineStatsSender.Init(MultiInstanceStrings.VmName); TimelineStatsSender.HandleEngineBootEvent(EngineStatsEvent.player_launched.ToString()); Program.BstPlusDevicesInit(); Opt.Instance.Parse(args); if (Opt.Instance.help) { Program.Usage(); } Stats.SendFrontendStatusUpdate("frontend-launched", MultiInstanceStrings.VmName); if (!MultiInstanceUtils.VerifyVmId(MultiInstanceStrings.VmName)) { Logger.Error("VmName {0} , not part of VmList {1} , Exiting Process", (object)MultiInstanceStrings.VmName, (object)RegistryManager.Instance.VmList.ToString()); Environment.Exit(1); } Logger.InitVmInstanceName(MultiInstanceStrings.VmName); InputManagerProxy.SetUp(); if (HyperV.Instance.HyperVStatus == HyperV.ReturnCodes.MicrosoftHyperV) { Logger.Error("Hyper-V enabled for non Hyper-V build, exiting"); Environment.Exit(-5); } else { if (HyperV.Instance.HyperVStatus != HyperV.ReturnCodes.None) { Logger.Info("Non-microsoft Hyper-V may be active, continuing"); } Program.SetupAndRunApplication(Opt.Instance); } }
public static void Main(string[] args) { BlueStacks.ComRegistrar.ComRegistrar.Init(); BlueStacks.ComRegistrar.ComRegistrar.sOpt.Parse(args); if (args.Length != 1 || !BlueStacks.ComRegistrar.ComRegistrar.sOpt.reg && !BlueStacks.ComRegistrar.ComRegistrar.sOpt.unreg) { Logger.Error("No/invalid arguments given. Exiting"); Environment.Exit(2); } if (!SystemUtils.IsAdministrator()) { Logger.Fatal("Not admin, exiting"); Environment.Exit(4); } if (ProcessUtils.CheckAlreadyRunningAndTakeLock("Global\\BlueStacks_UnRegRegCom_Lockbgp", out BlueStacks.ComRegistrar.ComRegistrar.sLock)) { Logger.Info("Another instance of ComRegistrar is already running"); Environment.Exit(1); } if (args.Length != 0) { Logger.Info("args: {0}", (object)string.Join(" ", args)); } if (BlueStacks.ComRegistrar.ComRegistrar.sOpt.reg) { Logger.Info("Validating oleaut registries"); if (FixUpOle.FixOle((string)null)) { Logger.Info("Oleaut Validation successful"); } else { Logger.Info("Oleaut Validation failed, continuing anyway"); } } if (BlueStacks.ComRegistrar.ComRegistrar.sOpt.reg) { ulong num = RegisterProxyStub.DllRegisterServer(); if (num != 0UL) { MultiInstanceUtils.SetDeviceCapsRegistry(string.Format("Registration error: {0}", (object)num), EngineState.legacy.ToString()); Logger.Fatal("Unable to register BstkProxyStub.dll, Error: {0}", (object)num); Environment.Exit(10); } } else if (BlueStacks.ComRegistrar.ComRegistrar.sOpt.unreg) { Logger.Info("Unregistering components"); long num = (long)RegisterProxyStub.DllUnregisterServer(); } Environment.Exit(0); }