Articles from Tools/Utilities

Boot to VHD: Create VHD from GUI

By Michael Flanakin @ 8:05 PM :: 42 Views :: 0 Comments :: Technology, Tools/Utilities :: Digg it!

Windows 7

I've mentioned how to create a new VHD from the command line, now let me mention how you can create a new VHD from the Windows GUI.

  1. Open Computer Management (Start > Run… > compmgmt.msc)
  2. In the left pane, select Storage > Disk Management
  3. Right-click Disk Management, click Create VHD
  4. Specify VHD settings and click OK
    • Location -- the path where you want to save the VHD
    • Size -- specify a size smaller than what's available on your system
    • Format -- choose dynamic sizing to slowly grow to the full disk size (what I'd recommend) or fixed, if you want to just allot the space outright and avoid potential out-of-space problems
  5. In the main, center pane, right-click the label on the left for the new, unknown/unallocated disk, click Initialize Disk
  6. Click OK
  7. In the main, center pane, right-click the main disk space visualization, click New Simple Volume...
  8. Click Next
  9. Click Next
  10. Click Next
  11. Specify a volume label, click Next
  12. Click Finish
  13. Put Win7 or Server 2008 R2 DVD or bootable USB drive in
  14. Restart your computer
    NOTE: You'll need to be sure you can boot using the necessary device in BIOS settings (obviously)
  15. Press any key to boot from CD or DVD
  16. When the Install Windows screen is shown, press Shift+F10
  17. Type d:, press Enter
  18. Type diskpart, press Enter
  19. Type select vdisk file="d:\machines\win2008r2.vhd", press Enter
    NOTE: Windows re-assigns your primary drive when running thru the installer. In all of my tests, C: was re-assigned to D:.
  20. Type attach vdisk, press Enter
  21. Type exit, press Enter
  22. Type exit, press Enter
  23. Click Next
  24. Click Install Now
  25. Select desired OS (server only), click Next
  26. Check I accept the license terms, click Next
  27. Click Custom (advanced)
  28. Select Disk 1 Partition 1: <label>, where <label> is the volume label you applied in step 11
  29. Click Next and continue to install the operating system as you normally would 

After rebooting, Windows Boot Manager will give you an option to boot into either the host or guest OS instances.


Boot to VHD: Create VHD from Command Line

By Michael Flanakin @ 6:40 PM :: 849 Views :: 2 Comments :: Technology, Tools/Utilities :: Digg it!

Windows 7

Virtual PC is great. Well, it's ok -- it does the job. There's a better way, tho, and that better way is to just get rid of the host OS... or, ask the OS to politely let you get by for a while. That's exactly what Windows 7 does by enabling you to boot into a VHD.

Scott Hanselman Syndicated feed blogged about booting from a VHD in more detail, but I wanted to break it down into discrete steps. For simplicity, I'm going to start from scratch, creating a VHD from the command line.

  1. Put Win7 or Server 2008 R2 DVD or bootable USB drive in
  2. Restart your computer
    NOTE: You'll need to be sure you can boot using the necessary device in BIOS settings (obviously)
  3. Press any key to boot from CD or DVD
  4. When the Install Windows screen is shown, press Shift+F10
  5. Type d:, press Enter
  6. Type md machines, press Enter
  7. Type diskpart, press Enter
  8. Type create vdisk file="c:\machines\win2008r2.vhd" type=expandable maximum=50000, press Enter
    NOTE: Be sure to set a maximum your machine can support; Windows will temporarily expand the VHD to that size when you boot into it
  9. Type select vdisk file="c:\machines\win2008r2.vhd", press Enter
  10. Type attach vdisk, press Enter
  11. Type exit, press Enter
  12. Type exit, press Enter
  13. Click Next
  14. Click Install Now
  15. Select desired OS (server only), click Next
  16. Check I accept the license terms, click Next
  17. Click Custom (advanced)
  18. Select Disk 1 Unallocated Space (...GB)
  19. Click Drive options (advanced)
  20. Click New, then Apply
  21. Click Format, then OK
    NOTE: If you see a "Windows cannot be installed to this disk..." error, ignore it.
  22. Click Next and continue to install the operating system as you normally would

After the installation completes, Windows Boot Manager will give you an option to boot into either the host or guest OS instances. Gotta love it!


Silverlight 3 Tools Offline Install

By Michael Flanakin @ 11:30 AM :: 0 Views :: 0 Comments :: .NET, Development, Tools/Utilities :: Digg it!

Silverlight

Ever try to install the Silverlight dev tools in an environment with "filtered" or even no access to the internet? If so, you've probably taken a look at the errors in the log and seen the following error:

Error from JobError Callback : hr= 0x80190193 Context=5 Description=HTTP status 403: The client does not have sufficient access rights to the requested server object. . Percentage downloaded = 0

For some tools, like .NET 3.5 and 3.5 SP1, there's an offline installer available on their respective download pages. Unfortunately, the Silverlight dev tools don't have that. I major oversight, if you ask me, but what can you do? Note that this was a problem with Silverlight 2 and 3. I haven't heard anything about a fix for the future, but I have to think they realize the work-around is ridiculous. Enough of my blabbering, tho...

  1. Download and save the Silverlight 3 Tools for VS 2008 SP1 to your desktop
  2. Create a new sltools directory on your desktop
  3. From a command prompt, run silverlight3_tools.exe /x to extract the files
    NOTE: You can also use a tool like 7-zip to extract the files
  4. Specify the directory you created in step 2
  5. Download and save the Silverlight Developer Runtime to the sltools directory
    NOTE: My problem was that the Sl Dev Runtime is at a blocked URL, so you may have to download it offline and bring it into your environment
  6. Run sltools\SPInstaller.exe to perform the actual installation
  7. Delete the sltools directory

That's it. Not hard, but annoying.

Tim Heuer Syndicated feed has a similar blog post for Silverlight 2, but I wanted to share this because the developer runtime is in a new location. I'm still trying to figure out what the full URL is, so I'll update this if I get a chance to figure that out.

Update: Thanks to the Bob Pomeroy Syndicated feed from the Silverlight team for helping me get the direct URL for the Silverlight 3 developer runtime.


Comparing Virtual Earth and MapPoint Web Service

By Michael Flanakin @ 2:04 PM :: 268 Views :: 0 Comments :: Development, Tools/Utilities :: Digg it!

When I need to create a geospatial visualization, Virtual Earth is my default answer. When talking to someone who's been in this space for a while, he mentioned the MapPoint Web Service. I initially assumed this was a legacy offering that Virtual Earth replaced. Apparently not. Tatham Oddie has a very nice high level comparison to at least help you determine which makes the most sense in a given situation.

  Virtual Earth MapPoint Web Service
Map Styles Road, Aerial, Birds eye Over 30 different styles (optimised schemes for night viewing, etc) however no aerial imagery
Integration style JS control (best for embedding in web pages) SOAP web service (usable anywhere)
Interface style Drag and drop positioning, scroll wheel support, interactive pushpins, AJAX based. Roll your own (it returns an image and you have to work out what to do with it).
Pushpin support You create them all yourself on the fly using API calls – any clustering / filtering optimizations have to be done manually. Can upload pushpin sets to their databases and they will handle plotting / clustering and filtering.
Routes Specify a start point and an end point and they’ll give you a route in text. End of story. Specify the waypoints, preferred road styles (back roads, highways, toll roads, non-toll roads) and it will return a machine readable result set.
Cost Free (commercial use has some minor restrictions) Per transaction
SDK documentation and support Basic MSDN docs, active community (www.viavirtualearth.com) Plenty of MSDN docs and articles, including VS.NET integrated help and plenty of websites (www.mp2kmag.com)


A Plea for IE

By Michael Flanakin @ 10:28 PM :: 322 Views :: 0 Comments :: Technology, Microsoft, Predictions, Tools/Utilities, User Experience :: Digg it!

Internet Explorer

Microsoft is out to prove a point with Windows 7. I can see the message clearly: "See, we can deliver on time; and earlier than most expected. And to top it all off, we did so without drastically changing the OS. That 'polished' OS you're looking at... yeah, it's Vista; 'Vista-point-1' to be exact. Sure, we tweaked it; but that's just to prove another point: Microsoft software isn't about bloat." I could probably go on for a while, but the signs are all there. Sinofsky has done a great job taking the Windows team under his wing. I've been very happy with some of the decisions they've made. As a matter of fact, I'm hoping to see some of the same changes on other fronts. Enter Internet Explorer.

IE8 is a big flop in my book. Don't get me wrong, it's my default browser and I love the enhancements; but it's just hiding the real, underlying problem: the foundation. I apologize for the analogy, but you can only mold a pile of crap so many ways before it just starts falling apart. Arguably, the same can be said about Windows, but Windows 7 has really given it a refresh. It's hard to explain how much better Windows 7 feels. I have to say I'd liken it to the first day I got Windows Vista, to be honest; but the key differentiator there is that I had quality hardware that was up to the challenge and no legacy software or devices to be concerned with. I'm not the "normal" user, of course, and I feel bad for those who had bad experiences. It's not because the software is bad, it's because your circumstances around which you experienced it were wrong. Not that Microsoft isn't to blame, tho; but I'm getting way off topic. It's time for a major change with IE.

I remember seeing some early concepts around IE8. At first glance, I was confused at a few of the ideas -- I'm thinking of one in particular -- but after I paused to really mull it over, it hit me. The power users would have at their fingertips would be astounding. There's a common root to the booming growth of Google and Firefox. This is exactly what Microsoft would've seen with this feature. Guess what: that feature never saw the light of day. As a matter of fact, I don't even know that it made it past that slide deck. Admittedly, the idea was rough, but it had some real potential. What's funny is that I just read something about the same concept being applied to another browser. *sigh*

Before IE8 beta 1 hit the streets, I saw another slide deck about what would be included in IE8 and 9. At first, I was excited, but it didn't take long for that to wear off. I actually began to question some of the decisions. There was (once again) one feature loved, but then I started to wonder if it even made sense. Depending on whether the team takes a left or a right out the gate will be the deciding factor for that feature... if it's still even a possibility. IE8 was pushed back so much that the IE9 time frame and feature set is completely out of the picture for what I saw. It's too bad; I was looking forward to a few quick revs. At the same time, this could be perfect timing.

Windows 7 is on the way, with rumors of April and May release candidates culminating in a June, July, August, September, October, November, or January final release date. It's pretty clear nobody has a good clue of the actual release date, but there is one constant in all the confusion: simplicity and performance are the two driving tenets in Windows 7. These two factors are huge for usability and, furthermore, perceptions. So, when I think about what to expect in IE9, I'm looking for both of these: simplicity and speed. IE8 is a dog on some machines. We've seen JavaScript benchmarks and "everyday use" benchmarks that all tell us different things, but it all comes down to our individual experiences... and perceptions. For IE to be a contendor, it needs to clean up its act. I want a sleek, sexy browser. It's not Firefox; it's not Chrome; and it sure as hell isn't Safari or Opera. I'm not saying each isn't functional, I'm just saying there's a lot to be desired.

Opera's doing it's thing, although I'm not sure why it even bothers; Apple's giving Safari on Windows a go, but not doing well; Google's got juice, but I don't think they have the right talent-mix to succeed; and Firefox is leading the pack against IE, but hasn't really made any significant innovations and is growing more by perception than anything. Microsoft (read: IE team), the browser market is yours to lose [which you're doing]; but it's also yours to dominate. Take a step back. Review the history books. There is one constant in what drives the up-and-comers of today. See that and feed into it. The world is asking for simplicity, speed, and all-around usability. IE8 isn't the answer. IE9 could be. You can do better. I know it; you know it.


