Aaron Stebner's WebLog

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

  • Aaron Stebner's WebLog

    Windows Phone Developer Tools CTP Refresh and XNA Game Studio 4.0 CTP Refresh now available for download

    • 0 Comments

    As announced on the Windows Phone Developer Blog, a Windows Phone Developer Tools (WPDT) CTP Refresh (which includes an XNA Game Studio 4.0 CTP Refresh as well) was released for download today.

    Getting Started links

    Here are links to help you get started installing and using the Windows Phone Developer Tools CTP Refresh:

    Breaking changes

    Please make sure to look at the Breaking Changes section of the release notes – there are a few key issues there that you will need to keep in mind if you have projects created with the WPDT CTP, including the following:

    • Authenticode-signed assemblies included in the game project will cause the game to fail to deploy or load.  This issue and a workaround for it are covered in much more detail in this blog post.
    • XNA Game Studio Windows Phone games will now default to landscape mode instead of portrait mode, but unfortunately, landscape mode games do not display correctly in the emulator yet.  You will need to specify a 480x800 screen resolution if you don’t already.
    • Keyboard input is not working in the emulator in the CTP Refresh.  You cannot rely on keyboard input to control your game in the emulator in this release.

    What’s new

    The primary reason for the CTP Refresh is to support Windows Phone development in the final release of Visual Studio 2010 instead of in the VS 2010 RC.  For an overall list of what’s new in the CTP Refresh, I encourage you to take a look at the links in this blog post and this MSDN topic.

    The CTP Refresh includes the following XNA Game Studio 4.0 changes:

    • APIs for scalars and orientation (although, unfortunately, this functionality still does not work correctly in the emulator – landscape mode games will not render correctly in the emulator in the CTP Refresh)
    • Support for incremental deployment of Windows Phone Game projects
    • A new Visual Studio property page that contains Reach/Hi-Def profile selection, a game thumbnail chooser and a game startup object chooser
    • Fixed some side-by-side issues with previous versions of XNA Game Studio.  After uninstalling the CTP Refresh, you will have to re-install the XNA Game Studio Platform Tools from %ProgramFiles%\Microsoft XNA\XNA Game Studio\v3.1\Setup\xnags_platform_tools.msi, but you should not need to do a full repair of previous versions of XNA Game Studio anymore
    • Added better error reporting for some Windows Phone deployment and debugging scenarios
    • Updated documentation

    How to install

    Here are steps you can use to install the Windows Phone Developer Tools CTP Refresh

    1. If you have the original Windows Phone Developer Tools CTP installed, you will need to uninstall it first.  You can do that by going to the Programs and Features control panel and choosing to remove the item named Microsoft Windows Phone Developer Tools CTP – ENU.  This item will remove the other components that need to be removed.

    2. If you have the Visual Studio 2010 RC on your system, you will also need to uninstall that before you can install the WPDT CTP Refresh.

    3. (optional) If you plan to also use another VS 2010 edition (such as Professional, Ultimate, C# Express, etc) in addition to WPDT, you should install them before you install the WPDT CTP Refresh.  If you install them after the WPDT CTP, you will be prompted to download and install a Silverlight update when trying to use them.

    4. After removing the WPDT CTP and the VS 2010 RC (if you had it installed still) and installing other VS 2010 editions (if you choose to), you can proceed with installing the WPDT CTP Refresh.

    If you encounter Windows Phone Developer Tools CTP Refresh setup failures

    If you run into an installation or uninstallation failure for the Windows Phone Developer Tools CTP, you can use the log collection tool to gather your setup log files.  This log collection tool will create a file named %temp%\vslogs.cab.

    This tool does not gather XNA Game Studio 4.0 setup log files, so if your setup failure is caused by the XNA Game Studio 4.0 component, you’ll need to gather those logs separately by zipping up all of the logs in the folder named %temp%\XNA Game Studio 4.0 Setup\Logs.

    Once you have gathered your setup log files, you can upload them to a file server of your choice (such as http://skydrive.live.com), and post a link to the log files in the forums to get additional support.

    If you run into uninstallation issues with the WPDT CTP or the CTP Refresh, you can use the cleanup tool described at http://blogs.msdn.com/astebner/pages/9544320.aspx to remove XNA Game Studio or the Windows Phone Developer Tools.

  • Aaron Stebner's WebLog

    Updated sample .NET Framework detection code that works with the final version of the .NET Framework 4

    • 0 Comments

    Now that the final version of the .NET Framework 4 has been released, I have posted updated versions of my sample .NET Framework detection code.

    I previously updated the sample code to be able to detect the .NET Framework 4 client and full profiles.  However, the previous sample code would detect that the .NET Framework 4 was installed even if a pre-release version was installed instead of the final version.  In this update, I’ve added the ability to detect the final version of the .NET Framework 4 and filter out pre-release versions.

    You can find information about the sample .NET Framework detection code and download links in the article at http://blogs.msdn.com/astebner/pages/9763379.aspx.

  • Aaron Stebner's WebLog

    Link to updated information about .NET Framework 4 setup and deployment improvements

    • 0 Comments

    Now that the final versions of Visual Studio 2010 and the .NET Framework 4 have shipped, Peter Marcu has posted an updated version of an article he wrote back in the beta 2 timeframe that describes improvements made to the .NET Framework 4 installer to improve the robustness, size and performance.

    You can find the updated article at http://blogs.msdn.com/pmarcu/archive/2010/04/15/the-net-framework-4-installer-improvements.aspx, and I encourage you to take a look at it to learn more behind-the-scenes details about .NET Framework 4 setup.

  • Aaron Stebner's WebLog

    Links to .NET Framework 4 deployment guides

    • 1 Comments

    The official .NET Framework 4 deployment guides for application developers and system administrators have been posted on MSDN, and I wanted to provide links here to help raise visibility for them.  Here they are along with some additional information about what is contained in each of them:

    Microsoft .NET Framework 4 deployment guide for developers

    You can find the deployment guide for application developers at the following location:

    http://msdn.microsoft.com/library/ee942965(v=VS.100).aspx

    The deployment guide for application developers is targeted at developers creating applications that depend on the .NET Framework 4 and that will need to incorporate the .NET Framework 4 into their installation process.  It contains the following information:

    • Installation Requirements
    • Standalone Redistributable Packages
    • Web Bootstrapper Packages
    • Redistributing the .NET Framework 4 Using Visual Studio 2010
    • Installing the .NET Framework Manually
    • Chaining the Redistributable Package to your Application Setup
    • Chaining the Language Packs to your Application Setup
    • Detecting the .NET Framework 4
    • Detecting the Language Packs
    • Uninstalling Microsoft .NET Framework 4
    • Command-Line Options
    • Troubleshooting

    Microsoft .NET Framework 4 deployment guide for administrators

    You can find the administrator deployment guide at the following location:

    http://msdn.microsoft.com/library/ee390831(v=VS.100).aspx

    The administrator deployment guide is targeted at system administrators that manage software installation on corporate networks and who want to plan a deployment of the .NET Framework 4 to networks that they manage.  It contains the following information:

    • Prerequisites
    • Command Line-Options
    • The Deployment Process
    • Deploying the .NET Framework in a Test Environment
    • Creating a Collection
    • Preparing the Package Source Directory
    • Creating a Package for the Redistributable Package
    • Creating a Program with Setup and Installation Parameters
    • Selecting a Distribution Point
    • Creating an Advertisement
    • Troubleshooting
  • Aaron Stebner's WebLog

    A note about Visual Studio 2010 and the Windows Phone Developer Tools CTP

    • 0 Comments

    As I noted in my previous blog post, the final versions of Visual Studio 2010 and the .NET Framework 4 have shipped.  I wanted to also briefly note that the Windows Phone Developer Tools CTP that was released a month ago at the MIX10 conference is not compatible with the final version of VS 2010.  You must continue using the VS 2010 release candidate build in order to use the Windows Phone Developer Tools CTP.

    Charlie Kindel posted some information on the Windows Phone Developer Blog with options you can pursue in the meantime, and he also discusses the timing for an upcoming refresh of the Windows Phone Developer Tools that will work with the final release of VS 2010.

  • Aaron Stebner's WebLog

    Final versions of Visual Studio 2010 and the .NET Framework 4 are now available

    • 1 Comments

    As Soma announced on his blog yesterday, the final versions of Visual Studio 2010 and the .NET Framework 4 have been released and are now available for download.  Here are some links to help you get started:

    .NET Framework 4 links

    Visual Studio 2010 links

    Visual Studio 2010 Express Editions links

  • Aaron Stebner's WebLog

    Additional information about TurboTax 2009 setup issues caused by .NET Framework 3.5 SP1 verification errors

    • 22 Comments

    Back in January, I wrote a blog post about errors that can occur while trying to install TurboTax 2009 because some .NET Framework 3.5 files and/or registry keys are missing from the computer.  Since then, I’ve heard from some people who have run into problems similar to what I described in my original blog post, and I wanted to provide a couple of updates based on what I’ve learned since then in case the information in my original blog post does not end up being helpful.

    How to bypass the .NET Framework verification check in TurboTax 2009 setup

    A few people who contacted me reported that they have the CD-based version of TurboTax 2009, and they were able to install by running the installer in the TurboTax 2009 Installer sub-folder instead of running the setup.exe at the root of the disc.  It appears that the .NET Framework verification check happens in the main setup.exe and that this check can be bypassed by running the installer in the sub-directory instead.

    I have also heard from people who downloaded TurboTax 2009 setup from the Intuit web site instead of buying the CD, and that they couldn’t find a way to bypass the .NET Framework verification check with the downloaded version.  I haven’t yet been able to look at the structure of the downloaded version of the TurboTax 2009 setup package to see if there is a way to bypass the check in that version or not.

    Verification error on non-English versions of Windows 7

    Multiple people have reported problems with .NET Framework 3.5 verification during TurboTax 2009 setup on non-English versions of Windows 7.  There is a known problem with the verification logic used by TurboTax setup that is causing it to incorrectly search for some English files and registry keys even on non-English versions of Windows 7.  I fixed this issue in the verification tool on my blog, but it is still a problem within TurboTax 2009 setup.

    If you run into this problem, I first suggest that you try to bypass the .NET Framework verification check by using the information listed above in this blog post.

    If the bypass option does not work or if you have the web download version of TurboTax 2009 instead of the CD version, then you can download this zip file that contains the English files and registry keys that will be reported as missing by the TurboTax 2009 installer on non-English versions of Windows 7 and copy them to the locations that are expected by the TurboTax 2009 verification process.

    You can do the following to use this zip file:

    1. Download and extract the contents of the zip file to your desktop.
    2. Double-click on the file named netfx35_english_registry.reg to add the registry keys to your system.
    3. Create a folder named C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\en-US if it does not yet exist on your computer.
    4. Go to the folder named C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\en-US in Windows Explorer, then copy the files named ServiceModelEvents.dll.mui and ServiceModelInstallRC.dll.mui from the WCF folder in the zip file to this folder.
    5. Create a folder named C:\Windows\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\en if it does not yet exist on your computer. 
    6. Go to the folder named C:\Windows\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\en in Windows Explorer, then copy the 4 .sql files from the Workflow folder in the zip file to this folder.
    7. Create a folder named C:\Windows\Microsoft.NET\Framework\v3.0\WPF\en-US if it does not yet exist on your computer. 
    8. Go to the folder named C:\Windows\Microsoft.NET\Framework\v3.0\WPF\en-US in Windows Explorer, then copy the file named PresentationHostDLL.dll.mui from the WPF folder in the zip file to this folder.

    If neither of the above is helpful

    If you still see errors related to the .NET Framework 3.5 SP1 during TurboTax 2009 setup even after trying the above, then please use the TurboTax verification tool and the steps described in my previous blog post to try to narrow down which files and/or registry keys that TurboTax 2009 setup is reporting as missing on your computer.

    If you are unable to locate the sources of the errors by looking at the verification log files yourself, you can post your verification log files to a file server (such as http://skydrive.live.com) and reply to one of my blog posts with a link to the logs and I will try to take a look and see if I can figure out what is missing.

    TurboTax 2009 errors that do not involve installation or verification of the .NET Framework 3.5 SP1

    I have heard from some people who have been able to solve .NET Framework 3.5 SP1 installation and verification issues and proceed with TurboTax 2009 setup, but who have then run into issues later on in the TurboTax setup process or who have run into issues trying to run TurboTax after the installation process completes.  Unfortunately, the only set of issues that I have the expertise to help troubleshoot are the ones related to .NET Framework installation and verification.  If you are running into other issues installing or running TurboTax, then I suggest that you search for similar issues on the TurboTax support site and/or contact the TurboTax technical support team for more detailed troubleshooting assistance.

    <update date="4/13/2010"> Added a note about creating the folders if they do not exist for the non-English Windows 7 scenario </update>

     

  • Aaron Stebner's WebLog

    New XNA Game Studio 4.0 samples for Windows Phone released on the Creators Club site

    • 6 Comments

    Yesterday, we released several samples and mini-games to help you get started using the Windows Phone Developer Tools CTP (which includes the XNA Game Studio 4.0 CTP) to create games for Windows Phone 7 Series.  Here is some additional information about the samples and where you can download them:

    • Reach graphics demo – this is the demo that Shawn Hargreaves used in his talks at GDC and MIX to show the 5 five built-in effect types provided by the XNA Framework 4.0 on Windows Phone (BasicEffect, DualTextureEffect, AlphaTestEffect, SkinnedEffect, and EnvironmentMapEffect).

    • Snow Shovel mini-game – a simple Windows Phone game that shows how draw 2D sprites using SpriteBatch and handles player input using the accelerometer. You will not be able to use accelerometer input in the Windows Phone 7 Series emulator in the Windows Phone Developer Tools CTP however.

    • Primitives sample – an updated version of an existing sample that works with the XNA Game Studio 4.0 CTP and demonstrates how to create a reusable class to draw 2D primitives (points, lines and triangles) on the screen.  The source code for the 4.0 version of this sample is available at this link.

    • Primitives3D sample - an updated version of an existing sample that works with the XNA Game Studio 4.0 CTP and demonstrates how to create a reusable class to draw 3D primitives (cubes, spheres, cylinders, torus and teapots) on the screen.  The source code for the 4.0 version of this sample is available at this link.

    <update date="9/1/2012"> Fixed broken links to samples. </update>

     

  • Aaron Stebner's WebLog

    Link to blog post describing how to port the platformer starter kit to XNA Game Studio 4.0 and Windows Phone

    • 0 Comments

    A colleague wrote a blog post today that describes the process of converting a game created from the XNA Game Studio 3.1 version of the platformer starter kit to the XNA Game Studio 4.0 CTP and getting it to run on the Windows Phone 7 Series emulator.  The blog post walks through the process of creating a 3.1 version of the game, creating a new 4.0 project for it, importing the code and content, updating the code to handle differences between the XNA Framework 3.1 and 4.0, and making some Windows Phone-specific changes.

    Here are links with additional information:

  • Aaron Stebner's WebLog

    Windows Phone 7 Series and XNA Game Studio 4.0 training links on Channel 9

    • 1 Comments

    There is some training material available on the Channel 9 site to help you get started with development for the Windows Phone 7 Series using the Windows Phone Developer Tools.  This training material includes labs and source code for games created with XNA Game Studio 4.0 and the XNA Framework 4.0 for Windows Phone.

    Here are some links to the training material that has been posted so far:

    I encourage you to take a look at the training material to help you get started developing for Windows Phone 7 Series using the Windows Phone Developer Tools CTP and the XNA Game Studio 4.0 CTP.

  • Aaron Stebner's WebLog

    Possible issue deploying XNA Game Studio 4.0 CTP games to the Windows Phone Emulator

    • 14 Comments

    Since the release of the Windows Phone Developer Tools CTP and the XNA Game Studio 4.0 CTP yesterday, we’ve heard from several people who have had problems deploying XNA Game Studio 4.0 games to the Windows Phone Emulator.  This issue is described in the Windows Phone Developer Tools CTP release notes, but I wanted to post a summary here as well to hopefully make it easier to find in search engines.

    Instead of being able to deploy and run their XNA Game Studio 4.0 Windows Phone game successfully in the emulator, some people see the following in the Visual Studio error window:

    Deploy failed with the following error: The current display adapter does not meet the emulator requirements to run XNA Framework applications.

    Behind the scenes, XNA Game Studio 4.0 is checking for a DirectX 10 or later graphics card because this functionality is required to be able to render XNA Framework graphics correctly in the emulator.

    Using the DirectX Caps Viewer to check the capabilities for your graphics card

    If you see the above error message when attempting to deploy an XNA Game Studio 4.0 Windows Phone game to the emulator, you can use the DirectX Caps Viewer Tool (available for download via the DirectX SDK) to determine if a graphics card supports DirectX 10 or later.  To determine if a graphics card supports DirectX 10 or later:

    • In the DirectX Caps Viewer, expand the DXGI 1.1 Devices folder, and then expand the next level folder for the video card. Under this folder, you will see folders for Direct3D 10, Direct3D 10.1, and the like.
    • Expand the Direct3D 10.1 folder and look at the Feature Level entry. In this folder, you will see an entry for D3D10_FEATURE_LEVEL_10_0 or D3D10_FEATURE_LEVEL_10_1 if the graphics card supports DirectX 10 or later. If the Feature Level indicates a feature level of 9_n or less, it cannot support the Direct3D of the Windows Phone Emulator.

    Searching for updated drivers on your graphics card manufacturer’s web site

    If you see this error message and your graphics card is DirectX 10-capable as reported by the DirectX Caps Viewer Tool, you should check on the web site for the manufacturer of your graphics card to see if a newer driver is available.  In many cases, we’ve seen newer drivers available on the graphics card manufacturer’s web site than are available on Windows Update or the PC manufacturer’s web site.

    Additional updates that need to be installed if you are running Windows Vista

    If you’re attempting to use the emulator on Windows Vista, you must first install Windows Vista SP2 and the following 4 updates that are a part of KB 971644.  Here are the links for the x86 versions of these 4 updates:

    Here are the links for the x64 versions of these 4 updates:

    How to try to bypass the capabilities check as a last resort

    It is possible to bypass this capabilities check in XNA Game Studio by setting the following registry value:

    [HKEY_LOCAL_MACHINE\Software\Microsoft\XDE]
    XNAEnableGPU = 1 (REG_DWORD)

    If you are running a 64-bit OS, you must set the registry value at the following location:

    [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\XDE]
    XNAEnableGPU = 1 (REG_DWORD)

    Important note – if you set the above registry value, the XNA Game Studio 4.0 Windows Phone Game project will most likely be able to deploy but will only see a blank black screen in the emulator if the required graphics card capabilities are not available.  We put in this registry override as a last resort in case we ran into issues with the capabilities check reporting false negatives, but so far we haven’t seen any cases where the deployment was blocked but then it correctly displayed the game after setting the override registry value.

    <update date="3/18/2010"> Added links to x64 versions of the 4 updates that are a part of KB971644. </update>

     

  • Aaron Stebner's WebLog

    Windows Phone Developer Tools CTP and XNA Game Studio 4.0 CTP now available for download

    • 0 Comments

    Earlier today in the MIX10 keynote, Scott Guthrie announced the availability of the Windows Phone Developer Tools CTP.  This CTP is available for download starting today, and the setup package will download and install the following:

    • A CTP of the new Visual Studio 2010 Express for Windows Phone
    • Tools and framework to develop Windows Phone applications and games with Silverlight
    • A CTP of XNA Game Studio 4.0 that allows you to develop Windows Phone games with the XNA Framework
    • A Windows Phone 7 Series emulator that can be used to deploy and debug Windows Phone applications and games
    • Add-on to allow you to use the Visual Studio 2010 Ultimate Release Candidate to develop Windows Phone applications and games if you have it installed

    Windows Phone Developer Tools information

    Here are some links and information to help you get started installing and using the Windows Phone Developer Tools CTP:

    XNA Game Studio-specific information

    For XNA Game Studio developers, it is important to note that there is not a standalone installer for the XNA Game Studio 4.0 CTP like you have been used to from past releases.  Instead, you will need to download and install the Windows Phone Developer Tools CTP, and that will install the XNA Game Studio 4.0 CTP for you behind the scenes.

    Here are some links to information that is specific to the XNA Game Studio 4.0 CTP:

    One important note - the XNA Game Studio 4.0 CTP includes project templates for Xbox 360 games in addition to Windows and Windows Phone games.  However, you cannot deploy, run or debug Xbox 360 games created with this CTP.

    If you encounter Windows Phone Developer Tools CTP setup failures

    If you run into an installation or uninstallation failure for the Windows Phone Developer Tools CTP, you can use the log collection tool to gather your setup log files.

    For this CTP, this tool does not gather XNA Game Studio 4.0 setup log files, so if your setup failure is caused by the XNA Game Studio 4.0 component, you’ll need to gather those logs separately by zipping up all of the logs in the folder named %temp%\XNA Game Studio 4.0 Setup\Logs.

    Once you have gathered your setup log files, you can upload them to a file server of your choice (such as http://skydrive.live.com), and post a link to the log files in the forums to get additional support.

    If you run into uninstallation issues, you can use the cleanup tool described at http://blogs.msdn.com/astebner/pages/9544320.aspx to remove XNA Game Studio or the Windows Phone Developer Tools.

  • Aaron Stebner's WebLog

    Links to some introductory information about XNA Game Studio 4.0

    • 0 Comments

    There was some information announced today at GDC 2010 about the upcoming XNA Game Studio 4.0 release and support it will provide for developing games for Windows Phone 7 Series, Xbox 360 and Windows.  I encourage you to check out some of the links below to start learning about this new version of XNA Game Studio:

  • Aaron Stebner's WebLog

    Link to an add-in that enables debugging for XNA Game Studio content pipeline extensions

    • 0 Comments

    My colleague, Stephen Styrchak, has created a Visual Studio 2008 add-in that allows you to debug an XNA Game Studio content pipeline extension from within Visual Studio 2008 as you are developing it.  Since it is a Visual Studio add-in, you can only install it in Visual Studio 2008 Professional Edition or higher – it will not work if you are using XNA Game Studio 3.1 in Visual C# 2008 Express Edition.

    Here are links with some additional information about Stephen’s add-in:

    If you are developing a content pipeline extension for your XNA Game Studio 3.1 game, I encourage you to check out Stephen’s blog and his add-in so you can debug your content pipeline extension from Visual Studio 2008.

  • Aaron Stebner's WebLog

    WiX v3.5 now includes support for the Visual Studio 2010 release candidate

    • 4 Comments

    Rob Mensching posted an announcement on his blog this week about the availability of a build of WiX v3.5 that supports the recently released Visual Studio 2010 release candidate.

    You can download WiX v3.5 build 3.5.1419.0 or higher and start using it with the VS 2010 release candidate.

    There are a couple of notes to keep in mind as well:

    • Now that WiX v3.5 supports the VS 2010 RC starting in build 3.5.1419, these builds will no longer support older beta versions of VS 2010.  If you switch to this build of WiX v3.5 or higher, make sure that you also switch to the VS 2010 RC if you haven’t yet or you will not be able to use the Votive VS add-in.
    • Only VS 2010 has declared a release candidate.  WiX v3.5 is still in beta.  If you encounter any bugs with these new features or have suggestions for improvements, please report them on the WiX bug reporting site or the WiX feature request site.  If you have any questions about using these new features or about WiX in general, I encourage you to use the WiX mailing lists.
  • Aaron Stebner's WebLog

    Visual Studio 2010 and .NET Framework 4 release candidate now available for download

    • 0 Comments

    As announced earlier today on Soma’s blog and Jason Zander’s blog, the Visual Studio 2010 and .NET Framework 4 release candidate builds are available for download (today if you are an MSDN subscriber and this Wednesday, February 10, 2010 for the general public).  Here are links where you can find additional information and provide feedback to the product teams:

  • Aaron Stebner's WebLog

    Link to a picture showing what version of the .NET Framework is built into what version of Windows

    • 0 Comments

    For a while now, I’ve been maintaining a list of what version of the .NET Framework ships with each version of Windows.  The list has gotten longer and more complicated over time as new versions of Windows and the .NET Framework have been released, plus the .NET Framework is off by default in some server versions of Windows.

    Today, I noticed that Peter Marcu posted a very handy graphical view of what versions of the .NET Framework starting with 2.0 are a part of what version of Windows, including whether it is optional and on or off by default when you install Windows.

    You can check out this graphical view at http://blogs.msdn.com/pmarcu/archive/2010/02/05/which-version-of-net-is-built-into-windows.aspx.

  • Aaron Stebner's WebLog

    TurboTax 2009 can fail to install because it thinks the .NET Framework is not installed, even when it is

    • 109 Comments

    I’ve heard from a few customers over the past few days who have had trouble installing the new 2009 version of TurboTax.  In the cases I’ve heard about so far, the installer for TurboTax reports that the .NET Framework 3.5 SP1 is not correctly installed and instructs the user to re-install it.  Unfortunately, attempts to uninstall and re-install the .NET Framework did not help in some of these cases.

    Behind the scenes, it appears that TurboTax setup is running a verification process that is similar to the .NET Framework setup verification tool.  This verification process checks that files and registry keys that should be installed by the .NET Framework 2.0, 3.0 and 3.5 setup packages are correctly installed on the computer.  It is possible for the .NET Framework to be installed but for some of the files and/or registry values to have been removed by some other program (such as a registry cleaner tool, a disk cleanup tool, or even manual deletion by the user).

    If TurboTax reports a problem with the .NET Framework 3.5, it suggests that you try to uninstall and re-install the .NET Framework 3.5.  However, the exact steps needed to do this depend on what version of Windows you are running, and this has ended up causing confusion for the users I’ve heard from so far because the different steps aren’t very well documented in general.

    For Windows XP and Windows Server 2003

    If you are running a version of Windows before Windows Vista (such as Windows XP or Windows Server 2003), then in most cases, you can use the entry in Add/Remove Programs to repair the .NET Framework 3.5 or 3.5 SP1.  If that doesn’t help, then you can use the steps in this blog post to remove and then re-install the .NET Framework 3.5 SP1.

    For Windows Vista or Windows Server 2008

    If you are running Windows Vista or Windows Server 2008, then the .NET Framework 2.0 and 3.0 are installed as OS components.  As a result, the repair steps are more complicated.  You will need to try the following:

    1. Try to repair the .NET Framework 3.5 or 3.5 SP1 using the entry in the Programs and Features control panel.
    2. If that doesn’t help, try to use the steps in this blog post to remove and re-install the .NET Framework 3.5 SP1.
    3. If the above steps do not help, run sfc.exe /scannow to attempt to repair the files that are a part of your OS (which will also repair some parts of the .NET Framework).

    For Windows 7

    If you are running Windows 7, then the .NET Framework 2.0, 3.0 and 3.5 are all installed as OS components, and you cannot remove or re-install these versions using the Programs and Features control panel.  On Windows 7, this is your only built-in repair option:

    Run sfc.exe /scannow to attempt to repair the files that are a part of your OS (which will also repair some parts of the .NET Framework).

    What to do if the above doesn’t help

    Unfortunately, sfc.exe will only repair files that are protected by Windows Resource Protection.  For the .NET Framework, only binary files that can be repaired using sfc.exe.  Non-binary files (such as .config files) and registry keys cannot be repaired using sfc.exe.  For non-binary files, the only options are to manually replace them with files from other computers or to repair your OS.  For registry keys, the only options are to manually re-create them in regedit.exe or to repair your OS.

    Here are some steps I’ve been able to use to narrow down the exact missing files and/or registry keys that cause TurboTax setup to think that the .NET Framework 3.5 SP1 is not correctly installed:

    1. Download and run the TurboTax verification utility from http://turbotax.intuit.com/support/kb/installing/errors/7659.html
    2. When the utility finishes, click the button named Save Logs on Desktop
    3. Go to your desktop and open the zip file named TurboTax2009UtilityLogFiles*.zip
    4. Find the file named *_TurboTax 2009 Utility – *.log (where the first * is a date-time stamp and the 2nd * is a version number)
    5. Search for the string ****ERROR**** in this log file and take note of the files and/or registry keys that it reports are missing

    From the information in this log file, it is usually possible to figure out what files and/or registry keys need to be manually repaired on the computer.  So far, the cases I’ve seen reported missing .config files and we have been able to get TurboTax setup to run correctly after copying the .config files from another computer or downloading them from here and putting them in the locations reported in this log file.

    If you run into problems getting TurboTax 2009 setup to run correctly due to errors related to the .NET Framework 3.5, I encourage you to try the steps above.  If they don’t help, please don’t hesitate to leave a comment on my blog and/or contact me and I’ll try to help as best as I can.

    <update date="2/3/2010"> Added a link to a zip file that I posted with the .config files that have been causing the majority of the issues with TurboTax setup that I've seen so far. </update>

     

  • Aaron Stebner's WebLog

    A simpler way to add Windows Installer major upgrade functionality to your MSI in WiX v3.5

    • 5 Comments

    Bob Arnson has been working on some simplifications to the WiX language in WiX v3.5, and he has posted some introductory information about a couple of these changes on his blog.  I wanted to link to them here to hopefully help raise visibility for these simplifications:

    I have found the major upgrade simplifications to be particularly useful.  A while back, I wrote a step-by-step guide for authoring, building and testing major upgrades using WiX, and that guide later got added to the WiX documentation.

    As you can see in Bob’s blog post and in the WiX MajorUpgrade element documentation, Bob’s simplifications will allow WiX v3.5 to handle creating the Upgrade table elements, scheduling the RemoveExistingProducts action, and optionally blocking downgrades if a user tries to install an older version of the MSI after installing a newer version.  You only need to make sure that you include UpgradeCode and Version attributes in your Product element, and then you can use the new MajorUpgrade element in your WiX v3.5 authoring.

    If you choose to, you can continue to use the more verbose syntax described in my previous blog post or the WiX documentation for authoring a major upgrade, but you could instead convert to the new MajorUpgrade element in order to more clearly express the behavior you intend for your MSI and to simplify your setup authoring.

    The major upgrade and component authoring functionality described in the above blog posts is available in WiX v3.5 builds starting with the v3.5.1315.0 build on SourceForge, and I encourage you to check them out.

  • Aaron Stebner's WebLog

    Possible issue where machine.config can be overwritten by .NET Framework 2.0 SP2 setup

    • 7 Comments

    Description of the issue

    I heard from someone recently who noticed that some information was removed from the file machine.config after installing the .NET Framework 2.0 SP2.  Their scenario looked like the following:

    1. Install Windows XP or Windows Server 2003
    2. Install the .NET Framework 3.5 (which installs 2.0 SP1 and 3.0 SP1 behind the scenes, and which adds some information about 3.5 assemblies to the 2.0 machine.config)
    3. Install the .NET Framework 2.0 SP2
    4. Look at the contents of machine.config (located at C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config on an x86 OS or C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config on an x64 OS)

    In the above scenario, the entries added to machine.config during .NET Framework 3.5 installation in step 2 were removed from machine.config during .NET Framework 2.0 SP2 installation in step 3.

    How to work around this issue

    If you run into a scenario where machine.config is incorrectly overwritten when installing the .NET Framework 2.0 SP2, you can work around it in one of the following ways:

    1. If you have not yet installed the .NET Framework 2.0 SP2, you can manually back up your copy of machine.config, then copy it back after installing the .NET Framework 2.0 SP2.
    2. If you have already installed the .NET Framework 2.0 SP2, you can repair/re-install other products that updated machine.config (such as the .NET Framework 3.5), or you can manually re-add the information to machine.config that was removed by the .NET Framework 2.0 SP2 installation process.
    3. Instead of installing the standalone .NET Framework 2.0 SP2 package, you could instead install the .NET Framework 3.5 SP1 package (which will also install the .NET Framework 2.0 SP2 and 3.0 SP2 for you behind the scenes).  The .NET Framework 3.5 SP1 installation process will add the necessary information to machine.config that may otherwise be missing in this scenario.

    What can cause this issue

    .NET Framework 2.0 SP2 setup follows the standard Windows Installer file replacement logic for unversioned files, which causes it to not replace machine.config if that file was updated by some other program after it was originally installed.  However, we have seen some cases where the last modified time stamp does not get updated during .NET Framework 3.5 setup.  If this happens, then the installation of the .NET Framework 2.0 SP2 does not correctly recognize that some other program has updated machine.config, and as a result, the .NET Framework 2.0 SP2 installation process overwrites machine.config with a default copy that is included with the .NET Framework 2.0 SP2 installer.

    One note – so far, we have only seen this issue affect computers that have an MSI-based version of the .NET Framework 2.0 installed (Windows XP, Windows Server 2003).  The issue does not appear to affect versions of Windows that include the .NET Framework 2.0 as an OS component (Windows Vista, Windows Server 2008, Windows 7).

    <update date="12/29/2009"> Added another possible workaround for this issue - install the .NET Framework 3.5 SP1 package instead of just installing the .NET Framework 2.0 SP2 package. </update>

     

  • Aaron Stebner's WebLog

    Fix for possible NGen service deadlocks during product installation is coming in the .NET Framework 4

    • 0 Comments

    A while back, I wrote a blog post about a scenario that can lead to deadlocks when using synchronous native image generation (NGen) actions in a setup program.  I recently heard from Surupa Biswas (the program manager on the NGen team at Microsoft who originally informed me of this issue), and she let me know that her team has implemented a fix in the NGen service that will solve this problem in the upcoming release of the .NET Framework 4.  The fix is not available in the .NET Framework 4 beta 2, but will be available in the final release early in 2010.  Here is more information about the issue, the fix, and the implications for setup programs that use NGen.

    Introduction

    In previous versions of the .NET Framework, any setup that includes NGen actions for optional components can potentially cause deadlocks because the NGen service may invoke the installation and native image generation for an optional component, and the NGen service is not fully re-entrant.  In the upcoming release of the .NET Framework 4, the NGen team has addressed this potential deadlock by modifying NGen so that it never invokes the installation and native image generation for an optional component.

    What will happen at NGen time

    When NGen attempts to generate a native image for A.dll, and A.dll has a static dependency on some optional component B.dll that is not yet installed, NGen will generate a partial native image for A.dll (whereas the previous version of NGen would have attempted to install and generate a native image for B.dll, which led to potential deadlocks).  This partial native image contains all the native code and data structures that can be generated without using information from B.dll.  For example, if a type in A.dll inherits from a type in B.dll or contains some fields of types defined in B.dll, then this type will not be included in the partial native image.

    What will happen at execution time

    When the user runs a managed application that uses A.dll, the CLR will load the partial native image for it.  Any native code and data structures that are included in the native image can be used by CLR in the normal way.  If the application tries to use a type or method that is missing from the partial native image, the CLR will notice the missing information, and it will try to generate the data structures or JIT compile the missing methods.  Since B.dll is needed to generate the data structures, the CLR will ask the setup program for A.dll and B.dll to install the optional component B.dll.  After B.dll is installed, the application can continue running.  It is safe for the setup program for A.dll and B.dll to issue both synchronous and asynchronous NGen commands in this case.

    What setup should do

    Installing B.dll will invalidate the partial native image for A.dll.  The partial native image can still be used by any applications that are already running at the time when B.dll is installed, but all applications started later will need a new (complete) native image of A.dll.  The setup program should therefore request that NGen recompile A.dll when it installs B.dll.  To trigger this recompilation, the NGen team recommend that the setup program issue the command ngen.exe update /queue command at the end of the installation process.  This will ensure that all native images that depend on B.dll are updated.

  • Aaron Stebner's WebLog

    Mailbag: Why does Windows Update continue offering the .NET Framework 3.5 SP1 after I install it?

    • 26 Comments

    Question:

    I recently installed the .NET Framework 3.5 SP1 on my computer.  Afterwards, I went to the Windows Update site to check for updates, and I see the following item in the list of updates that my computer needs:

    Microsoft .NET Framework 3.5 Service Pack 1 and .NET Framework 3.5 Family Update for .NET versions 2.0 through 3.5 (KB951847)

    Does this mean that the .NET Framework 3.5 SP1 failed to install correctly when I installed it previously?  What do I do to fix this issue?

    Answer:

    No, this does not mean that the .NET Framework 3.5 SP1 failed to install correctly on your system.  Unfortunately, the wording of the name of this update in Windows Update is confusing.  The .NET Framework 3.5 Family Update is an additional hotfix package that needs to be installed after installing the .NET Framework 3.5 SP1.  Windows Update automatically bundles the .NET Framework 3.5 SP1 with the .NET Framework 3.5 Family Update if it detects that the .NET Framework 3.5 SP1 is not yet installed on your computer.  However, if the .NET Framework 3.5 SP1 is already installed on your computer, Windows Update will only install the .NET Framework 3.5 Family Update even though the name of the item includes “Microsoft .NET Framework 3.5 Service Pack 1” in it.

    If your computer is in this state, you should be able to simply allow Windows Update to install the .NET Framework 3.5 Family Update on your system.

    Additional troubleshooting steps in case the .NET Framework 3.5 Family Update fails to install

    Note that if the .NET Framework 3.5 Family Update fails to install, there should be log files created on your computer to help narrow down the cause of the failure further.  They will be located in a sub-directory of your %temp% directory and have a folder name that includes the KB number of the .NET Framework 3.5 Family Update.  There are several possible KB numbers for the .NET Framework 3.5 Family Update:

    • KB958481
    • KB958483
    • KB958484
  • Aaron Stebner's WebLog

    WiX v3.5 now includes support for Visual Studio 2010 beta 2

    • 0 Comments

    As previously posted on Rob Mensching’s blog and Bob Arnson’s blog, builds of WiX v3.5 starting with the 3.5.1030.0 build include support for Visual Studio 2010 beta 2.  Here are some highlights:

    • Extension Manager integration – you can download and install WiX v3.5 directly from within the VS 2010 IDE; to do this, launch VS 2010 Professional Edition or higher, click on the Tools menu, choose Extension Manager...., select the Online Gallery on the left side of the Extension Manager UI, expand Tools, then Build, and you’ll see the Windows Installer XML Toolset listed there.
    • WiX can now run on the .NET Framework 4 and it can process .NET Framework 4 assemblies during builds.
    • Major performance improvement when building WiX projects in the VS IDE – you will no longer see the VS IDE appear to hang during builds.
    • Automatic upgrade of .wixproj files from the VS 2008 file format to the VS 2010 file format.
    • Improvements in the VS IDE experience for WiX projects – drag/drop of nodes, copy/paste of items, project references.
    • Visual Studio 2010 Express Edition detection properties and custom actions have been added to the WixVSExtension.
    • Numerous other miscellaneous bug fixes.

    If you encounter any bugs with these new features or have suggestions for improvements, please report them on the WiX bug reporting site or the WiX feature request site.  If you have any questions about using these new features or about WiX in general, I encourage you to use the WiX mailing lists.

  • Aaron Stebner's WebLog

    Suggestions for resolving installation errors for .NET Framework security update MS09-061

    • 5 Comments

    I have heard from several people over the past week or so who have had problems getting the recently released .NET Framework security update (MS09-061) to install correctly on their system when it is offered to them by Windows Update or Microsoft Update.  This blog post will describe what this type of failure typically looks like and will offer some steps you can use to try to resolve this type of error.

    For reference, this .NET Framework security update is listed on the Windows Update download page with several different possible knowledge base numbers, depending on what version of the .NET Framework the update applies to and what operating system you are running.  Here is a list of knowledge base article numbers for this security update:

    • For the .NET Framework 2.0 on operating systems before Windows Vista - KB953300 and KB974417
    • For the .NET Framework 2.0 on Windows Vista and Windows Server 2008 - KB974468, KB974292, KB974467, KB974291, KB974469 and KB974470
    • For the .NET Framework 1.1 - KB953297
    • For the .NET Framework 1.0 - KB953295

    Description of the issue

    If this .NET Framework security update or any other update fails to install when running it from the Windows Update site, you will normally see Windows Update report back a generic error code of 0x643 or 1603.  This is a catch-all error code that means that setup failed, but it doesn’t provide any more detailed information about why it failed or how to fix the failure.

    In most cases, when a .NET Framework update fails to install with a 0x643 or 1603 error code, it means that there is something wrong with the version of the .NET Framework that is installed on the system that the update is supposed to be fixing.  There are a few different ways to go about resolving this error and getting the update to install successfully.

    How to solve the issue by uninstalling and re-installing the .NET Framework

    The simplest way to solve this type of issue is to use the steps listed at http://blogs.msdn.com/astebner/archive/2008/03/07/8108332.aspx to remove all versions of the .NET Framework from your system, then re-install them in the following order:

    1. .NET Framework 3.5 SP1 (this version of the .NET Framework will also install the .NET Framework 2.0 SP2 and the .NET Framework 3.0 SP2 for you behind the scenes, so you don’t need to re-install 2.0 or 3.0 using separate steps)
    2. .NET Framework 1.1
    3. .NET Framework 1.1 SP1

    After this, you should be able to go back to the Windows Update site, scan for updates again and install the latest updates for the .NET Framework 1.1 and 2.0 from there.

    Note – after removing all versions of the .NET Framework, you do not necessarily have to re-install the .NET Framework 1.0 or 1.1 if you do not have any applications that are using them.  Most .NET applications will automatically use the latest version of the .NET Framework that is installed on your system, and those that do not will give an error message indicating that you need to install a different version.  There is more information about this scenario in this blog post if you are interested in reading further.

    How to solve the issue by finding more information about the root cause

    The above steps involve uninstalling, re-downloading and re-installing all of the versions of the .NET Framework on your system, which can be a bit time consuming.  Instead, if you prefer, you can try to narrow down the root cause of the .NET Framework security update installation error further and try to solve this issue without performing all of the .NET Framework uninstalls and re-installs listed above.

    There are a couple of things I usually do to try to narrow down the root cause of this type of .NET Framework security update installation failure further:

    1. Try to download and install the update yourself instead of letting Windows Update install it for you.

      Windows Update always runs the installers for updates in silent mode, which can hide some useful error messages if the updates fail.  You can find the links to download this .NET Framework security update by going to the page for the security bulletin, scrolling down to the Affected Software table, and locating the link in the Component column of the table that corresponds to the version of the .NET Framework you need to update and the operating system you are running.

    2. Look at the setup log files created by the security update.

      This .NET Framework security update should create log files in a sub-directory under your %temp% directory.  The sub-directory will have the knowledge base article number in the name.  For example, the .NET Framework 1.1 security update (KB953297) will create logs in a folder named %temp%\NDP1.1sp1-KB953297-X86.
  • Aaron Stebner's WebLog

    Link to information about .NET Framework 4 setup and deployment improvements

    • 0 Comments

    Peter Marcu has posted some detailed information about improvements that have been made to the setup and deployment process for the .NET Framework 4 starting with the recently released .NET Framework 4 beta 2 and Visual Studio 2010 beta 2.  The improvements have been made to solve issues that exist in the .NET Framework 3.5 and 3.5 SP1 and to address customer feedback that has been received from previous releases.  The improvements that Peter describes are focused on the following areas:

    • Size – making the overall download and install size of the .NET Framework 4 smaller
    • Robustness – making the download and installation process more reliable
    • Performance – making the download and install time faster

    I encourage you to read Peter’s blog post at http://blogs.msdn.com/pmarcu/archive/2009/09/30/net-framework-4-0-beta-2-deployment.aspx to learn more about the specific improvements being made to the .NET Framework setup and deployment process in the .NET Framework 4 product.

Page 6 of 48 (1,186 items) «45678»