Here goes nothing.....

Well, here I am with my first blog entry. First, a little bit about myself.....I've been working at Microsoft for almost 5 years. The first 4 and a half years were spent on the Visual Studio and .NET Framework setup team. During that time, I've gained a lot of random knowledge about Windows Installer, OCM-based setups that form the basis of OS installation, hACkME setup, etc, etc. I also gained an understanding of how the setup developer thinks, including how to work around limitations in existing installers and how to get bits on a machine by any means necessary. Above all though, I develped an understanding and empathy for the pain that Microsoft customers face as they try to implement setup and deployment solutions for our products in their corporate, education, individual, and redistributable environments.

While on the setup team, I helped ship Visual Studio 2002 and 2003 and the .NET Framework 1.0 and 1.1. My proudest accomplishment was my leadership role in porting the .NET Framework setup from MSI to INF for inclusion as part of Windows Server 2003.

Along with this knowledge, I've also accumulated a wide range of pet peeves and best/worst practices related to setup creation and functionality. If I'm able to use this forum to influence even one person to create a simpler setup that strives to get bits on the machine in as painless a means as possible and to consider it to be a success if the user doesn't notice anything about the setup itself, then I'll consider my blog efforts successful.

After I moved on from the developer tools setup team, I joined the Windows embedded team to work on Windows XP Embedded and Longhorn Embedded - specifically on embedded enabling features (AKA EEFs). Fortunately, I worked on the embedded components for the .NET Framework 1.0 and 1.1 when I worked on the setup team, so I didn't join the embedded team completely blind. After 2 months on the embedded team, I attended the ESC West conference in San Francisco. It was absolutely enlightening to get a chance to meet real world customers and see how you're using our tools to create products and solutions that are being deployed world-wide.

I don't know what direction these blog entries are going to take, and I have my doubts that anyone would even care about reading what I have to say. I do know I'll be back to give some random thoughts about embedded Windows, setup features and functionality, and deploying the .NET Framework (1.0 and 1.1) as part of managed application setup packages. In the meantime, here are some links that I regularly send out to Microsoft employees and our customers to help them with setup, deployment and embedded solution development:

Until next time......

Aaron

Comments

  • Anonymous
    May 04, 2004
    Welcome to blogging - installation is and has always been a big issue.
    Maybe you can answer this question(s) "Why are MS Installer all so different, why do many of them have problems with unattended installation - and why do they sometimes need a user logged on?"

  • Anonymous
    May 05, 2004
    This is a really good question and another one of my pet peeves. It seems like there isn't an established standard for how to create a good or well-behaved MSI setup, even within Microsoft. For example, a lot of the stuff we learned on the setup team I worked on came from feedback for our released products. Visual Studio 2002 was the first version of VS to use MSI, and we missed some key scenarios - specifically related to Active Directory and other types of unattended deployment.

    So, to answer your questions based on my experiences so far - so many teams are creating their own setups which leads to some differences in look-and-feel and functionality. Unattended installation is too often left until the end in product design and testing and not enough focus is put on deployment scenarios. This is not true across the board, some of our products do a really good job addressing these scenarios I think, but many do not.

    Requiring a logged on user is very dependent on what the setup itself is trying to do to configure the product it is installing. There are cases where some level of elevated privileges are needed, but there are also cases where it is enforced by a setup but not truly needed and it just happened to be easier to author the setup that way.

  • Anonymous
    May 05, 2004
    You should prop this answer to a blog post so its easier for people to find... good stuff Aaron.

  • Anonymous
    May 05, 2004
    The comment has been removed

  • Anonymous
    November 22, 2005
    Strange win slot machine http://www.weierunique.com/Slots/how-to-win-at-slot-machine.asp win slot machine - great online site! Only at <a href="http://www.weierunique.com/Slots/how-to-win-at-slot-machine.asp">win slot machine</a> you can really play. This is the <a href="http://www.weierunique.com/Slots/how-to-win-at-slot-machine.asp">win slot machine</a> and none other.

  • Anonymous
    April 02, 2007
    Field of dreams… The software and IT industry is a field of dreams. More than ever all can come to the field to offer ideas and contribute to its evolution. One means of doing so is through portals. A ...

  • Anonymous
    April 13, 2007
    For a while, I've been trying to figure out how to manage the posts on my blog. When I originally established