Visual Studio 2010 Will Make You More Productive

By Michael Flanakin @ 10:41 AM :: 401 Views :: 1 Comments :: .NET, Development, Tools/Utilities :: Digg it!

Visual Studio

Whether you've heard about Visual Studio 2010 and .NET 4.0 or not, you should really be watching the 10-4 show on Channel 9 Syndicated feed. As you have probably guessed, the show talks about what to expect in Visual Studio 2010 (version 10.0) and .NET 4.0. The episodes I've seen cover things like ASP.NET, AJAX, parallelization, and overall enhancements to the VS IDE. Admittedly, I'm behind a few episodes, but that's just par for the course While each of these has been valuable on its own, I have to specifically call out episode 5, Code Focused in Visual Studio 2010. This episode talks about three things: code navigation, test-driven development (TDD), and extending the VS editor.

These first two areas, code navigation and TDD enhancements, are taking a page from the Resharper bible. If you haven't used Resharper, yet, you're seriously missing out. Resharper is the one VS add-in I can't live without -- GhostDoc isn't too far behind, tho. The first thing we're getting is the ability to highlight all references of an variable. This doesn't sound all that exciting, but it's really nice to see without having to look, if that makes sense. To top it off, you can bounce between these references with simple keyboard shortcuts.

Bouncing between variable instances is neat, but let's take it up a notch. If you're digging into new code, figuring everything out can be a true feat. To help us move down this path, VS10 is giving us the ability to view the hierarchy of calls related to a specific method/property. The call hierarchy tells you everthing that calls your code block and what your code block calls. This is going to make understanding code a lot easier. We're still short of my desired end-goal of having an automatic sequence diagram generated, but at least we're making steps in that direction.

