Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

May, 2008

  • Aaron Stebner's WebLog

    Mailbag: How to install the .NET Framework 2.0 SP1 and 3.0 SP1 on Windows Vista

    • 13 Comments

    Question:

    I am attempting to figure out how to redistribute the .NET Framework 2.0 SP1 and .NET Framework 3.0 SP1 standalone packages with my application.  As a test, I tried to run both of these redistributable packages on Windows Vista, but the installation processes were blocked and I could not get the .NET Framework 2.0 SP1 or 3.0 SP1 to install them on that OS.  How can I install the .NET Framework 2.0 SP1 and 3.0 SP1 on Windows Vista if they are needed for my application?

    Answer:

    The standalone redistributable packages for the .NET Framework 2.0 SP1 and 3.0 SP1 only include MSI-based installers.  Because the .NET Framework 2.0 and 3.0 are shipped as OS components on Windows Vista, you cannot install the MSI-based versions of these service packs on Windows Vista.  There are 2 supported ways of getting the .NET Framework 2.0 SP1 and 3.0 SP1 to install on Windows Vista:

    1. Install the .NET Framework 3.5 redistributable package, which will automatically install the .NET Framework 2.0 SP1 and 3.0 SP1 behind the scenes because those service packs are prerequisites for .NET Framework 3.5 setup.
    2. Install Windows Vista SP1, which includes the fixes that are a part of the .NET Framework 2.0 SP1 and 3.0 SP1.

    Also note that Windows Server 2008 includes the .NET Framework 2.0 SP1 and 3.0 SP1, so you do not need to install any additional packages in order to get those service packs on Windows Server 2008.

  • Aaron Stebner's WebLog

    Possible issue running Xbox 360 PC setup on a Window XP SP3 system with Media Center 2005 installed

    • 7 Comments

    Update:  There is now a knowledge base article at http://support.microsoft.com/kb/954622 with more information and a workaround for the issue described in this blog post.  I encourage you to take a look at that article before using the steps listed in this blog post.

    Recently, I have heard from a few customers who have had an issue installing the Xbox 360 PC setup package in order to configure their Xbox 360 as a Windows Media Center Extender.  I want describe the issue, what is happening behind the scenes and how to work around it in case anyone else runs into it in the future.

    Description of the issue

    The customers I talked to had all previously upgraded to Windows XP SP3, and when they attempted to run Xbox 360 PC setup afterwards, they received an error message that looks like the following:

    There is a problem with the installation of Windows XP Media Center Edition 2005. Uninstall the update to Media Center Edition 2005 and then re-install the update from the Windows Update website. Then run Media Center Extender setup again.

    How to diagnose the issue

    In this case, the last entries in the main log file created by Xbox 360 PC setup (%windir%\dvcsetup.log from the list in this blog post) look like this:

    11:11:11 AM : Verifying MCE version.

    11:11:11 AM : OS is Emerald : Verifying Sessions QFE is installed.

    ***********************************************************
    ERROR
    ***********************************************************
    Start conditions NOT met.

    11:11:21 AM : Checking for generic error during affiliation...

    11:11:21 AM : Turning off the InOOBE flag.

    WARNING: Error turning off the InOOBE flag.

    11:11:21 AM : Exiting

    Root cause of the issue

    I looked in the source code for this installer, and at this stage of setup, it is trying to verify that Windows hotfix KB895961 (codenamed the "Sessions QFE" in the log file snippet above) is installed on the system by checking the following registry value:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB895961]
    Installed=1 (REG_DWORD)

    In Windows XP SP3, the code that is a part of this hotfix is a part of the service pack and no longer needs to be installed via a separate hotfix package.  As a result, that registry value ends up getting deleted by the XP SP3 installation process.  To complicate things, it is not possible to simply re-install the version of the KB895961 hotfix package that is available as a prerequisite during Update Rollup 2 for Windows XP Media Center Edition 2005 setup because that package only allows installing on Windows XP SP2.

    How to work around the issue

    The Media Center team is investigating options for posting an updated version of KB895961 that will allow installing on Windows XP SP3 in order to work around this Xbox 360 PC setup issue.  In the meantime, you can use the following steps to manually add the registry value that Xbox 360 PC setup is using to detect whether or not KB895961 is installed and unblock the installation on a Windows XP SP3 system:

    1. Click on the Start menu, choose Run, type cmd and click OK
    2. Type this command:  reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB895961" /v Installed /t REG_DWORD /d 1 /f
    3. Press enter to add the value
    4. Try to run Xbox 360 PC setup again

    It is safe to manually add this registry value because the fixes that are a part of KB895961 were rolled up and included in Windows XP SP3.  This registry value will simply prevent Xbox 360 PC setup from thinking that the system does not yet have KB895961.

    Important note about non-Windows XP SP3 scenarios

    Note - if you encounter this error on a Windows XP SP2 system (instead of a Windows XP SP3 system), then you should be able to use steps like the following to work around this error:

    1. Use steps 1-5 and 8 in the manual installation steps for Update Rollup 2 to re-install KB895961
    2. Try to run Xbox 360 PC setup again

    <update date="2/15/2010"> Added a link to a knowledge base article that has been subsequently written about this issue - http://support.microsoft.com/kb/954622 </update>

     

  • Aaron Stebner's WebLog

    Links with information about the XNA Game Studio 3.0 community technology preview

    • 3 Comments

    While I was out on vacation for the past couple of weeks, the XNA Community Gaming Platform (CGP) team released a community technology preview of XNA Game Studio 3.0 (announced in this post on the team blog).  I'm sure that most folks are already aware of this but I wanted to link here just in case, and I also wanted to provide some additional links to help getting started using the XNA Game Studio 3.0 CTP.

    The XNA Game Studio 3.0 CTP adds the following key features:

    Here are some links with information about how to download and get started using the XNA Game Studio 3.0 CTP:

    Here is some information that can be useful if you encounter errors while installing the XNA Game Studio 3.0 CTP:

    • Setup can fail on some systems that have games installed that use Games for Windows - LIVE (such as Halo 3, Viva Pinata, etc).  If you have a game like this installed and see setup fail for the XNA Game Studio 3.0 CTP, then I suggest trying the workaround in item 1.1.2 in the readme - go to Add/Remove Programs and uninstall Microsoft Games for Windows - LIVE Redistributable, then try to install the XNA Game Studio 3.0 CTP again.
    • If you run into other setup failures that are unrelated to the previous issue, it can help to look at the log files created by XNA Game Studio 3.0 setup.  They are located at %temp%\Microsoft XNA\XNA Game Studio\v3.0\Setup\Logs.

    Here are some key limitations to keep in mind when getting started installing and using the XNA Game Studio 3.0 CTP:

    • XNA Game Studio 3.0 only supports the VS 2008 product family and will not support VS 2005 or Visual C# 2005 Express Edition like previous versions of XNA Game Studio.  You must have a VS 2008 edition installed on your computer before you will be able to install XNA Game Studio 3.0.  You can install VS 2005 and VS 2008 side-by-side on the same computer with no problems though, so there is no need to uninstall VS 2005 or any previous versions of XNA Game Studio in order to try out the XNA Game Studio 3.0 CTP.
    • This CTP only supports Windows and Zune game development and deployment.  Xbox 360 is not supported in this CTP, but will be in the final release of XNA Game Studio 3.0.
    • The CTP does not support installing and running on 64-bit operating systems.  Some features will work, but some will not (notably Zune deployment).  64-bit operating systems will be supported in the final release of XNA Game Studio 3.0.

    Here are some links with information about getting started creating Zune games using the XNA Game Studio 3.0 CTP:

  • Aaron Stebner's WebLog

    Links to more detailed information about the .NET Framework 3.5 client profile

    • 3 Comments

    The beta version of the .NET Framework 3.5 SP1 and Visual Studio 2008 SP1 were released a few weeks ago.  One of the key new features related to deployment that was introduced with the SP1 beta is the .NET Framework 3.5 SP1 client profile.  This profile is a subset of the full .NET Framework 3.5 SP1 installer that is designed to deliver assemblies needed in most common .NET Framework client applications.  Enabling this type of refactoring was one of the motivations for the behind the scenes deployment architecture changes made in the .NET Framework 2.0 SP1 and 3.0 SP1 (described in more detail in this blog post).

    This is a fairly big shift from the traditional .NET Framework installation process - in the past, it has always been an "all or nothing" installation, which means that an application could check one detection registry value and determine whether or not the full .NET Framework runtime is installed on a given system.  Now, a system could have this client profile installed, which will only deliver a subset of the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1.  Application developers who redistribute the .NET Framework 2.0 or higher with their installer will need to decide how to take this profile into account in their detection logic.

    The client profile is optimized for systems that do not yet have a version of the .NET Framework 2.0, 3.0 or 3.5 installed.  Here is a quick summary of how the installer for the client profile will behave in various scenarios:

    • On a Windows XP SP2 system without any version of the .NET Framework 2.0, 3.0 or 3.5 installed - the client profile installer will install the client profile.  Note - Windows Vista and Windows Server 2008 both include versions of the .NET Framework 2.0 and 3.0 as a part of the OS.  As a result, the client profile will not install on these OS's, and instead the installer will update the installed version of the .NET Framework to 2.0 SP2, 3.0 SP2 and 3.5 SP1.
    • On a Windows Server 2003 system without any version of the .NET Framework 2.0, 3.0 or 3.5 installed - the client profile installer will install the the full .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 packages.
    • On a system with the .NET Framework 2.0 original release or SP1 - the client profile installer will install the full .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 packages.  The 2.0 SP2 package will perform a major upgrade of the previously installed version of the .NET Framework 2.0.
    • On a system with the .NET Framework 3.0 original release or SP1 - the client profile installer will install the full .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 packages.  The 2.0 SP2 package will perform a major upgrade of the previously installed version of the .NET Framework 2.0, and the 3.0 SP2 package will perform a major upgrade of the previously installed version of the .NET Framework 3.0.
    • On a system with the .NET Framework 3.5 original release - the client profile installer will install the full .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 packages.  The 2.0 SP2 package will perform a major upgrade of the previously installed version of the .NET Framework 2.0, the 3.0 SP2 package will perform a major upgrade of the previously installed version of the .NET Framework 3.0 and the 3.5 SP1 package will perform a major upgrade of the previously installed version of the .NET Framework 3.5.

    The client profile also has implications on existing applications that include previous versions of the .NET Framework 2.0, 3.0 or 3.5 as a part of their installers.  If a system has the client profile installed, they have a partial install of the .NET Framework 2.0 SP2, the .NET Framework 3.0 SP2 and the .NET Framework 3.5 SP1.  If an application later attempts to install the original release of the .NET Framework 2.0, 3.0 or 3.5, that would leave the system with a hybrid .NET Framework - some of the bits would be from the original release and other bits would be from a service pack.  In order to avoid that hybrid state, the client profile setup configures some settings behind the scenes to prevent installation of any older versions of the .NET Framework 2.0, 3.0 or 3.5 on a system that has the client profile installed.

    It looks like there are still some bugs that need to be worked out in this process though.  I was able to to install the client profile on my Windows XP SP2 test machine with no issues.  However, when I try to run the original .NET Framework 2.0, 3.0 or 3.5 setup, the system attempts to invoke the file %windir%\Microsoft.NET\Framework\v3.5\DotNetInstallBlock.exe and that process crashes.  Also, if I try to run .NET Framework 1.0 or 1.1 setup on this system, it still tries to invoke DotNetInstallBlock.exe even though this client profile should not need to block installations of versions 1.0 or 1.1 of the .NET Framework.

    Since this client profile is still in beta, there is not a lot of official documentation available for it yet.  However, here are a few useful links I've found so far that provide some additional detail about the client profile:

    For reference, here are some other useful links for Visual Studio 2008 SP1 and the .NET Framework 3.5 SP1:

  • Aaron Stebner's WebLog

    Updated information and tool to collect VS 2008 SP1 setup log files

    • 1 Comments

    Recently, beta versions of Visual Studio 2008 SP1 and the .NET Framework 3.5 SP1 were released (see announcement posts here and here for in-depth information if you are interested).

    As Heath Stewart described in more detail in this blog post, the Visual Studio 2008 service pack has a new setup bootstrapper to provide a unified installation experience, better progress and error handling and fix some of the key issues that affected the Visual Studio 2005 service pack installation experience.  One of the outcomes of this new bootstrapper is that some new log files are created that can be useful to help troubleshoot SP1 installation issues.

    I previously posted a list of log files that can be produced by Visual Studio 2008 and .NET Framework 3.5 setup.  In addition, I posted a link to a tool to automatically gather these log files and create a cab file to make them easier to send via email or attach to bug reports.

    As Heath pointed out in this blog post, the information in those posts became a bit out of date with the release of the VS 2008 SP1 beta.  I have updated those blog posts to include information about new logs that are being created by VS 2008 SP1 beta setup and will continue to update it if any additional logs are created by the time the final version of VS 2008 SP1 is released.  I also updated the version of the log collection tool that is linked in my previous blog post to also collect VS 2008 SP1 beta setup log files.

    You can find the most up-to-date version of the Visual Studio 2008 and .NET Framework 3.5 log collection tool at http://go.microsoft.com/?LinkId=8967043.  This link will continue to be redirected as the tool is updated in the future as well.

  • Aaron Stebner's WebLog

    New XNA Creators Club web site and Xbox LIVE Community Games beta announced

    • 0 Comments

    As announced in this post on the XNA team blog, there is a new version of the XNA Creators Club web site that went live yesterday.  The new site includes the content and forums from the previous site and also includes a beta version of the front end for submitting and peer reviewing Xbox LIVE community games (a feature previously announced at GDC 2008 back in February).  In addition, there is some new content such as the Role Playing Game starter kit for XNA Game Studio 2.0.

    There are a couple of important notes to keep in mind about the Xbox LIVE Community Games beta:

    • In order to submit, review and play community games during the beta period, you must be an XNA Creators Club premium member.  You can find additional information about membership types in the membership table, and you can become a premium member via the new web site by using this link.
    • For the beta, you must use XNA Game Studio 2.0 to create and submit your Xbox 360 games and not the recently released XNA Game Studio 3.0 CTP.  If you submit a game created with the XNA Game Studio 3.0 CTP by mistake, it will be detected and rejected by the community game submission pipeline and you will be notified via email.

    Here are a couple of useful links to help you get started with the Xbox LIVE Community Games beta:

    I encourage everyone to check out the new XNA Creators Club web site and participate in the Xbox LIVE Community Games beta if possible.

  • Aaron Stebner's WebLog

    Link to Channel 9 video about Zune development features in XNA Game Studio 3.0

    • 0 Comments

    My colleague Michael Klucher recently recorded a video for Channel 9 that I wanted to link to here.  In the video, located at http://channel9.msdn.com/ShowPost.aspx?PostID=400948, Michael presents more details about Zune development features that will be a part of the upcoming XNA Game Studio 3.0 product.

    Zune development was originally announced at GDC this past February, and you can find some additional information in this post on the XNA team blog, this FAQ and this discussion post on the Creators Club forums.

    If you are interested in seeing more information about upcoming Zune development features in XNA Game Studio, I encourage you to check out Michael's Channel 9 video.

Page 1 of 1 (7 items)