Extract an msi before installing it. (like the ASP.NET MVC RC msi)

If you are like me, then you probably have quite a few projects going that are using the ASP.NET MVC Framework.  The team has been very good about giving us frequent releases over the past year.  Because of this, my company has been able to plan for this release in ongoing projects.  Because of this also, I, and my employees have projects that depend on the beta release of the ASP.NET MVC Framework.  When the RC is released in January, we will plan the migration, but since the MVC Framework comes in an MSI file, we prefer to consume the binaries in raw form to undergo migration testing rather than make the big jump by uninstalling the previous release and installing from the MSI. 

Because of our build system, it is easy for us to just plop the new assemblies into the "lib" folder and run the local build.  To go further, we can easily run our regression test suite as well, which includes WatiN tests running the system through its paces with over 1700 asserts.

In order to get at the binaries, I want to extract the MSI instead of installing it the first time around.  The following command will extract the MSI so I can get at the contents:

msiexec /a AspNetMVCRC-setup.msi
 
This command took a few seconds to complete, but when it completed, I clicked a "Finish" button, and then I was able to find the extracted files in the following path.
 
C:PFilesMicrosoft ASP.NET

By using this technique, I was able to check out the Release Candidate (internal MS build) without affecting my local GAC or Visual Studio templates.

1 comment

  1. @Gerry,
    Thanks for those grammar corrections. I have no excuse for those.
    I have a private build of the MVC framework that will soon become the RC. As an ASPInsider, I’m one of the folks that tries out and provides early feedback about the framework.
    Your concerns about the templates are certainly founded, and the extent of my usage of the binaries was to decide whether I wanted to uninstall the beta. Running my test suite, looking at them in RedGate’s Reflector, etc, is why I wanted the binaries before commiting to modify my GAC and the Visual Studio templates.
    Thanks for the comments.

Comments are closed.