From a productivity perspective, one thing I love about Resharper is that, if I need to open a file, I don't need to know where it is, I simply need to know its name. VS10 is bringing this to everyone. A simple shortcut, like Ctrl+T, and a dialog pops up, waiting for you to type in the file name. You can type a partial name, mycla to get MyClass.cs, or use the Pascal-casing and type MC to get MyClass.cs or MyComponent.cs. Pay attention to how much time you spend in the solution explorer. Imagine cutting that in half, if not more.

The TDD-based enhancement really isn't about TDD, but it does support TDD very nicely. Basically, the idea is, when you're writing code, you want to dig in to the real logic, not go around creating domain objects and data access layers. To support this, you just start typing. If you need a customer class, you just reference it in code. VS will tell you it doesn't know about that class, but this is where the feature comes into play: it'll give you the option to generate it. The same thing happens when you add properties and methods. VS will generate the stubs for you. This lets you focus on one method at a time, without having to divert focus to figure out how third party code needs to work. This is all about decreasing the noise, in my opinion, which is very hard to do sometimes.

The last thing the episode covers is something most people will probably underappreciate: the new WPF-based editor. Despite what people think, this isn't about flashy graphics. Nobody wants text to fly across the screen as we type it. There are two concepts here: (1) simple animation can go a long way to enhance user experience; and, (2) WinForms is now a legacy technology and WPF provides so many enhancements that it just makes sense to bring this to developers, making it easier to build and extend on the #1 development environment in the world. Everytime I think about this, I fall back on Resharper. Now that it's so easy to do amazing things with the editor, what is the Resharper team going to be able to give us? What is the community going to be able to give us? I can't wait to find out.


