Do you like jeans, tee shirts, flip flops, or hoodies?

Do you like jeans, tee shirts, flip flops, or hoodies? Do you have a hoodie which you really love because it has a huge mustard stain? That’s probably a good thing. The staff of Nimbo feel the same way. One of the great advantages of working with us as a cloud architect is that we don’t have a formal dress code unless we’re working at a client site or a client is scheduled to visit us. How is that possible? Because our culture is awesome. Oh – and we have a clothing locker at the office which you can store your Sunday best in.

Send us your resume today at info@nimbo.com if you’re really good at .NET and willing to show us some of your thoughts on a whiteboard.

Nimbo is Hiring .NET and Microsoft BizTalk Architects

Do you want to work in a fun and friendly environment? Do you want to be surrounded by innovative people who will help you grow professionally? Do you have a passion for the cloud, .NET, or Microsoft BizTalk server? If so – we would like to talk to you. Email us at info@nimbo.com and tell us a little about yourself!

How to Use the ADO.NET Entity Data Model Designer (Entity Designer) to Import a Stored Procedure

Hello,

In this article, I will describe how to use the ADO.NET Entity Data Model Designer (Entity Designer) to import a stored procedure.

When a stored procedure is added to a conceptual model, it is called a function import. Adding a function import allows you to call the corresponding stored procedure from your application code. A function import can return collections of simple types, EntityTypes, ComplexTypes, or no value.

When the Entity Data Model Wizard generates an .edmx file from a database, it creates entries in the storage model for each stored procedure in the database. Corresponding entries are added to the conceptual model when function imports are created.

Creating a Function Import

The procedure below describes how to create a function import. For information about calling a function import from application code:

  1. Right-click the Function Imports folder (in the EntityContainer node of the conceptual model information) and then select Add Function Import.
  2. The Add Function Import dialog box appears.
  3. The steps above are displayed in the image below.

  4. Fill in the settings for the new function import
    • Specify the stored procedure for which you are creating a function import in the Stored Procedure Name field. This field is a drop-down list that displays all the stored procedures in the storage model. If the desired stored procedure is not available, you may need to update your storage model
    • Specify the user defined name of the function import in the Function Import Name field.
    • Specify one of the four basic return types: None, Scalars, Complex, or Entities, and select the specific return type from the available drop-down list.
      1. None: specifies that function returns nothing.
      2. Scalars: specifies that function returns scalar value.
      3. Entities: specifies that faction returns entity type value.
      4. If you choose Complex, the Entity Designer can create a new complex type with properties that correspond to the columns returned by the stored procedure.
        • Click Get Column Information to retrieve column information.
        • Click Create New Complex Type.
        • Edit the name of the complex type in the Complex drop-down list
    • (Note: When you click OK, a new complex type is added to the conceptual model and the return type of the function import is set to this new type.)

  5. Click OK. The FunctionImport entry is created in the conceptual model.

How to Use the Imported Function in an Application using C#

The following information described how to use the imported function an an application using the C# programming language:

The following code executes a check_Login stored procedure where userid is a required parameter.

// Specify the userid.
// SchoolEntities used here is reference for entity name. 

int userid = 2;
SchoolEntities context = new SchoolEntities();
If(Context.check_Login(userid)>;1);
{
Console.WriteLine (“userid: ” + userid);
Console.WriteLine (“User exists. “);
}

- Pravin Jape

Running Classic ASP Pages in Windows Azure

Running classic ASP pages in Microsoft Windows Azure isn’t allowed by default. To get around this you need to add the ISAPI extension to handle .asp pages. There is a neat feature in Windows Azure that allows you to run startup tasks on Azure Roles. These roles are generally used to add extra things to the VM which hosts the Azure instance that aren’t installed by default, such as this case – classic ASP.

  • In Microsoft Visual Studio, navigate to the Windows Azure Cloud project that you intend on using to place the classic ASP page(s) in to Windows Azure.
  • Open the ServiceDefinition.csdef file

