Установка Windows Phone Developer Tools CTP на Win Server 2008
Официально Windows Phone Developer Tools CTP and CTP Refresh не поддерживаются никакими операционными системами за исключением Windows Vista и Windows 7. Но что самое интересное не поддерживаются так же Windows Server 2008 и сделано это для облегчения поддержки продукта.
Способ снять ограничение на установку Windows Phone Developer Tools CTPна Windows Server 2008.
Предупреждение: метод неофициальный и если решитесь воспользоваться им, то Вы это делаете на свой страх и риск.
1. Скачайте Windows Phone Developer Tools CTP Refresh web bootstrapper и сохраните на жестком диске
2. Распакуйте пакет установки в выбранную папку, выполнив команду vm_web.exe /x
3. Перейдите в папку, которую Вы указали на шаге 2 и откройте файл baseline.dat в текстовом редакторе, к примеру, в notepad.
4. Найдите раздел [gencomp7788]
5. Измените значение InstallOnLHS с 1 на 0
6. Измените значение InstallOnWin7Server с 1 на 0
7. Сохраните и закройте bseline.dat
8. Запустите установщик командой setup.exe / web из папки в которую был распакован пакет установки (см. шаг 2).
Источник - блог Aaron Stebner's Notice: Undefined index: blog_write in /home/virtwww/w_xnadev-ru_daa232f5/http/infusions/ti_blog_system/blog_includes.php on line 237
Замечательный набор лабораторных работ, для тех кто хочет руками "пощупать" процесс разработки под Windows Phone 7.
Обучающий курс состоит из трех блоков. Getting Started with Windows Phone
Сюда входят два урока: - Hello Windows Phone
Представляет из себя классический "Hello World" урок и дает начальные знания об инструментарии и действиях необходимых для разработки, сборки и тестирования приложения Silverlight для Windows Phone. В процессе данного урока Вы увидите как использовать Microsoft Visual Studio 2010 Express for Windows Phones, Expression Blend для разработки и разворачивания Вашего приложения, а так же процесс отладки приложения на эмуляторе.
- Building your First Windows Phone Application
В данном уроке рассмотрены основные моменты разработки приложения Silverlight для Windows Phone. В процессе выполнения данного урока Вы создадите простую игру паззл. В уроке рассмотрены различные этапы разработки приложения: создание нового проекта, добавление элементов управления, добавление логики, тестирование и отладка. Как и урок Hello World, этот урок делает больший акцент на моменты связанные именно с "телефонной" составляющей, как то, управление, навигация, использование страниц, рамки и службы навигации, multi-touch и изолированное хранилище.
Silverlight for Windows Phone
Сюда входит один урок: - Windows Phone Navigation and Controls
В данном уроке разъясняются основы навигации, в частности переходы между страницами (экранами) приложения Windows Phone Silverlight. В процессе выполнения данного урока Вы разработаете приложение которое будет переключаться между различными экранами и каждый экран будет поддерживать различную функциональность телефона, например воспроизведение аудио или видео файлов.
XNA Framework 4.0 for Windows Phones
Сюда входит один урок: - Game Development with XNA Framework
Этот урок, это введение в разработку игр на XNA Game Studio на платформе Windows Phones. В процессе выполнения урока вы разработаете игру и поймете базовые концепции XNA Game Studio и научитесь использовать Microsoft Visual 2010 Express for Windows Phone для разработки игры под Windows Phone (прим. пер. короче "масло маслянное", там реальная 2D игрушка, танком надо сбивать корабли пришельцев.)
Курс доступен on-line на сайте Chanel9
Либо в off-line (46,5 Mb включает исходники и ресурсы, использующиеся в уроках)
Установка в offline Windows Phone 7 Series developer tools
После установки Visual Studio 2010 Professional у меня подозрительным образом теперь отказывается запускаться Visual Studio 2010 Express for Windows Phone CTP с загадочным сообщением «Данная операция не может быть выполнена». Переустановка с «разбегу» положительных результатов не дала, да и с web installer`a сильно ненапереустанавливаешься. Странно то, что offline installer для Express версий студии есть, а для Visual Studio 2010 Express for Windows Phone нет.
А т.к. google у нас знает все, то и решение быстро было найдено. Итак вольный перевод блога http://www.geektieguy.com
Если у Вас есть несколько компьютеров на которые планируется установка Windows Phone 7 Series developer tools и у Вас нет желания скачивать контент на каждый их компьютеров, вот маленькая хитрость, с помощью которой можно сделать свой собственный offline установщик.
1. Начните с чистой Win 7 машины (прим. пер. «чистая» понятие относительное, но как ее зачистить можно понять из следующих пунктов, кстати Vista тоже подойдет.)
2. Скачайте web installer (vm_web.exe) с сайте Microsoft и сохраните в понравившемся Вам каталоге (к примеру c:\WinPhone7). Запустите installer.
3. Дождитесь пока пройдет скачивание, но когда начнется непосредственно процесс установки, прервите его (прервать можно сразу после шага №5 установщика).
4. Перейдите в папку %Temp%.
5. Скопируйте папку «30128.39» в папку, которую Вы создали на этапе 2.
6. Создайте файл «Install_WP7_Tools.cmd», следующего содержания:
8. Для установки на другом компьютере используйте созданный нами ранее файл Install_WP7_Tools.cmd.
Если Вы начнете не на «чистой» Win 7 машине, то установщик vm_web.exe может скачать Вам не все необходимые файлы для установки. Примерный список файлов в папке «30128.39» полученный на «чистой» 64-битной Windows 7.
Чарльз Петцольд (Charles Petzold) выложил в сеть набросок своей новой книги по разработке приложений для Windowa Phone 7, которая выйдет только к осени этого года. Третья часть книги полностью посвящена XNA.
Краткое содержание книги: Part I Getting Started
Начну издалека, как я до сегодняшнего дня работал с конфигурационными файлами приложения. Еще в давние времена, когда я только начинал свой трудовой путь программиста и шло активное освоение, тогда уже .NET Framework 1.1, в один прекрасный момент встал вопрос о способе хранения конфигурационных данных приложения. Быстро поняв, что INI файлы больше не рулят, был освоен метод хранения конфигурации в XML файле, а точнее app.config. C тех пор технология для меня не сильно изменилась, добавляем в проект новый item - Application Configuration File прям в нем ручками добавляем тег <appSettings></appSettings> и в него начинаем накидывать теги для хранения параметров конфигурации <add key="" value=""/>. С выходом .NET Framework 2.0 изменилось только то, что на помощь пришел класс ConfigurationManager. На стороне приложения создавался класс что-то наподобие:
Добавлено за 0.008 секунд, используя GeSHi 1.0.8.2
Данного функционала мне хватало за глаза, тут и доступ к любым параметрам конфигурации из практически любой части программы и сохранение параметров конфигурации и простота реализации.
И вот я решил решил серьезно заюзать ClickOnce, для непосвященных - это технология развертывания приложения с диска, сетевой шары, сети (протоколы http и ftp), но самое замечательное - это автоматическое обновление приложения. Думаю, что не надо объяснять, когда у тебя приклад уже стоит на 20-30 компьютерах пользователей и тут в нем обнаруживается мелкая бага, работать не мешает, но при определенных действия пользователя все летит к чертям или внезапно изменяется формат входных данных. Поправить программу это одно дело, а вот заново ее распространить, да никого не забыть (отпуска, декреты, миграция по должностям конечных пользователей). Короче, такой, маленький ад. Еще одна незаменимая способность ClickOnce - для запуска установки не нужны административные права. Если организация очень большая (а у меня она просто огромная) и пользователи не являются локальными администраторами, для установки нового приложения нужно либо поднять админов которые пропишут тебя, как администратора на машине конечного пользователя (при одно-двухкратном развертывании катит), либо сдвинуть отдел тех. обеспечения, которые твой инсталлер закатают в msi и через групповую политику ActiveDirectory раздадут на машины конечных пользователей. С приходом ClickOnce все это стало историей, сейчас достаточно разослать письмо с ссылкой на инсталлер, находящийся в intranet под управлением IIS и короткой инструкцией по установке - "Соглашаться на все, о чем Вас спросят". В довершение всему, при перекомпиляции и deploy все пользователи гарантировано получат новую версию при следующем перезапуске. Счастье есть!
Итак, вернемся к нашим баранам, а вернее конфигурации приложения. Методом научного тыка было выяснено, что при деплое новой версии приложения на сервер, после того, как оно разворачивается на стороне пользователя файл конфигурации доблестно затирается либо моими значениями по умолчанию, либо моими тестовыми настройками, что нередко приводит к падению приклада (например путь для объекта FileSystemWatcher настроенный на мой путь не находит его у пользователя и при активации валит приложение). После непродолжительного гугления решение было найдено.
Как оказалось со времен .NET Framowork 1.1 в этом направлении технологии далеко продвинулись, конфигурация теперь может подразделяться на блоки: секция настроек пользователя и приложения, файл конфигурации теперь можно можно создавать непосредственно из VS и статичный класс теперь генерится автоматически. Но проблему с затиранием настроек пользователя при использовании ClickOnce в явном виде это не решает, но есть красивый обходной путь. Дело в том, что у базового класса генерируемого студией класса конфигурации - System.Configuration.ApplicationSettingsBase есть замечательный метод Upgrade(). Основная его задача это найти предыдущую версию файла конфигурации секции <userSettings> (тут небольшое отступление, при обычном развертывании copy и ClickOnce поведение у этой секции разное, подробности ищите в сети) и данные из нее записать в новый файл конфигурации. Остается дело за малым определить момент когда же у нас появляется новая конфигурация, т.е. отследить момент нового развертывания. Как оказалось прямых способов для этого нет и вот тут люди заюзали гениальность простоты.
Финт ушами заключается в следующем, нужно объявить новый параметр конфигурации, скажем с именем UpdateRequired, типа bool и значением по умолчанию "true" - это важный момент.
А в коде запуска приложения написать небольшой вызов:
Добавлено за 0.004 секунд, используя GeSHi 1.0.8.2
Итого, при новом развертывании и запуске приложения, конфигурация у нас будет заполнена значениями по умолчанию, т.е. свойство UpdateRequired примет значение - true, при активизации приложения мы это дело отследим, вызовем Properties.Settings.Default.Upgrade();, который перетянет параметры предыдущей версии в текущую, а флаг UpdateRequired мы выключим навсегда или по крайней мере до следующего развертывания или переинсталяции приложения.
Чувак показывает на примере XNA Racing Game, как заюзать новую сенсорную модель в Win7 для программирования альтернативного ввода в играх. YouTube Video
Мне обещали прислать смарт за пару недель до офф. релиза. Знакомые сотрудники из Майкрософт Юкрейн тоже пока в ожидании. А этот прототип на LG я тоже щупал еще 2 месяца назад. Мобила моей мечты!