ReSharper Nightly Builds: The 4.5 Saga

By Michael Flanakin @ 11:31 AM :: 1016 Views :: 0 Comments :: .NET, Development, Tools/Utilities :: Digg it!

ReSharper

JetBrains started work on ReSharper 4.5 recently; but, more importantly, they just made nightly builds available online. I've said it before and I'll say it again: this is the best Visual Studio add-in I've seen... and I'm not the only one who thinks so. I'm a huge productivity geek and ReSharper helps feed my addiction to speed... as in quick. JetBrains won't give you drugs. Although, ReSharper may seem like it, when you work on a machine without it. Development without ReSharper is somewhat analogous to drug withdrawals... cold sweats, lots of twitching, and wondering if you'll be able to finish in time. Okay, maybe not, but I do dread life without it.


MSDN Subscription: January 2009

By Michael Flanakin @ 8:21 AM :: 511 Views :: 0 Comments :: Tools/Utilities, MSDN Subscriptions :: Digg it!

MSDN

The following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for January 2009.

Servers

  • Disc 4614 / Part X15-28400
    • Microsoft Customer Care Framework 2009 (English)
    • Microsoft Desktop Optimization Pack 2008 R2 (English, Portuguese-Brazil, Chinese-Simplified, Chinese-Traditional, French, German, Italian, Japanese, Korean, Russian, Spanish)

