public MainWindow()
        {
            InitializeComponent();

            RestoreWindowSizeAndPos();

            Current = this;

            Device = new WindowsPhoneDevice();

            this.DataContext = this;

            Analytics.Instance.Track(Analytics.Categories.PowerTools, "Run Power Tools", Analytics.Instance.UniqueId);

            LoadPreviousXaps();

            // show the connect dialog
            dialogConnect.Open();

            SetDefaultDevice();
        }
        private static bool Connect(string target)
        {
            bool wantEmulator = false;
            bool isEmulator = false;

            //foreach (Device
            if (target == "xde" || target == "emulator")
            {
                wantEmulator = true;
            }
            else if (target == "phone" || target == "device")
            {
                wantEmulator = false;
            }
            else
            {
                throw new ConsoleMessageException("Invalid device target (" + target + ")");
            }

            var devices = WindowsPhoneDevice.GetDevices();

            foreach (ConnectableDevice d in devices)
            {
                isEmulator = d.IsEmulator();

                if ((wantEmulator && isEmulator) || (!wantEmulator && !isEmulator))
                {
                    _device = new WindowsPhoneDevice();
                    _device.CurrentConnectableDevice = d;

                    break;
                }
            }

            _device.Connect();

            return true;
        }
        private Profiler(WindowsPhoneDevice device)
        {
            _device = device;

            GetInternalDevice();

            GetConmanServer();

            _fileDeployer = _internalDevice.GetFileDeployer();
        }