The official source of product insight from the Visual Studio Engineering Team
A few weeks ago at the Build conference, we released a release candidate of the second update to Visual Studio 2013. This update of Visual Studio contained significant new functionality including being able to create Universal Apps for both Windows and Windows Phone. To be able to target Windows Phone, developers need to use emulators which run the Windows Phone operating system within the developer’s Windows installation. These emulators are full virtual machines and are therefore quite large (hundreds of megabytes). While they are a necessary component for Windows Phone development, they are not necessary for all developers that want to take advantage of the other features in Visual Studio. Rather than make you wait for the setup to finish before you can start coding, VS 2013 spring update installs these emulators asynchronously. With this asynchronous installation feature, VS can complete the basics of setup, then continue downloading and installing other components in the background. We’re starting with the emulators, but we will be on the lookout for other capabilities that might lend themselves to this behavior. Here’s a quick look at how it works.
Before VS can asynchronously install a feature, we have to pick the features that are good candidates for being installed after the rest of VS is actually up and running. We do that by looking at aspects of the components such as download and on-disk size, the speed with which a component installs (for example, components that write to the registry a lot may install more slowly than components that don’t), and use patterns. Windows Phone 8.1 emulators are a good fit as they are large in size, install quickly (for their size), and are used after coding starts.
Once we’ve picked a candidate for asynchronous installation, we author setup and tell the setup engine to download and install the component separately from the rest of Visual Studio. Practically speaking, the asynchronous download UI appears as a minimized progress dialog after traditional setup completes. Asynchronous download uses a background network priority to minimize the effect on your other network activity. This download is robust to both launching Visual Studio and to restarting Windows.
Figure 1: Asynchronous download is seen as the second progress bar after traditional setup completes.
Once you use a part of Visual Studio that we partitioned for asynchronous setup, VS will invoke setup for that component and actually install it. For Windows Phone 8.1 emulators, one trigger will happen when you select F5 in a Windows Phone 8.1 project: When you select F5, you need to choose either a physical Windows Phone 8.1 or the Windows Phone 8.1 emulator. If you choose the 8.1 emulator, then you start to install the emulator. Because the emulator is already downloaded, it will take a few minutes to complete setup and continue. For Windows Phone 8.1 emulator we’ve found that most customers will experience a setup time reduction around 20 minutes (at average North American broadband speeds) by fetching the emulator in the background.
As always, we are reading your comments on this post, watching for issues in the Forums, listening to your suggestions on User Voice, tracking smile and frown Feedback, and reviewing any bugs you log on Connect
Robert Flaming - Program Manager, Visual Studio Modern Acquisition Experience
Robert started with Microsoft in 1997 and joined the Visual Studio team in 2012. Robert is focused on faster Visual Studio installs through telemetry analytics and new tailored experiences.
I don't want to sound off topic, yet is there an update on if Universal App templates will be available for VB in the final version? If not, is it possible to manually set this template up?
Good to know the VS setup experience is getting some improvements. I was installing the 13-megabyte Visual Studio 2013 SDK yesterday and it took a full 2 hours, no kidding. VS could take a cue from Office's click-to-run.
Please fix this as soon as possible... it's a serious problem preventing us from using VS2013 Update 2 RC:
@ Tristan Labelle
Thank you for your encouraging comments on these improvements to the setup experience. Yes, we also like aspects of Office’s click-to-run. In particular, the speed of click-to-run is certainly admirable.
I’m sorry to hear about your 2 hour install of a 13 MB SDK. This is certainly not our intended experience. Kindly consider filing a bug on Connect (http://bit.ly/connectvs) with logs from our log collection tool (http://aka.ms/vscollect) to help us diagnose the underlying problem.
I appreciate your extra effort to call to our attention this unexpected outcome. We continually strive to do better.
Does Windows Phone emulators will work on 32-bit editions of Windows 8.1?
Is it possible to develop Windows Phone applications and test / debug it real device without emulators installed?
When to expect final version of "Update 2"? First half of May 2014? Before end of May? In June? In July? In August?
Maybe "later this year" as usual? :)
While you are improving the setup experience, why not let the user choose what to install?, I don't want C++ or VB.Net on my machine, I'll recover some wasted space on my SSD and the setup will be faster.
Isn't it possible to skip these components completely? If I don't do mobile development, I don't need these emulators at all, not today and not tomorrow. An "asynchronous" setup seems unnecessarily complicated when you can just not install them.
Thank you for your interest in Windows Phone 8.1 experiences. I have collected the following responses from my peers.
Phone emulators on 32 bit? No. Emulators require Hyper-V, which requires 64-bit Windows.
Develop for Phone without emulators? Yes, you could use a device only. Most people don’t want to but it’s possible. Note that the WinPhone 8 tools won’t install unless it’s on 64-bit Windows. The WinPhone 8.1 tools will install on 32-bit Windows (except for the emulator).
When will Update 2 RTM? Correct, I do not have any dates to share. I hear it is close. Sorry I don’t have more to share.
@ Juan Zamudio
Thank you for your interest in increasing the user’s choice in what to install.
Yes, we are looking at further enhancements in this area. As you may already be aware, the top two ideas in the Install category on User Voice are variations on the idea of increasing the user’s choice. Just in case you haven’t already, I encourage you to add your vote to these ideas (visualstudio.uservoice.com/.../31045-install).
We do currently support more choice than is available directly on the “Optional features to install” screen of the install user interface. Kindly allow me to call your attention the unattended file solution as described in the MSDN topic “How to: Create and Run an Unattended Installation of Visual Studio” (msdn.microsoft.com/.../ee225237.aspx). With the unattend file, install respects the Selected state of a SelectableItem even if it is hidden. We find this solution enables power users to successfully tailor Visual Studio to their needs.
With asynchronous install, we are providing a further method for user choice: install when a feature is used. We see this capability as reducing the impact when a user makes too narrow a choice at first install. By updating the product on demand, the user’s Visual Studio experience grows to meet their evolving development interests and capabilities.
Thank you for your interest in controlling whether asynchronous install is exercised for you.
Yes, we have a command line switch to disable the download portion of asynchronous install. It will appear at the next publish MSDN topic “Installing Visual Studio” (msdn.microsoft.com/.../e2h7fzkw.aspx). Here’s the new command line options values I’m expecting to appear at the next publish.
Description: Prevents pre-population of the package cache.
After calling install with this command line option, the install triggers will still work. If you select a trigger for Windows Phone 8.1 emulator, then you will get a conventional emulator 8.1 install experience. The difference in the conventional and asynchronous experience is simply the wait for download.
Thank you for your reply.
WinPhone tools for 32-bit - that's what I needed to start develop for WP8.
Now just have to wait for RTM of this update.
How does this affect our context where IT does a "full install" of products such as VS, and end-users don't have admin rights and thus cannot install anything?
Thank you for your interest in how async install works with a full admin install. Yes, this full admin install will continue to work as it has before. There will be a conventional install of the emulator in this case.
The asynchronous install mechanism is written to test for a condition when a conventional install during Update is a better user experience. In the case of Windows Phone 8.1 emulator, the condition is when the Windows Phone 8.0 SDK has been installed. For your case where your admin installed full, Windows Phone 8.0 SDK was selected to be installed. In these full cases, Windows Phone 8.1 emulator is installed with the rest of Update.
As user of Visual Studio after your full admin install has been updated, you will not have to worry about the lack of permissions that come with a lockdown desktop.
Thank you for your persistent enthusiasm for the RTM of Visual Studio 2013 Update 2. I'm pleased to inform you that RTM is now live. The KB for the release is @ go.microsoft.com/fwlink.
thank very much nice to met you