Applications

  • Disc 3099.02 / Part X15-28380
    • Hyper-V™ Server 2008 (Chinese-Hong Kong S.A.R., Chinese-Simplified, English, French, German, Italian, Japanese, Korean, Portuguese-Brazil, Russian, Spanish)
    • Microsoft Virtual PC 2007 (English, French, German, Italian, Japanese, Spanish)

For more information, see the MSDN Subscriptions Index.


WPF and Silverlight (XAML) Tooling

By Michael Flanakin @ 10:51 AM :: 862 Views :: 2 Comments :: .NET, Tools/Utilities, User Experience :: Digg it!

WPF/Silverlight XAML

If you haven't played with either WPF or Silverlight, you first need to understand the tooling we have available: Visual Studio, Blend, and Design. Most people don't consider Expression Design, but I'd argue that it's perhaps the best way to get started, depending on what you're doing. This is probably common sense, but if you haven't played with each of the tools, you may not realize how valuable each is to your end goal.

Any developer will most likely want to start with Visual Studio. Try it. You'll find yourself wondering where to start. If you're an old school web developer, like me, you'll stare at the XML code and wonder what to type and finally fall back on the toolbox. If you're a drag-and-drop type (either Win or Web Forms), you'll probably go directly to the toolbox. In either case, you'll most likely find it useful to tweak both the designer and XML... well, that's not completely true. If you're comfortable with XML, you'll eventually stop using the designer because it's just too much of a pain to deal with in Visual Studio. Visual Studio is the best environment [today] if you want to modify markup or code. Don't choose Visual Studio if you're a drag-and-drop type of developer. No matter what type of developer you are, however, you'll find yourself wondering if there's a better way because it just doesn't "feel" right. This is when you'll begin to wonder about that "Blend" thing you heard about.

