Mixing Server Core with .NET Applications (
Page 1 of 5 )
Windows Server 2008 Server Core offers many new possibilities for developers, but first, you have to get your .NET application to run on it.
Microsoft has introduced a new version of Windows, Windows Server 2008 Server Core. The Server Core edition differs from every other version of Windows in that it doesn’t provide a GUI of the kind that Windows usually has. When you start Server Core, what you see is a command prompt and that’s it. There’s no Desktop, and no Taskbar, no icons floating about. In fact, you’ll find that Server Core lacks support for a number of GUI features such as the common dialog boxes, which means that you can’t even save files in some applications. The biggest lack of all is .NET Framework support. Consequently, your .NET applications won’t run on Server Core—at least, not yet. So, why am I even writing about this operating system? It doesn’t appear to offer anything to you as the developer.
Server Core, the Mark of Efficiency
ADVERTISEMENT
First, let me say that I think Microsoft has created a remarkable version of Windows in Server Core. This version runs faster, uses fewer resources, and fails less often than any other version of Windows I’ve ever used. I’ve pushed my Server Core box harder than any other version of Windows and it hasn’t died on me yet. Not only that, but because of the way Microsoft designed Server Core, it’s nearly impossible to attack it successfully. Yes, if you really try, you can infect a Server Core box, but the attack surface is considerably smaller. The lack of GUI applications is the big thing here; many attack vectors currently rely on a GUI to get the job done and Server Core doesn’t have one.
Last week, I discussed how to create .NET applications that work at the command prompt (see http://www.devsource.com/c/a/Add-Ons/Win-Command-of-the-Command-Line-Interface). Well, it turns out that Server Core is the perfect environment for working with .NET applications that have a command line interface. You can perform some really interesting tasks at the command line in Server Core. The only problem is that Server Core does have that lack of .NET Framework support, which would seem to make using any .NET application impossible. Supposedly, Microsoft is in the process of creating a light version of the .NET Framework. Unfortunately, I don’t have a date to offer you for its release.
There’s an alternative to using the .NET Framework directly, however. You can use a product called Mono (http://www.mono-project.com/Main_Page). The neat thing about Mono is that you can also use it to make your .NET applications work on Linux or the Mac. Consequently, anything you learn while working with Server Core and Mono also applies to these other platforms, making it possible for you to create a .NET application that works anywhere.