First look at Windows Simulator

First look at Windows Simulator

Rate This
  • Comments 23

Many friends of mine have been asking me what my team is working on these days. I finally have an opportunity to share with all of you the really cool stuff we’ve been working on for the past many months.

My team built the Windows Simulator enabling users to debug Metro style apps for Windows 8 in a Windows environment.

There are three primary ways to debug a Metro style app.

  1. Local Machine
  2. Remote Machine
  3. Simulator

Primary Usage Scenarios for Windows Simulator

There are certain features and traits in Metro style applications that helps them stand out compared to classic windows applications. For a better understanding of Metro style applications, I strongly recommend viewing the BUILD session by Jensen Harris on 8 traits of great Metro style apps before you start writing any Metro style applications.

The Windows Simulator is really handy when you need to verify how Metro style applications measure against these traits. I will introduce them here briefly and later we will have a detailed blog post on each of them.

  1. Touch Emulation
  2. Rotation
  3. Different target screen resolutions
  4. Contracts

Under the hood

Under the hood the Windows Simulator is a Remote Desktop Session into your local machine.

Developers need to be careful while modifying the state of the operating system in the Simulator because any changes in the Simulator will be reflected on the local machine itself. Multiple instances of Visual Studio and Expression Blend share the same instance of the Windows Simulator.

Using Simulator to debug Metro style applications in Visual Studio

To debug an Metro style application using Windows Simulator, Open the application project in Visual Studio and choose Simulator from the debugging options in the Visual Studio toolbar.

image

Or you can enable Simulator from the Debugging tab of Project Property Pages.

properties

After selecting Simulator to debug the application, simply press F5 or start debugging from the tool bar to launch a Metro style application in the Windows Simulator.

Here is a screenshot of a JavaScript Grid Application running in the Simulator.

image

To stop debugging choose "Stop Debugging" from the Debug menu of Visual Studio.

Using the Simulator from Expression Blend

Open the project in Expression Blend and then switch to the Platform panel and choose the Simulator as the Deploy target.

image

Then press F5 to launch application in Windows Simulator.

Touch Emulation

This feature is very useful to test Touch responsiveness for the application on developer machines that do not have touch devices. The Simulator supports single finger touch, tap and hold, pinch and zoom, and rotation. The touch controls are available in the Simulator Palette.

image

To switch out of touch emulation mode and back into mouse mode, select the mouse pointer. To learn more about Touch Emulation, see this blog entry.

Rotation

Metro style applications should support Landscape and Portrait modes. Visual Studio templates are pre-configured for default behavior for landscape and portrait modes.

Without using an actual tablet device it is not easy to test the application in Portrait and Landscape mode. The Simulator is your friend here.

It is very easy to test the Landscape and Portrait modes using the rotation controls on the Simulator Palette.

image

Multiple screen Resolutions

Windows 8 can run on PCs of different screen sizes and Resolutions. Metro style applications should adjust to accommodate various screen sizes and resolutions. Using The Simulator it is very easy to test applications for different screen resolutions. You can use the "Change Resolution" button on the Palette to choose a resolution. The availability of resolutions in the Palette depends upon the supported resolutions of your video card.

image

Contracts

Almost all the contracts in Metro style applications disappear once they lose focus or hit a breakpoint in debugger. It is not possible to debug contracts on your Local Machine without the Simulator. The Simulator is running a different desktop session, so when a breakpoint is hit in the debugger it does not result in a loss of focus in the simulator session.

I hope that you will find Simulator handy in time of need :), please post comments if you have any questions or feedback.

To learn more about developing Metro style applications for Windows 8 I highly recommend following //BUILD presentations.

8 traits of great Metro style apps
Platform for Metro style apps
Tools for building Metro style apps

Thanks,
Navneet Gupta
Software Design Engineer, Visual Studio

Leave a Comment
  • Please add 2 and 8 and type the answer here:
  • Post
  • Please use following email address to contact me directly <myfirstname>.<mylastname> at microsoft dot com.

    Thanks,

    Navneet Gupta

  • For "Unable to start simulator, the current operating system version is not supported by Windows Simulator" issue

    Please try the solution suggested at following connect page and suggest if it works for you.

    connect.microsoft.com/.../i-can-t-debug-javascript-of-win8-metro-app

    There is a bug in how the simulator gets initialized when running on a machine that was upgraded from Win7 to Win8. There is a simple workaround.

    1. Open Regedit

    2. Set this registry key to 1 - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyChildConnections

    3. Run the simulator as an administrator. You can right click the simulator and run it from here: C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Simulator\11.0\Microsoft.Windows.Simulator.Service.exe

    4. After you run it once as administrator, it will be initialized properly and you can run as normal user after that.

    This issue has been fixed for RTM.

  • Hi Navneet,

    The problem with the simulator in my machine is that it never launches. The 'starting simulator' dialog with the loading bar keeps running forever. I am dual-booting Release preview 64bit with Windows 7 Home Premium and running Visual Studio 2012 Express RC.

    Thank you

  • hi,

    i am also facing the same problem as navaneet. I tried with registry change and run as admn.But still having the issue

  • How do i get a simulator

  • Upgraded from Windows 7 to Windows 8, Feb. 1, 2013.  I'm using Intel x86.

  • good article

  • Can an app be launched in the simulator at startup? For example something like:

    C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Simulator\11.0\Microsoft.Windows.Simulator.exe" --launch MyApp

Page 2 of 2 (23 items) 12