Dmitry
Dmitry

Reputation: 7553

Creating desktop applications for Windows RT?

I've installed Windows Phone SDK 8.0 and there are no project types for desktop windows RT applications.

How can I develop this type of applications?

Upvotes: 2

Views: 12363

Answers (5)

jww
jww

Reputation: 102444

Creating desktop applications for Windows RT?

Technically, you cannot develop Desktop Applications for Windows RT. Its not officially supported by Microsoft. You can develop Store Applications for it, though. Store Apps used to be called Metro Apps, but Microsoft was exposed to legal risk with the name (see Microsoft to drop 'Metro' name for Windows 8).

For hacking around the restriction, see Can ARM desktop programs be built using visual studio 2012. However, your app will likely be rejected from Microsoft's Windows Store if you submit it.

...are no project types for desktop windows RT applications.

Windows RT is there - you want a Windows Store app:

Windows Store App

The Windows Store App project will define WINAPI_FAMILY=WINAPI_FAMILY_APP. It will have three platforms: X86, X64 and ARM. Windows RT Pro is X64. Windows RT is ARM. I'm not sure what X86 is classified as. For developers and engineers, its all just WINAPI_FAMILY=WINAPI_FAMILY_APP with three platforms. There's no difference between Pro and non-Pro under Visual Studio (some hand waiving).

For some good reading on WINAPI_FAMILY and platform detection, see Chuck Walbourn's three part series Dual-use Coding Techniques for Games.

With some hand waiving, the backend difference between Windows Phone and Windows Store is:

Windows RT uses the compiler located at

  • %VSINSTALLDIR%\VC\bin\x86_ARM\CL.exe

Windows Phone uses the compiler located at

  • %VSINSTALLDIR%\VC\WPSDK\WP80\bin\x86_arm\link.exe

Obviously, the paths change when platforms change. But the linker (link.exe) and other tools (like lib.exe) are in the same directory as the compiler.

The environment for Windows RT (ARM) is labeled Visual Studio 2012 ARM Cross Tools Command Prompt. You can find it at Start (what's left of it) → Program FilesVisual Studio 2012Visual Studio Tools:

enter image description here

The environment for Windows Phone (ARM) is labeled Visual Studio 2012 ARM Phone Tools Command Prompt:

enter image description here

Similarly, the environment for Windows Phone (X86) is labeled Visual Studio 2012 X86 Phone Tools Command Prompt; and Windows RT Pro (X64) is labeled Visual Studio 2012 X64 Cross Tools Command Prompt.

All the command prompts set the environment so INCLUDE, LIBPATH, PATH etc are ready for command line development. To date, that's all I have used because I have been porting libraries. I have not use Visual Studio for a project yet.

You will also want to look over Can ARM desktop programs be built using visual studio 2012 for the _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1 define.

Also see Jason Zander’s What you need to know about developing for Windows on ARM (WOA) on MSDN.

Finally, see Desktop apps ported to Windows RT on XDA Developers forum.

Upvotes: 4

Jeff
Jeff

Reputation: 2711

You can sort of hack Visual Studio 2012 and later to allow you to reference RT in windows desktop apps.

1.) Unload your project in Visual Studio

2.) Add a TargetPlatformVersion property to the project:

<PropertyGroup>
  <TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>

3.) Reload the project.

4.) Go to "Add Reference..."

5.) There should now be an additional Windows option on the left panel that allows you to add the Windows Core reference.

For more information see Using Windows 8* WinRT API from desktop applications

Upvotes: 2

Paras Wadehra
Paras Wadehra

Reputation: 478

Windows Phone 8 and Windows 8 are two separate products and require 2 separate SDKs to develop for. Windows Phone 8 runs on mobile devices only, while Windows 8 runs on desktops, laptops and tablets.

All you need to do to build Windows 8 apps is a machine with Windows 8 and Visual Studio 2012 installed on it. You can use the 90 day evaluation for Windows 8 Enterprise with the Express (free) edition of Visual Studio to build such apps. If you are a student you get full version of Visual Studio for free via the Dreamspark program.

Upvotes: 1

Kyle Everson
Kyle Everson

Reputation: 51

Windows RT is not associated with the Phone SDK - it comes from the main desktop development environment.

Microsoft does not allow desktop apps to be built for Windows RT. The RT desktop is limited to make the office applications work, but does not include the full windows functionality.

To develop windows 8 desktop apps, you use Visual Studio as you would have in the past for desktop apps.

To build a windows store app you would go under c# and select Windows Store. Tutorials located at Microsoft. There you will get a selection of templates you can build from to make your app. I expect these templates will also build apps that can run on a Windows RT device. (I haven't tested that though)

Upvotes: 5

Olivier Payen
Olivier Payen

Reputation: 15268

To develop Windows Store apps, you need Visual Studio 2012.

The Visual Studio Express that comes with the Windows Phone SDK does not have the templates for developing Windows Store apps.

Upvotes: 1

Related Questions