The steps above are shown in the image below:

  • Add the following code in the file, directly after the WebRole tag:
  • <Startup>
    <!–This is to enable classic ASP–>
    <!–EvaluatedContext means run as Admin –>
    <!–taskType=simple ‘wait until command finishes’, foreground = ‘dont exit until thread has finished, until the role goes down’, background = ‘long running, run forever’–>
    <Task commandLine=”startup.cmd” executionContext=”elevated” taskType=”simple”></Task>
    </Startup>

The steps above are shown in the image below:

  • Open up the ServiceConfiguration.cscfg file, and change the osFamily version to “2

The step above is shown in the image below:

  • Next, add the startup.cmd task at the root of the Azure WebRole project.
  • Note: The best way we’ve found to do this is to create a batch file outside of Visual Studio and quickly add it in to the project. You can do that by creating a new notepad document in the directory of your solution, then saving is as startup.cmd. Make sure that you’re displaying the file extensions – or you might accidentally end up with a file called startup.cmd.txt which wouldn’t be fun for anyone.

  • In the startup.cmd file, enter the following text: start /w pkgmgr /iu:IIS-ASP

The steps above are shown in the images below:

  • Next, you must add the startup.cmd file to the output directory so that the Azure WebRole will pick it up. In order to do this, you simply modify the properties of the startup.cmd rile (Right Click startup.cmd, Properties) and change the Copy to Output Directory to Copy always.

The steps above are shown in the images below:

Some additional thoughts:

  • You can use startup tasks to run PowerShell, C# code.
  • Code these tasks to be idempotent, i.e. handle the fact that they may have run already.
  • Use diagnostic tracing to track the progress of each start up task.
  • Run the task locally in your development environment before deploying it to the cloud. To simulate properly, run these locally as the AUTHORITY\SYSTEM runas user.

- John Shaw

How to Install the Windows SDK for Windows and .NET Framework 4

Hello,

In this article I will explain how to install the Windows Software Development Kit (SDK) for Windows 7 and .NET Framework 4.

According to Microsoft, the Windows SDK provides tools, compilers, headers, libraries, code samples, and a new help system that developers can use to create applications that run on Microsoft Windows. You can use the Windows SDK to write applications using the native (Win32/COM) or managed (.NET Framework) programming model.

Note: System Requirements are Outlined below:

Supported Operating Systems: Windows 7, Windows Server 2003 R2 Standard Edition (32-bit x86), Windows Server 2003 R2 Standard x64 Edition , Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP Service Pack 3

  • Platform architecture: Install this SDK on and/or create applications for platform chipsets X86, X64, and Itanium.
  • .NET Framework: Create applications that target .NET Framework versions 2.0, 3.0, 3.5, 4.
  • Visual Studio: Use the resources in this SDK with Visual Studio versions 2005, 2008, and 2010, including Express editions (Not all features work with all versions of Visual Studio. For example, you cannot use the .NET 4 tools with Visual Studio 2008.)

Installing the Windows SDK

The steps above are highlighted in the three images below:



  • On the Windows SDK Setup Wizard screen, click Next

The step above is highlighted in the image below:

  • On the End-User License Agreement screen, review the license agreement, select the check ox for accept the terms in the License Agreement and click Next

The step above is highlighted in the image below:

  • Select the folder which you’ll install the Windows SDK to (Note: it is recommended to keep the default folders)

The step above is highlighted in the image below:

  • On the Installation Options screen, select the options you wish to install and click Next

The step above is highlighted in the image below:

  • On the Begin Installation screen, click Next

The step above is highlighted in the image below:

  • Wait for the Installation Progress screen to complete

The step above is highlighted in the image below:

  • On the Installation Complete screen, click Finish

The step above is highlighted in the image below:

- Ira Bell

How to Deploy a Windows Azure Application

Hello,

This article explains how to deploy an application in Windows Azure. Further, the article explains how to use the configuration file to change the number of instances and allow the application to use an azure storage instance.