If you're proficient in Flash development or claim the "designer" moniker, you'll probably start with Expression Blend. Blend is the best tool to build an interface along with some key interaction details (read: animations).  The problem with blend is, there's absolutely no intellisense in XAML, which I find ridiculous. And, just to put salt in the wound, you can't even edit code (C# and VB) files with the tool. This really drives in the fact that the tool is intended for no-code applications. These don't exist. In my experience, Blend will become less and less useful over time. Why? Because you'll start to realize you can't do everything in XAML and will have to move some things to code. This, in conjunction to run-time bindings in XAML will render the Blend design-time experience useless. Visual Studio is the same in this aspect, but it just because apparent that you'll prefer the intellisense, since you'll want to work with the XAML. Unlike Visual Studio, tho, you'll find yourself tweaking the designer more than the XAML. Coding isn't the only thing that will take you out of Blend, tho.

Let's face it, most people start looking at WPF and Silverlight because they want glam. They want beautiful applications with all kinds of frou-frou animations and transitions. This drives me crazy, but I'm not surprised. Choose WPF and/or Silverlight not because it can be pretty, but because it's the next generation user interface technology. This means, if you're building a new Windows application, don't even look at Win Forms. WPF is the way to go. Microsoft hasn't said it, but Win Forms is dead to me. If you have an existing app, I'd recommend you start looking into interop scenarios. Whether you're looking at WPF and/or Silverlight as the next gen platform or not, you're still going to want that glam I mentioned. This is when you should take a look at the often ignored, red-headed step-child of the Expression suite.

Today, Expression Design is a vector graphics editor. Don't expect to switch to Design for raster images (i.e. GIF, JPG, PNG) -- which is what I was hoping to do -- you'll find yourself missing crucial capabilities. I keep Paint.NET on hand for these needs. Design is best used to build creative visual interfaces. I've used it to theorize and bring certain design elements to life. You might do this with windows, buttons, and other framing elements, for instance. I simply find Design to be a better interface for adding glam to my user interface. Note that I'm not referring to animations. Use Blend for animation; use Design for static visual elements, like rotation, embossing, and the like.

To sum it all up, here's what I believe a WPF/Silverlight project should looked like.

  1. Know the difference between graphic and interaction design. Essentially this is the user interface vs. user experience debate, it's important to know the difference for staffing purposes. There is a difference and it's substantial. Don't assume that a graphic designer can architect an ideal interaction or vice-versa.
  2. Get a graphic designer. Unless you have an eye for graphic design, you won't be getting the eye candy you're probably looking for. If you have a passion for this, but it isn't your calling (like me), you might be able to get there eventually, but your time is probably better spent elsewhere.
  3. Get an interaction designer. The fact that we have dialog after dialog and click after click proves how important this one is. I'd argue this is more important than a graphic designer, but I might be biased. The good news is, this can be learned a lot easier than the artistic nature of graphic design. Don't think you can get there without dedication, tho. There are some scientific guidelines, but I have yet to see a good roadmap. It's more about opening your mind and removing yourself and what you might do from the process.
  4. Design is the graphic designer's scratch pad. Whether you start with wire-frames or set your sights on the real deal, Design is great for slapping something together that will eventually be useful. Tweak and tweak and tweak until you get something that looks right. Then, export to XAML.
  5. Blend brings your design to life. Now that you have your XAML, you'll probably need to tweak it to make it slightly more human-readable and maintainable as well as do some initial bindings and animations. This is where three worlds collide. Graphic designers will feel awkward in Blend, but will still be able to be relatively production; interaction designers don't really have a tool, so it will depend on where they came from, but Blend is arguably the best place for them to get started; and, developers are typically more code-focused, so Blend will be awkward for them, too. The bottom line is, Blend isn't the perfect tool for anyone, but it does fill a need. Use it to add interactivity to your design.
  6. Visual Studio gets the job done. When you're ready to make your app do something real, open it in Visual Studio. Arguably the worlds best development environment -- although not without its flaws -- you know why you're here. 'Nuff said.

As a developer who is very comfortable with markup, I've found that this has changed for me over time. I still believe it's a great workflow that supports some moderate back-and-forth -- at least, between Visual Studio and Blend -- but my habits have changed over time. As I've become more and more familiar with XAML, I tend to create visual and interactive effects in Design and Blend, respectively, and then just look at the XAML to figure out how it's done. Occasionally, I'll open my app in Blend, but not too often. This just depends on how big of an effect I'm trying to implement.

The bottom line is, get some experience in all three of these tools. You'll find your own comfort zone. It may include the all-too-bloated and usability-hating Photoshop with a XAML exporter instead of Design or augmenting XAML editing with a light-weight tool like XamlPadX or Kaxaml. No matter what you grow into, know there will be growing pains. WPF and Silverlight have a huge learning curve, but you're buying into the future. The curve is there for a reason, but will hopefully be lessened as the tools improve. I'm also hoping for some major improvements in .NET 4, but I'll try to touch on that later.


VS Team Edition for IT Admins

By Michael Flanakin @ 5:43 PM :: 212 Views :: 0 Comments :: .NET, Tools/Utilities, PowerShell :: Digg it!

PowerShell

Yes, I said "admins," but, unfortunately, this isn't an announcement. I'm simply thinking of a version of Visual Studio built for, well, admins. Specifically, I'm envisioning an environment to build and debug PowerShell scripts and cmdlets. Of course, this is only a hop, skip, and a jump away from PowerShell as an official .NET language. Imagine that, PoSh.NET... or, would someone force it to be P#? Either way, I like the idea. As an official language, that also opens it up to compiled scripts, which would be great for those servers without PowerShell installed. Of course, it's just a matter of time before PowerShell is default and the legacy DOS shell is eventually phased out. As a matter of fact, that's the plan for Windows 7 and Server 2008 R2. I'm not sure about Server Core, tho, since there's still the dependency on .NET.






Archives Archives

Categories Categories

Related Links Related Links