Запуск Windows Phone  на виртуальной машине Virtualbox



Для начала краткая вводная, предыстория, так сказать.

Поступил, значит, запрос от клиента «поднять» VPN. Да не простой, а такой, чтобы можно было подключаться с любых устройств и в первую очередь с мобильных. Особенно интересовал клиента Windows Phone, поскольку у него именно такой.

В мобильных устройствах есть нативные (т.е. «родные», встроенные в ОС)   VPN-клиенты, но они поддерживают подключение к VPN IPsec, по протоколу IKEv2.  Поэтому на linux-сервере клиента  был настроен именно такой VPN, с помощью Strongswan. Настроили подключение из Android, IOS и с обычной десктопной Windows — все работает.

А клиент со своего виндофона подключиться не может, хоть застрелись. Неделю бились. А это же еще нужно тестировать, а виндофона, разумеется, нету ни у меня, ни у  коллеги,  с которым это всё поднимали.  На тестирование приходится дёргать самого клиента.  А это время, это неудобство для клиента.   Стал искать возможность  запустить эмулятор Windows Phone. Оказалось такая возможность имеется, но только под винду — есть эмулятор для разработчиков приложений под Windows Phone.   А у меня Linux на рабочем ноутбуке.








Подумалось, что можно запустить виртуальную машину c Windows 10, например, а в ней этот эмулятор.  Но это не сработало, ибо тулкит затребовал поддержки Hyper-V, которого конечно же на виртуальной машине не будет. Для этого нужно установить Windows на «железо» — что мне не подходит.

winphone-emulator-fail

Где взять эмулятор Windows Phone?

Поискал немного, обнаружил что можно запустить этот эмулятор без лишней ОС, сразу на виртуальной машине.  Вот и делюсь с вами.

Идея проста. Нужно создать виртуальную машину и подключить к ней вместо диска уже готовый образ VHD (виртуального диска) с Windows Phone 8.1 на борту. Благо этот образ можно выдернуть из официального эмулятора WP 8.1  от Microsoft.

Зачем запускать Windows Phone 8.1 на виртуалке?

Ну если, например, как в моем случае  — вы работаете из под Linux или MacOS.  Или если вам нужно предоставить доступ к одной системе с  виндофоном для нескольких разработчиков по сети. Или вам нужно еще какие-то извращения вроде, прости хоспаде, запуска бота на смартфоне с Виндовс… В общем, мало ли. Да и вообще, это наше trueЪ путь — запускать с как можно меньшими «костылями» коими в нашем случае по-умолчанию является сама по себе Windows.

Как установить Windows Phone на виртуальную машину

Итак, с теорией разобрались, пора приступать.  Для начала понадобится установить Virtualbox.

Процесс наглядно показан вот в этом видео. Но тут кроме самой установки и запуска также показан процесс извлечения VHD из тулкита от MS.

 

Нам нужно создать машину с Windows 8.1 (32-bit).   При выборе в списке ОС она может быть без указания битности.

Когда Virtualbox начнет спрашивать про диск — выбирайте вариант — существующий.

ustanovka-windows-phone-virtualbox

 

Далее выбираем тот самый файл, который был скачан по ссылке и распакован.  В моем случае он был объемом около 1,8 Gb.








После создания заходим в настройки и выставляем 1 Gb оперативной памяти (можно было задать сразу) и 2 ядра процессора (CPU).

nastroika-cpu-windows-phone

Теперь всё готово, запускаем и  всё

vpn-windows-phone-emulator

Управление Windows Phone на виртуальной машине

При запуске на виртуалке включается клавиатура. Вот информация о маппинге клавиш для управления виндофоном с клавиатуры.

Активируется по pgUp или Pause/Break. Но ничего толкового с имеющимися клавишами сделать не удается. Нужно управлять пальцем.

А вот с этим большая проблема, если у вас не touch-устройство. Потому что запустить то её не проблема, но чем туда тыкать  — это вопрос.

Потому как курсора мыши конечно же вы не увидите. Хотя мышь вполне себе работает,  но управлять придётся «наощупь». А это очень сложно и долго. Как решить эту проблему я не разобрался. В итоге даже  не смог протестировать то что собирался.


vpn-windows-phone

 

Весь мой прогресс  — за час я добрался до настроек VPN и его включения.

windows-phone2

Но как создать профиль или уж тем более подключиться — это я не осилил. Бросил баловство и переключился на другие задачи.  Если знаете как решить этот вопрос — расскажите пожалуйста, буду

Комментариев

  1. 402_1 :

    Ответить

  2. Alex :

    Ответить

Сохраните для друзей или чтобы прочесть в другой раз:

Добавить комментарий для Alex Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *