A week of super releases

Microsoft's development team has been quite busy lately. Last week we saw the release of SQL Server 2008 and this week we have the Visual Studio 2008 Service Pack 1 and .NET Framework 3.5 Service Pack 1 released as well. There are a whole bunch of things in this release:

  • Bunch of bug fixes
  • ASP.NET Dynamic Data
  • ASP.NET MVC
  • SQL Server 2008 RTM support
  • Entity Framework
  • IIS 7.0 managed module templates
  • Tons of more stuff...

You can read about the new features of VS2008SP1 and .NET 3.5 SP1 for more details. You might also want to install and run the Visual Studio 2008 Service Pack Preparation Tool to ensure that any old SP betas and hotfixes are removed correctly before attempting to install the RTM version of the service pack.


Tags: , , ,
Categories: ASP.NET | Development | Microsoft | Rave

1 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

Nostalgia with VS 2008 SP1!

I just downloaded and started installing VS 2008 SP1 as mentioned in my last post. However, taking a look at the installer screen suddenly made my nostalgic. The installer has a fancy set of progress bars and text information - but snucked away at the right bottom below the second progress bar was a small 1-character label that displayed action happening in a completely different way. It cycles between the characters /-\| in a loop to make it look like a simple rotating line.

image

This was the same stuff that used to appear when one turned on the old IBM PCs in front of which I've spent a whole lot of time experimenting, playing, coding years back. At that time, there was no real GUI and everything was done from the DOS prompt. It was nice to suddenly see the old friend that showed the progress in a simple way despite having a ton of other graphical ways of showing it.

As an aside, on the old PCs, the progress rotation used to be slow due to the slow processing power of then's CPUs. But with today's power machines, this should have whizzed through so fast as to have been unnoticeable. This basically means that someone actually added in a small delay between each character in the loop to get this effect. Must be someone from my generation, I guess, who wanted to also have this effect for old times sake. Wink


Tags: ,
Categories: Development | Microsoft | Rave

14 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

HMC provisioning issue: Adding machine into default OAB CAS Pool in Exchange 2007

If you are installing HMC 4.5 and have reached the point of provisioning where you need to add the server name to the Exchange 2007 default OAB CAS pool, you need to provision the AddOABCAS.xml file.

However as the documentation says, you might receive an error even if you have followed the prior steps correctly:

Note: 
If you run into an error message indicating that EXCASOAB01 is not configured with a distribution point, use the Exchange Management Console to change the internal URL of the OAB distribution to a non-existing URL (for example, http://excas01.fabrikam.com/OAB), and make a copy of the original URL. Then, repeat the above procedure to add EXCASOAB01 into the default OAB CAS pool. After the addition is complete, change the internal URL of the OAB distribution back to the original.

There is a simple way of doing this from the Exchange Management Shell (aka PowerShell). Simply type the lines below to save the current URL and change it:

$oldUrl = Get-OABVirtualDirectory
echo $oldUrl.InternalUrl
Get-OabVirtualDirectory | Set-OabVirtualDirectory -InternalUrl <NEW URL HERE>

Go back to the Command Shell and run the provtest command to provision the AddOABCAS.xml file again. This time it should work. Now simply set the old URL back again in the Management Shell like this

Get-OabVirtualDirectory | Set-OabVirtualDirectory 
-InternalUrl $oldUrl.InternalUrl

Hope this helps


Tags: , , ,
Categories: Internet | Microsoft | Tips

6 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

Fix for MSI Error 1603 in WbH MPS Deployment on Single Server

The Microsoft Solution for Windows-based Hosting 4.5 is a set of services and tools that allow hosting providers to configure, deploy, provision, manage, monitor and update their servers to provide Web, Data and Collaboration hosting using the Microsoft platforms of IIS, SQL Server and Windows SharePoint Services. Wbh consists of a number of different infrastructure components including Automated Deployment Services, Active Directory, MS System Center, Windows Server Update Services and the Microsoft Provisioning System (MPS).

The MPS is the platform that allows the hosting provider to provision services - such as the Web hosting, Data hosting and SharePoint hosting for their customers using a simplified control panel front end. However, setting up the infrastructure of MPS is quite complex and requires 8-9 server just for the management infrastructure alone. I've been working with a large number of hosters in India for enabling them on the WbH platform and this turned out to be a major stumbling block for them - both in terms of number of servers to setup and the complexity of the procedure. Microsoft India then went ahead and asked me to create a proof-of-concept for deploying MPS on a single server for demo and low end usage scenarios. I decided to do this inside a Virtual PC and install everything within it.

The WbH solution requires Windows 2003 or Windows 2008. However, the MPS service can only run on Windows 2003. To install the MPS part of the WbH infrastructure you will need to download the following two components from the WbH Download Page.

  1. Service Provisioning.zip
  2. Samples.zip

Installing everything into a single machine/VPC requires some creative manipulation of the Deployment Walkthrough for MPS. I will be linking to a detailed walkthrough that shows how this can be achieved a little later. However, as the title of the post says, there is a showstopper error that comes a good way into the deployment process and solving it took a fair amount of time.

When you use the Deployment Tool to go ahead and deploy the MPS Core Platform and Hosting Platform they work fine. However, when you try to install the Business Web Service on the machine, you run into a major issue. you get an exception that says:

MSI log returned non-zero error code 1603

As soon as you get this error, the system rolls the deployment of this step back and you lose the Web application and the web services that were extracted. You can check the log file for MPSWebServices.msi in the c:\ConfigShare\log folder to see the cause of this error. Open the log file in Notepad and do a search for "value 3". Look at the line above this that says:

Error setting new DACL for: C:\WINDOWS\Temp

Now this error seems innocuous enough and you might think that giving Everyone, Full Control on c:\Windows\Temp will solve the issue. Unfortunately it doesn't. Nor does deleting the folder and recreating it, changing setting in Domain Security Policy or a myriad of other things that I tried. In fact, a bunch of searches on Live and Google did not get me any answers at all on this - other than some forum posts (here, here, & here) that detailed the same error but with no resolution. In fact, the last answer on the 3rd post linked says that it is simply not possible to provision MPS on an AD server.

Further investigation in the log showed me that there is a InstallHelper.vbs script that runs a bunch of commands that perform this deployment. Searching around everywhere did not get me this file. I did get a InstallHelper.msi that unfortunately only had a DLL file within it. Extracting the MPSWebServices.msi file got me the files of the Web services itself but the installation was not complete.

It was late at night when I finally found the fix to this issue. More...


Tags: , , , ,
Categories: IIS | Internet | Microsoft | Windows Server 2008

5 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

Office 2007 & the OOXML Test: The Real Interpretation

Recently Alex Brown of the ISO made a blog post regarding a test he ran on a Word 2007 DOCX (OOXML) file on the final standard of OOXML that was ratified by the ISO. Suddenly, the infamous Groklaw took up the results, mangled it out of proportion and came up with a sensational verdict of "Office 2007 itself fails the OOXML standard with 122,000 errors". Other news sites quickly picked this up and started reporting the same. I too was quite surprised with this result till I went over to the actual blog post and read through it myself, instead of trusting what Groklaw had reported. Let's analyze what's been said.

Very clearly, Alex states that:

The STRICT conformance model is quite a bit different from Ecma 376, essentially because most of that format's most notorious features (non ISO dates, compatibility settings like autospacewotnot, VML, etc.) have been removed. Thus the expectation is that existing Office 2007 documents might be some distance away from being valid according to the strict schemas [My emphasis --Vinod]

This basically means that since the format's specification has changed (due to the changes requested by many countries in the first round of voting after it was submitted), it can be expected that these changes wouldn't have gotten implemented yet. It's obvious if you think about it. Microsoft submitted the original specification for its OOXML format to the ISO. When countries decided that the specification requires a large number of changes, Microsoft went back, worked hard and incorporated those changes into the specification. Obviously they didn't spend time and effort in making those changes into the product itself before the specification was accepted - since for all they knew it might get rejected again or more changes could have been asked for.

So when there are 122K errors on the STRICT conformance model, it is to be expected - as Alex Brown very clearly states above. Somehow people tend to skip over that part for their own convenience. The really great part comes a little further down:

TRANSITIONAL conformance model is quite a bit closer to the original Ecma 376. Countries at the BRM (rather more than Ecma, as it happened) were very keen to keep compatibilty with Ecma 376 and to preserve XML structures at which legacy Office features could be targetted. The expectation is therefore that an MS Office 2007 document should be pretty close to valid according to the TRANSITIONAL schema.
Sure enough (again) the result is as expected: relatively few messages (84) are emitted and they are all of the same type
... [My emphasis again --Vinod] 

Reading this lets you know that a different conformance model also exists for working on a transitional format which contains a super set of stuff that the STRICT has and Office 2007 is expected to be compatible with it. And surprise, surprise, it sure is. There were 84 warnings that were generated on the same document using the TRANSITIONAL model - and they were all for an element

<m:degHide m:val="on"/>

which according to the specification should have been using "true" instead of "on" (and "false" instead of "off"). That's it - a simple little thing to fix isn't it? Now that the OOXML spec is becoming a standard, MS can go ahead and make the changes in the product to make it conform to the standard and apply it in any major Office 2007 update as well as in the next version of Office. And this is what the entire hullabaloo was about.

Basically I think it is time that news sites read the original source of any "news" and make interpretations themselves, rather than rely on obviously biased reports from sites like Groklaw or Slashdot. Anti-OOXML fanatics also need to get their act together and when they make a claim, substantiate it with actual facts rather than spewing fire and brimstone over nothing. You can also read a much more detailed analysis of this over at Doug Mahugh's blog and discuss it different forums.


Tags: ,
Categories: Microsoft | Rant

2 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

MS RD Global Impact Award

For the 2nd year consecutively I've received a Gold Level Global Impact Award for my work as a Microsoft Regional Director along with 46 other RDs who have received it as well. Silver and Bronze levels were achieved by 24 and 25 RDs respectively. Overall 96 RDs have gotten an award and all Rds continue to be influencers of technology worldwide.

I'm proud, honored and even humbled to be part of this great group.


Tags:
Categories: Microsoft | Personal

2 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

WideOpen Web: The Future is Just Beginning

Thanks to Kevin, our RD Dad, we had a (literally) closed door meeting with none other than Scott Guthrie himself. This was the first time I was meeting him and I found Scott to be a warm, friendly, funny, down-to-earth, and really knowledgeable guy.

We had a great open discussion with Scott - praising and criticizing Microsoft technologies and policies, asking him his thoughts on a number of topics, getting the inside scoop on the future roadmap and more. Unfortunately, all our discussion comes under our NDA and I can't say anything about what we talked about.

I will however leave you with this one thing - if you're a developer or designer in the Web world this is a great time for you. The stuff that is already here and the stuff that is coming up - both soon and in the longer term - will let you expand the boundaries of the way that the Web works and give your users a whole new way of working with it. Be sure to keep an eye on what Microsoft is doing in this space.


Tags: , ,
Categories: Internet | Microsoft | Rave

1 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

The Opening up of Microsoft

Many people consider Microsoft to be an extremely "closed" company - especially in dealing with the information being given out about their products. This is due to their reasoning that Microsoft does not release the source code of their programs.

I, however, have a slightly different take on this. Yes, Microsoft generally doesn't release its source code. But they do release a well documented API/SDK with each of their products along with a ton of sample code to get you up and running. And by my experience in the PCQLinux team, I can tell that this sometimes can be much more useful to end developers. The mess of code that I've seen in the so called "open source" world - no API, no documentation/comments, no architecture - just a bunch of lines of code hacked together to create what is needed at a particular point of time.

However, coming back to the line of the title, Microsoft has recently become very conscious about the need to not just be open - but also to be interoperable with other open products or technologies. Some of the things they have done (and starting about 2 years or so back) are:

  • Working closely with open source projects. SugarCRM, XEN and JBoss are the most well known of these collaborations.
  • Supporting Linux with Virtual Machine Additions on VirtualPC and Virtual Server
  • Working with Linux developers to make their distributions work perfectly with Hyper-V
  • Jointly developing FastCGI with Zend to give PHP (and possibly other OSS platforms, such as Perl) a much needed boost on IIS7. In fact, I would go so far as to say that PHP now works much better and has more abilities possible on IIS7 than on the LAMP stack
  • Getting two Microsoft open source licenses (MPL and MRL) approved by the Open Source Initiative (OSI)
  • Release of the Microsoft .NET Framework source code

Now MS has also gone and announced the Open Source Interoperability Initiative. This broadly allows open source developers to work closely with Microsoft products in the following broad areas:

  1. Open connections: including protocols, APIs, documentation access. Low cost royalty for patented items as well as a covenant not to sue any oss developers for non-commercial distribution of stuff using these
  2. Standards: Support and compatibility with open standards. Any extensions to the standards will be open and documented
  3. Data Portability: Opening up of data formats and also providing MS applications the ability to interact with open formats directly
  4. Engagement: Executive and customer level engagements

Overall, I think this is a great step forward. There will be of course many who crib. For instance, certain commercial Linux companies who have refused to have an amicable agreement with Microsoft will probably be the first to criticize this. While other ones who are agreeable to working together for the better interest of the end customer will probably see a lot of innovation coming their way since they will be able to now integrate well into the Microsoft world and vice-versa.

UPDATE

More...


Tags: ,
Categories: Development | Microsoft | Rave

1 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed