Attempting to install the Windows Phone 8 SDK on Windows 7

Greetings.

I don’t know about you, but at first I really didn’t want to install the new Windows 8. What's the point? There was no point, the seven worked perfectly and would continue to work, but ... Smart people from Microsoft like to redo everything all over again, and this time they specifically went too far.

The fact is that the new version of WP emulator, Windows Phone Emulator (XDE), uses Hyper-V technology, which appeared in the Windows desktop family only starting with Windows 8.

I had the idea to install this SDK at any cost in VS2012 under Windows 7 and get the most out of it.

Attention!


  • The emulator will be available only for WP 7.1 and below;
  • Blend will be available only for WP 7.1 and lower, which means XAML under WP 8 will have to be written by hand;
  • This is just for fun , because normal heroes always go around!


Under the cut, I’ll briefly tell you how the WP8 SDK installer works and show the curved path through the swamp for those who don’t want to part with Windows 7, but want to continue developing for new versions of Windows Phone.

Digging in the package


Having downloaded the WPexpress_full.exe installer from the official site , I tried to run it. He sent me, saying that I should reinstall Windows (I did not expect it!) To something newer, for example Windows 8. I was taken aback by such insolence and without thinking twice updated the very picture with the dog , just in case, so that there was something to brush off ideological debate with friends.



All suspicion fell on the marketers.

WPexpress_full.exe is perfectly unpacked using WinRAR, the following files were found inside:

0: XML document text
u0: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
u1: PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit Mono/.Net assembly
u10: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
u11: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit
u12: XML  document text
u13: XML  document text
u14: exported SGML document text
u15: UTF-8 Unicode (with BOM) text, with very long lines, with CRLF line terminators
u16: PNG image data, 63 x 63, 8-bit/color RGBA, non-interlaced
u17: HTML document text
u18: XML document text
u2: XML document text
u3: exported SGML document text
u4: XML document text
u5: MS Windows icon resource - 3 icons, 16x16, 16-colors
u6: MS Windows icon resource - 3 icons, 16x16, 16-colors
u7: MS Windows icon resource - 3 icons, 16x16, 16-colors
u8: PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit Mono/.Net assembly
u9: XML  document text

After examining the file 0 , which was the header for this package, it turned out that the installer was made using the Windows Installer XML (WiX) toolset toolkit . Deflated the tools of this WiX, among them was the dark.exe utility, which is responsible for unpacking the .msi packages collected by the default WiX toolkit. The utility approached this package as well.

He unpacked:

.
├── AdminDeployment.xsd
├── BootstrapperApplicationData.xml
├── BootstrapperCore.config
├── BootstrapperCore.dll
├── HighContrastThemes.xaml
├── License.htm
├── LocalizableStrings.xml
├── ManagedUx.dll
├── SkuResources.xaml
├── Themes.xaml
├── manifest.xml
├── mbahost.dll
├── mbapreq.dll
├── mbapreq.png
├── mbapreq.thm
├── mbapreq.wxl
├── res
│   ├── info.ico
│   ├── stop.ico
│   └── warn.ico
└── sqmapi.dll

After reading the docks and inspecting the XML files, it became clear that the installer was done with a custom interface using ManagedUx and Bootstrapper (Burn) from the WiX SDK (there is an example of such a project in the wix36-sources.zip archive - WixBA).

Simply put, what we have is that you cannot rebuild it back to the installer without rebuilding the WiX project in Visual Studio. At least manifest.xml is
and how to collect such manifestos - not a single utility from the standard WiX kit knows.

Therefore, despite the very attractive line in BootstrapperApplicationData.xml
which can be removed, this method will have to be left.

Parsim manifest.xml




In manifest.xml all the packages that are installed by the installer, as well as the source URIs are registered. I wrote a ruby ​​script that parses and downloads everything you need, then installs it one by one.
The installation order of packages is the same as they follow in the XML manifest, I hope this is not important.

GitHub sources

There is also a folder with a ready-made binary (script + dependencies + ruby 1.9.3 , compiled using ocra ), you just need to drag WPexpress_full.exe onto it and watch it.

Ready-to-Use ZIP Archive



Tips & Tricks


The XAML editor will try to start Blend, which in turn is a component of the WP8 emulator, which will cause Blend to crash forever. I immediately switched the XAML editor to the one that has no visuals, the autocomplete works there and okay.



The bottom line is:
  • Full-fledged working SDK for Windows Phone 7.1
  • Broken Windows Phone 8 emulator
  • Broken Blend Interface Editor for WP 8
  • Defective, but still working (!) SDK for WP 8



Fact: Windows Phone 8 runs in VirtualBox on the same Windows 7, but there is no mouse and network cursor, so it hasn’t yielded anything useful.

Good luck with this business! ~ Xlab

- UPD: If you had a bug with a binary
/src/application.rb:76:in `require_relative': cannot load such file — /src/chain (LoadError)
download the new version from github, fixed.

Also popular now: