@rfreytag: Ha! Turtles all the way down, indeed. It's just a matter of time before we're running VMs inside of VMs inside of VMs ... VM Inception. Glad you got it figured out.
@rfreytag: I don't know the answer, but here's where I would start if I were in your shoes ... First, how much physical memory do you have in the machine? Second, pop open Task Manager (right-click on the Windows Task bar and select Task Manager). Go to the Performance tab. How much of your memory is utilized:
a) When in Visual Studio in Design time
b) When you F5 Run Debug the WVGA 512K
c) When you F5 Run Debug everything else
Perhaps the message isn't intended to be understood that Hyper-V is capped out ... maybe it's the other way around ... maybe Hyper-V *wants* to give more to the VMs, but your physical memory is capped out. So, are you running out of memory? You might look at other processes that are hogging memory while you're attempting to do this?
@Snooker: Hi Snooker, I'll help if I can ... I'm NOT a hardware guy so I have to rely on my research skills.
Commenter @TTom (above) said that only i3/i5/i7 supports SLAT. That's not necessarily true. READ THIS LINK CAREFULLY and DOUBLE CHECK WITH WHOEVER SOLD YOU THAT COMPUTER because only certain non-i3/i5/i7 processors support it:
Also, read the comments below that article ... someone (@gadya) suggests that it's not JUST the processor, but the motherboard / chipset may need to support it as well. I know in my case, the Asus z77 Sabertooth has the BIOS settings I needed listed there ... so that's a BIOS thing, not a chip thing. They may have a point there.
So, pin down the manufacturer and try to get them to give you a definitive answer ... if they can't, you'll have to decide whether to risk it or go with something that advertises SLAT to be on the safe side. Hope that helps?
@Doctor Who: I don't know about cheap / free versions of VMWare. I'm using the Mac version and have kept it updated ... I think I purchased it for $50? Obviously, having an MSDN license is part of this equation, too, or at least having access to the Windows OS you need, VS, SQL Server, etc.
Obviously, if you have an MSDN license ... or more specifically a Windows 2012 license, you already have access to Hyper-V.
Of course, if you have an MSDN license (perhaps your company purchased one for you) then you might think about running VMs on Azure for (essentially) free -- you get Azure credits ... $50 / month at a minimum. I've been playing around with Azure VMs for the past week ... it's really awesome. They even have VMs that are preconfigured with Visual Studio 2013 (Ultimate) Preview ... I haven't tried Phone development on an AZURE VM but in general, you could create a dozen VMs with various configurations, save them off, then spin up a copy when you have a new project and only pay for the time it's running. You just use Remote Desktop ... so I guess a good internet connection would be valuable, too. Admittedly, I haven't gone quite this far for my personal workflow, but it's the next step from what I'm doing right now.
Heck, running a quad core with 7 GB ram (Large instance) and Visual Studio 2013 ULTIMATE would only cost about $2.88 for an 8 hour day:
... no new hardware or software to buy. Yeah, ok, that's like $57.60 **IF** you keep one running 8 hours a day, Monday through Friday, for an entire month. I rarely get to code that much. So, .36 / hour ... that's a pretty good "rental fee" if you ask me.
(While I was writing this reply, I tried this out ... I have a pretty fast internet connection through Verizon Fios with 83 mbps down / 34 mbps up ... even so, there's a tiny lag when you type, but other than that, a gratifying experience. The whole setup took 10 minutes from login to the Azure portal to the point where I wrote a Hello World ASP.NET app).
@UmerNamdar: Ah, cool. Thanks for your support.
@Doctor Who: I'm sorry you're having problems with the install. I'll readily admit ... It took me several tries, and that's what prompted such a thorough (attempt) at explaining what you should and shouldn't do ... clearly, my personal experience only scratched a few of the challenges and not the full breadth of the challenges involved.
First to address the "Pro vs. Non-Pro" issue ... the "Windows Phone SDK 8.0" download page:
... the System Requirements section says the following:
System RequirementsSupported Operating System
Windows 8, Windows 8 Pro
- Operating system type:
- Windows 8 64-bit (x64) client versions
- 6.5 GB of free hard disk space
- 4 GB RAM
- 64-bit (x64) CPU
- Windows Phone 8 Emulator:
- Windows 8 Pro edition or greater
- Requires a processor that supports Second Level Address Translation (SLAT)
What I clearly failed to do in the video / article was to make a clear distinction here with regards to the requirements. I apologize for not making this crystal clear. I'm going to make this clear in the article portion hoping that people from now on will read it before making any purchase decisions. Technically, yes, you can install the SDK on a non-Pro edition of Windows 8 64-bit, however PRACTICALLY you will want the Pro edition for the emulator.
Second, your current issue seems to be around permissions. I realize what I'm about to suggest will violate the principle of least privilege access, however, is the account you're running under also part of the Administrators group? I'm wondering if there are *other* privileges required that were not mentioned in the error messages you received. I suppose I could look at my machine and list out all the groups I'm a part of. Is there anything I could do to help?
This is why I finally decided to purchase the physical OEM of Windows 64-bit Pro. I actually wasted several hundred dollars trying to get this right. Fortunately, I had just built a new physical machine so it made sense. I bought a second physical OEM of Windows 64-bit pro for my VM which I used to record these videos.
While I'm at it, let me tell you what I do as a developer who has grown tired of constantly having to work through various configurations of Windows, Visual Studio, SQL Server, etc. I use VMWare and keep my primary operating system pristine. In fact, for each new project, I copy a pristine VM and set it up for that project. I'm aware that this is probably in violation of ToS, but I hope Microsoft forgives me ... I pay for all my software. I have a 2TB drive that stores all my current project VMs. It's extreme, but again, I've not had configuration conflicts in years as a result.
- Operating system type:
@Asenchuk: Unfortunately, I think you did miss something. "truthy" and "falsey" are just literal string values. I could have used "Bob" and "Clint" instead. The important thing here is that this is a short cut for an if statement. The expression between the opening and closing parenthesis ( ) is evaluated. If the expression evaluates to true, then the first value (to the left of the colon : ) will be returned. If the expression evaluates to false, then the second value (to the right of the colon : ) will be returned. In this case, as you wrote "It looks like what you write at the end of statement eventually returns as a result?" ... because the expression is hard coded to FALSE! If we hard code that to true:
myResult = (true) ? "truthy" : "falsey";
... the first value (in this case, "truthy") would always be returned. Perhaps the example is so mundane that it is easy to miss the point. I would recommend re-watching that part of the video and listening to what I say there. Good luck!
@DavidDilley: Thanks for watching and writing. Yes, the center tag is a prime example of what I talk about in this series ... the intent of HTML5 changed dramatically from where it began. If you can think of the computer programming principle of "separation of concerns", then it will make your transition easier. Ask yourself "Did this old tag represent CONTENT or DESIGN?" If the answer is "design", then there's probably a replacement for it using CSS3. Good luck!
@Shen Zhongwei: Admittedly, I could have said that more cleanly, but I actually did mean "relative values" there. In other words ... a padding / margin value is expressed as a pixel value because it pads / provides a margin for two widths / heights belonging to two objects (in this example, Rectangle objects, but it could be text boxes, pictures, etc.) Example: the phone has a fixed width on its screen, but different phones have different fixes widths. I can specify that two Rectangles on my form should take up half (50%) of the width ... BUT ... I want some padding between the Rectangles so you can see two "boxes", not one. In order for the layout manager to decide how much width to give each Rectangle, it has to know the overall width minus any fixed widths for margin / padding. Now that it knows the ABSOLUTE widths, it can calculate the RELATIVE widths.
I suppose the designers of the layout manager could have said you could create relative widths for padding and margin and they could still do some calculations to figure out some equitable way to split all that width between the rectangles and margin / padding, but they didn't. So, what I said was a bit clumsy, but still accurate.