If you haven’t signed up for a Windows Azure account, you can do so at the following link by clicking the Sign up now button:

Note: All images in this blog posting are click-able and will open up new windows showing the details in high resolution.

Creating a Windows Azure Storage Account

  • Log in to the Windows Azure Management Portal by using your Windows Live ID as shown in the image below.

  • Click New Storage Account as shown in the image below.

  • Choose a new for the new storage account as shown in the image below (for this example I’ve chosen thespacerace

Putting the Storage Key in the Azure Service Configuration File

  • Click View next to the Primary access key as shown in the image below.

  • Click the Copy to clipboard button next to the Primary access key text box as shown in the image below.

  • Click Yes to accept the warning that the Silverlight application wants to access your dashboard as shown in the image below.

  • Open up Notepad and paste the Primary access key as shown in the image below.

  • Download the MyTodo Azure application zip file from the following link: (Click here to download the application)
  • Unzip the MyTodo.zip file in to a folder
  • Browse to the folder and right click the ServiceConfiguration.cscfg file, select Open With, and select Notepad

The steps above are highlighted in the image below:

Next I’ll want to modify the ServiceConfiguration.cscfg file to specify the number of instances I want to create as well as the uniquely identifying storage account we created previously.

  • Change the Instance Count from 1 to 2 (note: in the image below the instance count is one – but you will want to change this to the number 2)
  • Edit AccountName=[INSERT] to reflect AccountName=nameofstorageaccount (I’ve used thespacerace as shown in the image below).
  • Edit AccountKey=[INSERT] to reflect AccountKey=accountkeygoeshere (I’ve used omvQW7… as shown in the image below).

Uploading the Application and Service Configuration File

  • In the Windows Azure Management Portal, click Hosted Services then click New Hosted Service as shown in the image below.

  • Enter a name for your service (I’ve chosen thespaceracemytodo).
  • Enter a URL prefix for your service (I’ve chosen thespaceracemytodo).
  • Select your region or affinity group (I’ve chosen Andromeda Quest Version 1).
  • Select the package file entitled MyTodo.cspkg from the directory where you unzipped the download.
  • Select the configuration file entitled ServiceConfiguration.cscfg from the directory where you unzipped the download (note: this should be the file you edited in the earlier steps).

The steps above are highlighted in the image below.

The Windows Azure Management Portal now shows that the application is being uploaded, as shown in the image below.

One the application is completely ready, the status will show as ready for both instances. Notice how the environment for the application is currently in staging. This is because we didn’t change the radio button when we were uploading the application. In order to change from the staging environment to the production environment, you simply click the Swap VIP button.

The information above is highlighted in the image below.

  • Click the OK button to approve the change as shown in the image below.

The Windows Azure Management Portal now shows the application in the Production environment. This is displayed in the image below.

Accessing the application

To access the application, simply click the application version in the details pane and the link will become available on the right. The link displayed in my application is http://thespaceracetodo.cloudapp.net. The two instances are currently awaiting a connection. This information is displayed in the image below.

Once I click the link shown, the application loads. You can see that decided that I needed the following things if I was going to enter the space race on a quest for Andromeda:

  • Acquire a rocket ship…
  • Build a robot…
  • Learn an alien language…

The information above is shown in the image below.

- Ira Bell

How to Use a Custom Domain with a Windows Azure Storage Account

Hello,

In this article, I will explain how to use a custom domain name with a Windows Azure Storage Account. This article assumes that you’ve already signed up for Windows Azure account and have a domain name which you own or are able to manage at the registrar level.

If you haven’t signed up for a Windows Azure account, you can do so at the following link by clicking the Sign up now button:

Note: All images in this blog posting are click-able and will open up new windows showing the details in high resolution.

Creating a Windows Azure Storage Account

The first thing you’ll need to do once you’ve signed in to the Windows Azure Platform management portal is to create a Storage Account.

  • On the left side menu, click Hosted Services, Storage Accounts & CDNs
  • Then, on the top menu click New Storage Account

The steps above are highlighted in the image below:

Next you’ll need to enter a name for the URL which will become your identifying method of connectivity for your storage account.

  • For this example, I entered nimbostorageaccount
  • Then I selected my closest region which happens to be North Central US

The steps above are highlighted in the image below.

At this point the management portal will change to display some key highlights:

  • Your new storage account will show a status of Created
  • The URLs for Blob, Table, and Queue appear on the right
  • Access to your access keys becomes available by clicking the View buttons

The details above are highlighted in the image below:

Adding the Domain to the Windows Azure Storage Account

This process requires you to access two separate websites to initiate an authorization to use your domain. The first website is the one you’re currently working in. The second website is your domain registrar (for Nimbo it’s currently GoDaddy.com). You’ll need to have administrative access to your registrar and understand how to access the area where your DNS is managed. If you don’t know that information – you can simply call your registrar and they’ll provide instructions or simply make the change for you.

  • Ensure that the storage account is highlighted in the center details pane and click Add Domain (located in the top menu)

The step above is highlighted in the image below:

  • Type the custom domain name in the text box (for this example I’ve entered nimbostorage.nimbo.com) and click OK

The step above is highlighted in the image below:

The management portal will display two items which you need to document. Since one of the items is too long to memorize, I’ve found that it’s best to cut and paste these in to something like notepad so i can finish working with them and quickly forget they exist.

The information above is shown in the next two images:

At this point, you’ll need to log in to your domain registrar’s website and access the area where your DNS is managed. The objective here is to create a CNAME record. I found a good resource for adding domain names (click here for the article).

The image below displays my registrar showing the newly entered CNAME and Points To entry in the DNS manager.

  • Click Validate Domain in the top menu

The step above is highlighted in the image below:

At this point, the custom domain will display Allowed and the name you specified will appear as a link on the right side of the management portal as shown in the image below:

- Ira Bell

How to Create an Application in the Cloud Using Windows Azure

Hello,

In this article, I will explain how to quickly create an application in the cloud using the Windows Azure platform. This article assumes that you’ve already signed up for Windows Azure account and that you’ve also installed Microsoft Visual Studio 2010 with the Windows Azure SDK.

If you haven’t signed up for a Windows Azure account, you can do so at the following link by clicking the Sign up now button:

Note: All images in this blog posting are click-able and will open up new windows showing the details in high resolution.

Creating the Application in Visual Studio 2010

In order to begin creating your application for the cloud, you’ll need to open up Microsoft Visual Studio 2010. It’s recommended to launch Microsoft Visual Studio 2010 with administrator privileges by right-clicking Microsoft Visual Studio 2010 and clicking Run as administrator, however, I’ve tested the steps in this article without doing this and everything worked correctly. This is probably due to the fact that my user account for the development machine is a member of the local administrators group. Nonetheless, when you’ve got Microsoft Visual Studio 2010 open – conduct the following steps so you can brag to your friends:

  • On the File menu, click New, and then click Project
  • Under the Installed Templates tree on the left, select Cloud
  • Select Windows Azure Project and then name your project and solution. I’ve chosen Nimbo-Hello-World as my project and solution name as shown in the image. Further, I’ve elected to keep the default location of the project which is in the Visual Studio 2010\Projects folder of My Documents

The steps above are highlighted in the image below:

  • In the left section which displays the available roles, select ASP.NET Web Role
  • Click the right arrow to move the selection in to the Windows Azure solution box and click OK

The steps above are highlighted in the image below:

  • To modify Default.aspx, open Solution Explorer. If Solution Explorer is not visible, from the View menu, click Solution Explorer. Within Solution Explorer, expand WebRole1 and double-click Default.aspx.
  • For this exercise, I have changed the header to Cloud Computing Application and also inserted some text which says This is a cloud computing application!. You can place anything you want here. For more a more advanced implementation – you could display an image which you’ve got stored in Windows Azure BLOB Storage. However, for this article we’re simply going to get a basic application going.

The steps above are highlighted in the image below:

A this point, you’re ready to compile and run the application. There’s not much (if anything) to debug here – so we’ll skip that part. The steps below show the process of how to do this.

  • Click Debug in the top menu.
  • Click Start Without Debugging.

The steps above are highlighted in the image below:

The development storage is initialized as shown in the image below (simply click OK):

As you can see, the application runs locally in the Windows Azure Compute Emulator. This is displayed in the image below:

Close Internet Explorer (or whatever browser is open and running the application) and have a look at your project in Microsoft Visual Studio 2010. In the Solution Explorer there are two files displayed which are called ServiceConfiguration.cscfg and ServiceDefinition.csdef. The .csdef extension is for cloud service definition files. The .cscfg extension is for cloud service configuration files. At a high level, the ServiceDefinition.csdef file contains metadata used by Windows Azure when hosting your application, including, for example, which roles are in your application. The ServiceConfiguration.cscfg file provides configuration settings for your application as well as the number of instances to run for each role. You don’t need to do anything with these files at this time.

The details in the above paragraph are highlighted in the image below:

Deploying the Application to Windows Azure

The next step is to publish the application. There is an option to do this straight to Windows Azure, but for this article we’re going to utilize the process of publishing the application in the form of local files and then manually uploading them to the Windows Azure Development portal. In order to do this, complete the following steps:

  • Right click the name of your project (for my example I will right click Nimbo-Hello-World
  • Click Publish

The steps above are highlighted in the image below:

  • Select the Create Service Package Only radio button and click OK

The step above is highlighted in the image below:

Once you’ve published the project as a Service Package, Visual Studio will create two files in the bin/Debug/Publish directory of your specified Project location when you created the New Project in the earlier steps.

The details in the above paragraph are highlighted in the image below:

Next, you’ll need to log in to the Windows Azure Development Portal.

The details in the above paragraph are highlighted in the image below:

Sign in with your Windows Live ID as shown in the image below:

Click the Hosted Services, Storage Accounts & CDN on the left menu, select the subscription you will use for the application in the center section, and then click New Hosted Service on the top left of the screen.

(Note: If you have not installed Silverlight you’ll need to do so to use the latest version of the Windows Azure Development portal. Your browser should notify you of this, however, if you want to manually download Silverlight you may do so at the following link: http://www.microsoft.com/getsilverlight/Get-Started/Install/Default.aspx)

The details in the above paragraph are highlighted in the image below:

On the Create a New Hosted Service screen, complete the following steps:

  • Enter a Name for your Service (for this article, I’ve entered Nimbo-Hello-World)
  • Enter a URL prefix for your Service (for this article, I’ve entered Nimbo-Hello-World)

  • Select a region (for this article, I’ve selected North Central US
  • Select the Deploy to stage environment radio button in the Deployment Options menu
  • Ensure the Start after successful deployment check box is selected

The steps above are highlighted in the image below:

Scroll down if the full menu isn’t displayed and complete the following steps:

  • Enter a name for the deployment in the Deployment Name text box (for this article, I’ve entered Nimbo-Hello-World
  • Select Browse Locally in the Package location section, and browse the the location of the *.cspkg file which is located in the bin/Debug/Publish directory of your specified Project location when you created the New Project in the earlier steps (for this article, I’ve selected the Nimbo-Hello-World.cspkg file)
  • Select Browse Locally in the Configuration file section, and browse the the location of the *.cfcsg file which is located in the bin/Debug/Publish directory of your specified Project location when you created the New Project in the earlier steps (for this article, I’ve selected the ServiceConfiguration.cfcsg file)
  • Click OK

The steps above are highlighted in the three images below:

The next step in this process is to accept the warning message Windows Azure displays. The reason for this is that by default, the configuration of your application only has one instance of the web role defined (this setting is contained in the ServiceConfiguration.cscfg file). There’s no point in paying for additional instances at the moment because this is an application which does not require additional performance or a higher SLA.

The details in the above paragraph are highlighted in the image below:

The next steps of the process are where Windows Azure receives the files you’ve selected for upload, processes them, and kicks off the instance. Since we’re dropping this in a staging environment – the URL (or DNS Name) Windows Azure creates for the application will be something long and not easily identifiable. When you deploy the application to production (not covered in this article – although quite easy) – you’ll be able to access the application by browsing to a more easily readable URL.

The details of the above paragraph are displayed in the four images below:

Once the status for the application displays as Ready across the board, you can click the DNS name as shown in the above image and you’ll be able to access your Windows Azure Cloud Application. (Note: This process takes time. You may experience a wait time of 10-30 minutes before the application shows as being completely ready. This would be an excellent time to take a break and do something fun.)

The details of the above paragraph are displayed in the image below:

- Ira Bell

Interview with Ira Bell, CIO/COO of Nimbo on Microsoft Windows Azure

Recently Ira Bell, CIO/COO of Nimbo, was interviewed by Dr. Matt Fullerty, resident professor at George Washington University, on his experiences with Microsoft Windows Azure. Have a look at the dialog below:

Q: What types of projects have you been involved with that utilize Windows Azure?

We’ve been working in projects ranging from enterprise messaging to database migrations. The interesting and very real thing about the cloud is that it welcomes all shapes and sizes as part of its core value proposition. Some of the solutions we’ve been working on are for multi-billion dollar companies while others are for small startups.

Q: Explain your first experience/impression of Windows Azure.

I have to say that I feel like I’ve actually had loads of ‘first experiences’. It seems like a regular occurrence when someone on my team shows me something new and innovative that they’re doing in Windows Azure and it feels new and shiny all over again. Looking back, I think the thing that stuck out the most to me was the ability to deploy a Visual Studio solution straight to the cloud without worrying about creating any infrastructure. With enterprise customers it’s always been such a challenge jumping through the hoops to prepare the infrastructure for a solution. With a typical on-premise implementation you’re often buried in infrastructure architecture designs, change requests, maintenance plans, business continuity plans, and disaster recovery plans. With Windows Azure you can usually skip all of that and just focus on delivering the solution that the customer requires. The cloud is really changing the way we think about Information Technology.

Q: What is the biggest challenge you have run into with Windows Azure and how did you resolve it?

I think the biggest challenge with any new technology is to understand exactly where the strengths and limitations are. Even though I feel that Windows Azure is the best cloud platform at the moment, there are certainly special considerations we’ve needed to take when we implementing solutions. What we’ve done in situations where we’ve found limitations is to reach out directly to the Microsoft Windows Azure product team to explain our challenges. When we are able to express real world integration issues to the Windows Azure team – it genuinely helps them to shape and mold the platform to better serve customers. We’re proud to be on the front lines and also have such a wonderful relationship with Microsoft.

Q: What business need(s) have you personally seen resolved or improved using the Windows Azure Platform?

I’ve seen several, but the two that stand out the most are Return on Investment (ROI) and scalability. We’re creating solutions for some clients in Windows Azure that are essentially paying for themselves by reducing the overhead of the burden of infrastructure or removing the man in the middle. We’ve heard the phrase which states that the ‘cloud is a disruptive technology’ and I agree with that. However, I think it’s relevant to modify that a bit to that and say that the ‘cloud is disruptive to traditional business overhead’. In addition to the two pieces I just mentioned – there are so many other subjective costs we mitigate, such as integrity of data and overall risk to an organization.

Q: In your opinion, how has the product evolved since its release last year?

I feel like Windows Azure is evolving every day. The community buzz around the platform has seen tremendous improvements. This is valuable because when we see an increase in interest in a technology – the documentation always becomes better. We’ve also already seen a new administration portal released recently which greatly improved the user experience for architects and developers. Further, I’m really impressed with the way SQL Azure has been progressing. The idea of a relational database management system in the cloud is truly stunning to me.

Q: As an owner of a Cloud Integration company, how do you think Windows Azure has changed the Cloud Computing landscape?

When I look at Windows Azure, I see it as a non-discriminatory platform that provides a lot of value. The idea that Microsoft took an agnostic development language based approach to Windows Azure was such a wonderful change to the traditional way of thinking. We can speak with customers who have been running their organizations on open-source technologies or other non-Microsoft based technologies and comfortably show them that Windows Azure is a platform which provides them with an astounding amount of value.

Q: What is your greatest “Ah-ha!” moment involving Windows Azure?

I really feel like it’s such a great thing to have your business processes living in a fully secure environment which you don’t have to worry about maintaining. The idea that architects and developers can now spend 100% of their time focusing on things they are passionate about, rather than worrying about core infrastructure issues, is something that has been making me smile a lot as of late.

Q: Do you think the release of Windows Azure has affected Nimbo in any way?

Absolutely. We’re passionate about cloud computing. Windows Azure provides us with an ability to build solutions using methods which were never possible before.

Q: Are there any industries that benefit more than others from the Windows Azure Platform? Please explain.

That’s quite difficult for me to say at the moment. One tends to see the world as his own heart is. With that being said, I think that all industries stand to benefit from the cloud. If I was to be partial to what I’ve specifically seen, I would say that I’m quite impressed with the advancement in the Healthcare space with the Windows Azure Platform. We’ve been creating some solutions that are really changing the way organizations in Healthcare are conducting business.

You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5.

When I was attempting to install SQL Server 2008 R2 on Windows Server 2008 R2, I was notified that the installer required Microsoft .NET 3.5 SP1 (Service Pack 1). The notification message states that I should visit http://www.microsoft.com/net to download and install the .NET 3.5 SP1 Framework.

Note: All pictures are click able and open the high resolution version in a new window.

The information outlined in the paragraph above is displayed in the image below:

Unfortunately, this will not resolve the issue. When you attempt to manually download and install the Microsoft .NET 3.5 SP1 (Service Pack 1) Framework on Windows Server 2008 R2, you will receive an error message that says “You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1″.

The information outlined in the paragraph above is displayed in the image below:

To correct this issue, you simply need to enable the Microsoft .NET 3.5 Framework from within the Features section of Server Manager. The steps are outlined below:

1. To open Server Manager, click the Start button on the menu bar, right click Computer, then click Manage. The image for this is provided below:

2. In Server Manager, click Features on the left then click add features on the right. The image for this is provided below:

3. Check the check box for .NET Framework 3.5.1 Features. The image for this is provided below:

4. Agree to add the required role services and features for the .NET Framework 3.5.1 by clicking Add Required Role Services. The image for this is provided below:

5. At this time, the check box for the .NET Framework 3.5.1 Features is selected. You can then click Next to begin the installation. The image for this is provided below:

6. On the Introduction to Web Server (IIS) screen, click Next. The image for this is provided below:

7. Verify that the .NET Extensibility check box is selected by default, and click Next. The image for this is provided below:

8. Click Install to finish the installation configuration and begin the installation. The image for this is provided below:

9. Wait for the progress bar to complete with the expected results. Please note that you’ll need to have local administrator rights to get past this step, or you’re get an error message. Additionally – the User Account Control (UAC) can give you issues during this time. I’m not a big fan of this feature so I simply disable that for Administrators with every server I work on (as long as my client’s infrastructure policy permits). The image for the progress bar on the installation is provided below:

10. Once the installation has completed, click Close and you’re all set. Notice the warning message in the image below about Windows Automatic Updating not being enabled. You’ll see this quite often – as most folks use different products to manage updates on production servers – such as Microsoft System Center Configuration Manager. The image for the completed installation is displayed below:

In case you were wondering why this happened – it’s because Windows Server 2008 R2 ships with the .NET 3.5.1 framework.

- Ira Bell