Aaron Stebner's WebLog

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

  • Aaron Stebner's WebLog

    Updating the last modified time to prevent Windows Installer from updating an unversioned file

    • 0 Comments

    Someone recently asked me a question about the unversioned file replacement scenarios that I wrote about a while ago in this blog post.  The scenario that they described to me is similar to one that we faced when building the installer for the XNA Game Studio components that ship in the Windows Phone SDK 8.0, so I wanted to provide an overview of our problem and the solution we implemented in case it is useful to anyone else.

    The problem we faced was that version B of our product (the XNA components in the Windows Phone SDK 8.0) upgrades several components that are shared by version A (the XNA Game Studio 4.0 Refresh).  One of the components is an MSBuild .targets file, which is an unversioned file.  Version B ships a version of the .targets file that is backwards compatible with Version A, so we wanted the installer for version B to overwrite the .targets file if a user installs version A and then version B.  However, we did not want the installer for version A to overwrite (and downgrade) the .targets file if a user installs version B and then version A.

    In order to prevent Windows Installer from overwriting this unversioned file, the last modified time had to be different than the creation time (as documented here).  This feels a bit dirty, but we ended up solving this problem by implementing a custom action in version B of our product to call the SetFileTime function to update the last modified time of the .targets file after installing it.  This causes version A of our product to not overwrite the file if a user installs version B and then version A.  The .targets file is in its own Windows Installer component, which is reference counted by Windows Installer so that the .targets file is left behind after uninstalling either version of the product.  Since we designed version B of the .targets file to be backwards compatible, it would continue to work even if a user installs version B, installs version A, and then uninstalls version B (which leaves them with version A of the product installed but version B of the .targets file installed).

  • Aaron Stebner's WebLog

    Cannot install .NET Framework 1.0 service packs if .NET Framework 4 or 4.5 is installed

    • 6 Comments

    There are some known compatibility issues between .NET Framework 4 and 4.5 setup and .NET Framework 1.0 setup.  As a result, installing the .NET Framework 4 or 4.5 will set a registry key that prevents .NET Framework 1.0 setup from running afterwards.  That means that if you need to install both the .NET Framework 1.0 and 4 or 4.5 on the same computer, you need to install the .NET Framework 1.0 first, then install the .NET Framework 4 or 4.5.

    I ran into a similar issue recently that I want to highlight as well because I didn’t find any official documentation about this behavior.  The registry key set by .NET Framework 4 and 4.5 setup will also prevent .NET Framework 1.0 service packs from running afterwards, even if you already have the .NET Framework 1.0 installed.  That means that if you need to install any .NET Framework 1.0 service packs and you have the .NET Framework 4 or 4.5 installed, you will need to do the following:

    1. Uninstall the .NET Framework 4 or 4.5
    2. Install the .NET Framework 1.0 service pack
    3. Re-install the .NET Framework 4 or 4.5

    Behind the scenes, .NET Framework 1.0 setup includes a block that is implemented as a Type 19 custom action.  This custom action is sequenced so that it runs during initial install and repair.  Installing a service pack does the equivalent of a repair, which is why the block is triggered during service pack installation too.

  • Aaron Stebner's WebLog

    System Update Readiness Tool is included as a part of Windows 8 and Windows Server 2012

    • 1 Comments

    Recently, while investigating an issue related to a .NET Framework hotfix installation problem, I reviewed the contents of the System Update Readiness Tool knowledge base article.  I noticed that the contents have been updated since the release of Windows 8.  Instead of needing to download and run a separate tool, the diagnostic and repair functionality in the System Update Readiness Tool is now built into Windows in Windows 8 and Windows Server 2012.  This change should make it much easier to investigate and fix issues on Windows 8 and Windows Server 2012 such as the one I described a while ago in this blog post.

    You can find more detailed information about how to use System Update Readiness Tool functionality in Windows 8 and Windows Server 2012 in this blog post from the Windows servicing team.

  • Aaron Stebner's WebLog

    More information about the versions of the .NET Framework that ship with Windows 8

    • 15 Comments

    Since the release of Windows 8 last fall, I’ve gotten a few questions about what versions of the .NET Framework ship with Windows 8 and how to install, uninstall and repair them.  Most of this information is documented in other places, but I wanted to put together a brief summary and post some links to hopefully make this information easier to find.

    Windows 8 and the .NET Framework 4.5

    Windows 8 includes the .NET Framework 4.5 as a part of the OS.  It is installed by default and it is not possible to remove it.

    The .NET Framework 4.5 is an in-place upgrade for the .NET Framework 4, and applications built for the .NET Framework 4 will run if the .NET Framework 4.5 is present.  As a result, there is no need to install the .NET Framework 4 or 4.5 redistributable packages on Windows 8.  If you attempt to run the .NET Framework 4 or 4.5 redistributable installers on Windows 8, they will prevent you from installing the redistributable versions.  See this knowledge base article for more information about this scenario.

    Windows 8 and the .NET Framework 2.0, 3.0 and 3.5

    Windows 8 includes the .NET Framework 2.0, 3.0 and 3.5 as a part of the OS.  They are not installed by default, and it is possible to add or remove it by using the Windows Features control panel.  There is also an install-on-demand feature in Windows 8 that will prompt you to install the .NET Framework 2.0, 3.0 and 3.5 if you run an application that requires it.

    If you attempt to run the .NET Framework 2.0, 3.0 or 3.5 redistributable installers on Windows 8, they will prevent you from installing the redistributable versions.

    Here are links with more information about how to install the .NET Framework 2.0, 3.0 and 3.5 on Windows 8:

    If you have an application that depends on the .NET Framework 2.0, 3.0 or 3.5, here are links with more information about options for automating the installation on Windows 8:

    <update date="2/8/2013"> Added a link to a knowledge base article with more information about scenarios where installing the .NET Framework 4 or 4.5 redistributable package is blocked by Windows 8. </update>

     

  • Aaron Stebner's WebLog

    Windows Phone SDK update for Windows Phone 7.8 is now available for download

    • 0 Comments

    As announced earlier today on the Windows Phone Developer Blog, the Windows Phone SDK update for Windows Phone 7.8 has been released. The Windows Phone SDK update for Windows Phone 7.8 is a patch and not a standalone product, so you must install the Windows Phone SDK 7.1 or the Windows Phone SDK 8.0 before you can install this update. Here is some information to help you get started installing and using the Windows Phone SDK update for Windows Phone 7.8:

    What’s new in the Window Phone SDK update for Windows Phone 7.8:

    • Windows Phone 7.8 emulator image.
    • Windows Phone 7.8 256MB emulator image.
    • Bundled install of the features included in the Windows Phone SDK 7.1.1 Update if you have the Windows Phone SDK 7.1 installed.

    Download and getting started links for the Windows Phone SDK update for Windows Phone 7.8:

  • Aaron Stebner's WebLog

    Link with more information about developing Xbox LIVE-enabled games for Xbox, Windows, Web, and Windows Phone

    • 0 Comments

    Every once in a while, I see an email or a post on the forums from a developer who has created a game and wants to explore options for publishing it as an Xbox LIVE Arcade game or an Xbox LIVE-enabled game for Windows Phone, or Windows.  There is a forum FAQ that we have been maintaining that contains some getting started links that will hopefully help developers who are interesting in learning more about this process.  You can find the FAQ item at http://xboxforums.create.msdn.com/forums/t/3290.aspx.

    In that FAQ, there are several links with more information about the Xbox LIVE Arcade program, the game submission process, and developing and submitting game pitches.  Here are a few of the most useful getting started links:

  • Aaron Stebner's WebLog

    Uninstalling the Windows Phone SDK 8.0 will break XNA Game Studio 4.0 and vice versa

    • 0 Comments

    The XNA Game Studio components that are installed as a part of the Windows Phone SDK 8.0 have a setup bug that causes the uninstall process for the Windows Phone SDK 8.0 to break XNA Game Studio 4.0 and vice versa.

    How to fix XNA Game Studio 4.0 if you uninstall the Windows Phone SDK 8.0

    If you have both the Windows Phone SDK 8.0 and XNA Game Studio 4.0 installed and then uninstall the Windows Phone SDK 8.0, you will need to do the following to restore XNA Game Studio 4.0 functionality:

    1. Go to the Programs and Features control panel and uninstall the item named Microsoft XNA Framework Redistributable 4.0 Refresh.
    2. Go to the Programs and Features control panel and repair the item named Microsoft XNA Game Studio 4.0 Refresh.

    How to fix the Windows Phone SDK 8.0 if you uninstall XNA Game Studio 4.0

    If you have both the Windows Phone SDK 8.0 and XNA Game Studio 4.0 installed and then uninstall the XNA Framework Redistributable 4.0 component that is installed as a part of XNA Game Studio 4.0, you will need to repair the Windows Phone SDK 8.0 to restore XNA Game Studio functionality in the Windows Phone SDK 8.0.

  • Aaron Stebner's WebLog

    XNA Windows Phone project templates are not available if Visual Studio 2012 is installed to a non-default path

    • 0 Comments

    The XNA Game Studio component that ships with the Windows Phone SDK 8.0 has a setup bug that causes some of the project templates to be installed to an incorrect location if Visual Studio 2012 or the Windows Phone SDK 8.0 is installed to a non-default path.  If you run into this issue, you can use the following steps to restore the missing project templates.

    If you are using Visual Studio 2012 Professional, Premium or Ultimate:

    1. Copy the following files from C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\CSharp\XNA Game Studio 4.0 to <Visual Studio non-default install path>\Common7\IDE\Extensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\CSharp\XNA Game Studio 4.0:

      CSXnaWindowsPhoneGame-v4.0.zip
      CSXnaWindowsPhoneLibrary-v4.0.zip

    2. Copy the following files from C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\VisualBasic\XNA Game Studio 4.0 to <Visual Studio non-default install path>\Common7\IDE\Extensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\VisualBasic\XNA Game Studio 4.0:

      VBXnaWindowsPhoneGame-v4.0.zip
      VBXnaWindowsPhoneLibrary-v4.0.zip

    3. From an elevated cmd prompt, run <Visual Studio install path>\Common7\IDE\devenv.exe /setup

    If you are using Visual Studio 2012 Express for Windows Phone:

    1. Copy the following files from C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VPDExpressExtensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\CSharp\XNA Game Studio 4.0 to <Visual Studio non-default install path>\Common7\IDE\VPDExpressExtensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\CSharp\XNA Game Studio 4.0:

      CSXnaWindowsPhoneGame-v4.0.zip
      CSXnaWindowsPhoneLibrary-v4.0.zip

    2. Copy the following files from C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\VPDExpressExtensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\VisualBasic\XNA Game Studio 4.0 to <Visual Studio non-default install path>\Common7\IDE\VPDExpressExtensions\Microsoft\XNA Game Studio 4.0\ProjectTemplates\VisualBasic\XNA Game Studio 4.0:

      VBXnaWindowsPhoneGame-v4.0.zip
      VBXnaWindowsPhoneLibrary-v4.0.zip

    3. From an elevated cmd prompt, run <Visual Studio install path>\Common7\IDE\vpdexpress.exe /setup
  • Aaron Stebner's WebLog

    XNA Windows Phone projects must be upgraded from 7.0 to 7.1 to use with the Windows Phone SDK 8.0

    • 0 Comments

    The Windows Phone SDK 8.0 supports XNA Windows Phone game projects that target Windows Phone OS 7.1.  It does not support XNA Windows Phone game projects that target Windows Phone OS 7.0.  However, it does not block you from trying to open XNA projects that target Windows Phone OS 7.0.  Instead, it will allow you to open the projects and try to build them, and then you will see error messages about missing reference assemblies.

    In order to open and use your XNA projects that target Windows Phone OS 7.0 in the Windows Phone SDK 8.0, you must first upgrade them to target Windows Phone OS 7.1.  You can perform this upgrade in one of the following ways:

    1. If you do not have the Windows Phone SDK 7.1 installed, you can open your game project (*.csproj or *.vbproj) in a text editor such as Notepad and hand-edit it to upgrade it.  You will need to set the following property:

      <XnaRefreshLevel>1</XnaRefreshLevel>

      If your project file does not yet have the XnaRefreshLevel property, you will need to add it to the PropertyGroup at the top of the project file and set it to 1.  If your project file already has the XnaRefreshLevel property and it is set to 0, you will need to change it to 1.

    2. If you have the Windows Phone SDK 7.1 installed, you can open your 7.0 project with the Windows Phone SDK 7.1 and upgrade it by using the menu item in the Visual Studio 2010 IDE.  There are more detailed instructions in this documentation topic.
  • Aaron Stebner's WebLog

    Windows Phone SDK 8.0 now available for download

    • 6 Comments

    As announced earlier today on the Windows Phone Developer Blog and the Visual Studio Blog, the Windows Phone SDK 8.0 is now available for download. Here is some information to help you get started installing and using the Windows Phone SDK 8.0.

    Download links

    The Windows Phone SDK 8.0 is available in the same set of languages as the Windows Phone SDK 7.1 – Chinese (Simplified), Chinese (Traditional), English, French, German, Italian, Japanese, Korean, Russian and Spanish.

    Documentation and getting started links

    Installing the Windows Phone SDK 8.0

    The Windows Phone SDK 8.0 must be installed on a Windows 8 x64 computer, and the computer must have a processor that supports Second Level Address Translation (SLAT) in order to fully function. You can use the tool at https://slatstatuscheck.codeplex.com/ to determine if your processor supports SLAT. If you install on a computer with a processor that does not support SLAT, then Windows Phone SDK 8.0 setup will complete, but the Windows Phone 8 emulator will not function correctly.

    Unlike in previous releases, Windows Phone SDK 8.0 setup will not block attempts to install on Windows Server 2012. However, the Windows Phone 8 emulator will not function correctly on Windows Server 2012.

    If you run into an installation or uninstallation failure for the Windows Phone SDK 8.0, 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. 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.

    Notes about XNA Game Studio

    The Windows Phone SDK 8.0 includes a subset of the XNA Game Studio 4.0 Refresh product. Specifically, it only allows you to develop Windows Phone games that use the XNA Framework. You can see more information about what XNA Framework functionality is supported in the Windows Phone SDK 8.0 in this documentation topic.

    If you are developing Windows games or Xbox 360 games that use the XNA Framework, you must continue to use an edition of Visual Studio 2010 and one of the following products:

    Both of the above products can be installed side-by-side with the Windows Phone SDK 8.0.

    <update date="10/31/2012"> Fixed documentation links to point to MSDN instead of redirecting through the Windows Phone Dev Center. </update>

     

  • Aaron Stebner's WebLog

    Links to .NET Framework 4.5 deployment guides

    • 0 Comments

    The official .NET Framework 4.5 deployment guides for developers and administrators are available 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.5 deployment guide for developers

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

    http://msdn.microsoft.com/en-us/library/ee942965(v=vs.110).aspx

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

    • Deployment options
    • Redistributable packages
    • Deployment methods
    • Setting a dependency on the .NET Framework
    • Installing the .NET Framework manually
    • Chaining the .NET Framework using the default .NET Framework setup UI
    • Chaining using custom UI
    • Detecting the .NET Framework
    • Detecting .NET Framework language packs
    • Chaining language packs to your application setup
    • Troubleshooting – download and installation error codes
    • Uninstalling the .NET Framework
    • Command-line options for .NET Framework setup
    • Supported languages

    Microsoft .NET Framework 4.5 deployment guide for administrators

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

    http://msdn.microsoft.com/en-us/library/ee390831(v=vs.110).aspx

    The administrator deployment guide is targeted at system administrators who want to deploy the .NET Framework 4.5 across a network by using System Center Configuration Manager (SCCM). 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 .NET Framework redistributable package
    • Creating a program with setup parameters
    • Selecting a distribution point
    • Creating an advertisement
    • Troubleshooting – log files and error codes
  • Aaron Stebner's WebLog

    .NET Framework Repair Tool now supports diagnosing and repairing .NET Framework 2.0, 3.0 and 3.5 setup issues

    • 7 Comments

    A little while ago, I posted an introduction to a new .NET Framework Repair Tool that can be used to diagnose and repair .NET Framework 4 setup issues.  An updated version of the repair tool has been released today to add support for diagnosing and repairing issues with .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 setup.  The repair tool can identify and fix issues with the installation of MSI-based versions of the .NET Framework, but it cannot fix issues related to versions of the .NET Framework that are installed as a part of Windows.

    If you run into installation issues with the MSI-based versions of the .NET Framework 2.0 SP2, 3.0 SP2, 3.5 SP1 or 4, I strongly encourage you to download the .NET Framework Repair Tool and run it to see if it resolves your issue before resorting to trying the .NET Framework cleanup tool. Here are links that you can use to find additional information about the .NET Framework Repair Tool:

  • Aaron Stebner's WebLog

    The XNA Framework can be used to create games that run on the Windows 8 desktop

    • 10 Comments

    With the release of Windows 8 and the new development platform for Windows Store applications, there has been some confusion about the level of support for games on Windows 8 that use the XNA Framework and that are built with XNA Game Studio.  I wanted to post something here to help clarify what is and isn’t supported:

    • You cannot use the XNA Framework in Windows Store applications for Windows 8.
    • You can use the XNA Framework in games that run on the Windows 8 desktop.

    The process for creating and deploying XNA Framework-based games for the Windows 8 desktop is no different than the process for creating and deploying games for earlier versions of Windows.  In fact, the deployment process is simpler because Windows 8 includes the .NET Framework 4.5 as an OS component, so you do not need to worry about installing the .NET Framework before you install the XNA Framework 4.0 Redistributable on Windows 8.  If you are creating XNA Framework-based games for the Windows 8 desktop, you can use the information in this forum post to create an installer for your game.

  • Aaron Stebner's WebLog

    Updated .NET Framework setup verification tool that addresses application compatibility issues

    • 5 Comments

    A little while ago, I posted an updated version of the .NET Framework setup verification tool that enabled support for the .NET Framework 4.5 and Windows 8.  I used the Windows 8 Release Preview to test that version of the tool, and an application compatibility shim was added to the final version of Windows 8 that causes the .NET Framework setup verification tool to silently exit and return success.  This was done to address application compatibility issues such as this.

    This week, I’ve posted an updated version of the .NET Framework setup verification tool that has a couple of key changes to react to the application compatibility issues that led to this shim being added to Windows 8.  Here is a brief summary of the changes:

    Updated pass/fail logic

    The logic for determining success and failure for .NET Framework setup verification has been updated.  Previously, the tool would report errors if any file that was supposed to be installed by a given version of the .NET Framework was not found on the computer.  Now, missing files are logged as warnings instead of errors because many of the files installed by the .NET Framework are not critical to the functionality of the .NET Framework.  The only things that will cause the verification tool to report an error are the following:

    • Missing registry keys that are used by applications to detect whether or not the .NET Framework is installed (as documented in the deployment guide for each version of the .NET Framework).
    • Failure to run a sample application that verifies that the .NET Framework runtime can be started correctly.

    Silent mode has been removed

    The .NET Framework setup verification tool no longer supports running in silent mode.  While it was never officially supported to do so, some applications have redistributed older versions of the .NET Framework setup verification tool in their installers.  They would run the verification tool in silent mode, and in some cases they would prevent the user from installing their application if the verification tool reported any failures.  This has caused application compatibility issues (such as this) as new versions of Windows and the .NET Framework have been released.

    You can download the latest version of the .NET Framework setup verification tool by using the links in the User’s Guide.  As always, if you run into any issues or have any feedback about the .NET Framework setup verification tool, please let me know by posting a comment on one of my blog posts or by using the contact form.

  • Aaron Stebner's WebLog

    Link to new .NET Framework Repair Tool that can diagnose and repair .NET Framework 4 setup issues

    • 3 Comments

    There was a .NET Framework Repair Tool posted on the Microsoft Download Center earlier this summer, and I wanted to post a link here to hopefully make it easier for people to find. 

    I have seen this new tool successfully identify and fix .NET Framework 4 installation issues that have previously required using more invasive means to solve.  Unlike the .NET Framework cleanup tool available via my blog, this new tool performs targeted diagnostics and makes fixes for specific setup issues instead of resorting to forcibly removing the .NET Framework and requiring the user to re-install it.

    If you run into a .NET Framework 4 installation issue, I strongly encourage you to download the .NET Framework Repair Tool and run it to see if it resolves your issue before resorting to trying the .NET Framework cleanup tool.  Here are links that you can use to find additional information about the .NET Framework Repair Tool:

    <update date="9/8/2012"> Added a link to the knowledge base article for the .NET Framework Repair Tool. </update>

     

     

  • Aaron Stebner's WebLog

    Final versions of Windows 8, .NET Framework 4.5 and Visual Studio 2012 now available for download

    • 11 Comments

    As announced on the Windows 8 app developer blog, Somasegar’s blog and Jason Zander’s blog, the final versions of Windows 8, the .NET Framework 4.5 and Visual Studio 2012 are now available for developers to download. Here is some information to help you get started installing and using these releases.

    Download links

    Here are links to help you get started downloading Windows 8:

    Here are links to help you get started downloading the .NET Framework 4.5 and Visual Studio 2012:

    Documentation links

    Here are links to help you get started using Windows 8:

    Here are links to help you get started using the .NET Framework 4.5 and Visual Studio 2012:

    Important note about installing Visual Studio 2012 on Windows 8

    The .NET Framework 4.5 is included as a part of Windows 8, and Visual Studio 2012 requires the .NET Framework 4.5 as a prerequisite.  You can only install the final version of Visual Studio 2012 on the final version of Windows 8 because the final version of Windows 8 is the only one that includes the final version of the .NET Framework 4.5.  This means you cannot install pre-release versions of Visual Studio 2012 on the final version of Windows 8, and you also cannot install the final version of Visual Studio 2012 on pre-release versions of Windows 8.

    Notes about XNA Game Studio and Windows Phone development

    If you plan to develop games and applications using XNA Game Studio and/or the Windows Phone SDK, there are a couple of important notes to keep in mind:

    1. XNA Game Studio and the Windows Phone SDK 7.1 both work with Visual Studio 2010, not Visual Studio 2012. You will not see any XNA Game Studio or Windows Phone project templates or other functionality for these products in Visual Studio 2012 if you install both products on the same computer. You can safely install Visual Studio 2010 and Visual Studio 2012 side-by-side on the same computer though.
    2. If you try to install XNA Game Studio or the Windows Phone SDK 7.1 on Windows 8, setup may fail. If it does, you can use the workaround at http://blogs.msdn.com/b/astebner/archive/2012/02/29/10274694.aspx to solve the setup failure.
  • Aaron Stebner's WebLog

    .NET Framework cleanup tool now supports .NET Framework 4.5 and Windows 8

    • 20 Comments

    I have posted an updated version of the .NET Framework cleanup tool that supports cleaning up the .NET Framework 4.5. It has also been updated to correctly recognize when it is running on Windows 8. There is more information about how to download and use the .NET Framework cleanup tool in the user’s guide at http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx.

    As always, if you run into any issues or have any feedback about the .NET Framework cleanup tool, please let me know by posting a comment on one of my blog posts or using the contact form.

  • Aaron Stebner's WebLog

    .NET Framework setup verification tool now supports .NET Framework 4.5 and Windows 8

    • 24 Comments

    I have posted an updated version of the .NET Framework setup verification tool that supports verifying the install state of the .NET Framework 4.5.  It has also been updated to correctly recognize when it is running on Windows 8.  This support is preliminary because the final versions of the .NET Framework 4.5 and Windows 8 have not yet shipped, and I’ll post an updated version in the future when the .NET Framework 4.5 and Windows 8 ship if any changes are made between now and then that cause the tool to report incorrect results.

    There is more information about how to download and use the .NET Framework setup verification tool in the user’s guide at http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx.

    I have not yet posted updated versions of the .NET Framework cleanup tool or the sample .NET Framework detection code, but they are in progress and I’ll upload then and post an update on my blog when they are ready.

    As always, if you run into any issues or have any feedback about the .NET Framework setup verification tool, please let me know by posting a comment on one of my blog posts or using the contact form.

  • Aaron Stebner's WebLog

    Windows 8 Release Preview, .NET Framework 4.5 RC and Visual Studio 2012 RC now available for download

    • 2 Comments

    As announced on the Building Windows 8 blog, Somasegar’s blog and Jason Zander’s blog, the Windows 8 Release Preview and an RC version of the .NET Framework 4.5 and Visual Studio 2012 are now available for download.  Here is some information to help you get started installing and using these preview releases.

    Download links

    Here are links to help you get started downloading these preview releases:

    Documentation links

    Here are links to help you get started using the Windows 8 Release Preview:

    Here are links to help you get started using the .NET Framework 4.5 and Visual Studio 2012 RC:

    Notes about XNA Game Studio and Windows Phone development

    If you plan to develop games and applications using XNA Game Studio and/or the Windows Phone SDK, there are a couple of important notes to keep in mind:

    1. XNA Game Studio and the Windows Phone SDK 7.1 both work with Visual Studio 2010, not Visual Studio 2012.  You will not see any XNA Game Studio or Windows Phone project templates or other functionality for these products in the Visual Studio 2012 RC if you install both products on the same computer.  You can safely install Visual Studio 2012 and the Visual Studio 2012 RC side-by-side on the same computer though.
    2. If you try to install XNA Game Studio or the Windows Phone SDK 7.1 on Windows 8, setup may fail.  If it does, you can use the workaround at http://blogs.msdn.com/b/astebner/archive/2012/02/29/10274694.aspx to solve the setup failure.
  • Aaron Stebner's WebLog

    My adventures with Windows LIVE ID and Xbox LIVE gamertags

    • 11 Comments

    I recently had an interesting experience while trying to transfer an Xbox LIVE gamertag to a new Windows LIVE ID, and I decided to post what I learned from this process in the hopes that it will help others avoid this type of hassle in the future. 

    If you don’t want to read the full story of what happened, here are my key takeaways:

    1. It is possible to create a gamertag with a Windows LIVE ID that has never had its email address validated, but it is not possible to move a gamertag associated with an un-validated LIVE ID to a new LIVE ID.  Before trying to move a gamertag to a new LIVE ID, make sure you log onto Live.com with the old and new LIVE IDs and validate the email addresses.
    2. It is easy to inadvertently create a gamertag for a Windows LIVE ID that doesn’t currently have a gamertag associated with it by logging into Xbox.com or the games hub on Windows Phone.  If you have a Windows LIVE ID that doesn’t have a gamertag that you are planning to move an existing gamertag to, make sure that you validate the email address for the LIVE ID on Live.com, but don’t log into Xbox.com because you might accidentally get a new gamertag assigned to it and then have to wait 30 days before you can get rid of that new gamertag.
    3. After changing the gamertag associated with the primary Windows LIVE ID being used on a Windows Phone, you’ll have to delete and re-download games and applications in order to be able to get gameplay data and achievements to upload to the new gamertag and to download updates for applications.

    Here is the full story of what happened:

    This story started more than a month ago when my wife got a new Windows Phone.  She used her Windows LIVE ID when setting up the phone.  However, I originally created her Xbox LIVE gamertag for her, and I associated it with a Windows LIVE ID that I had created a while ago to do so.  That meant that she could not use her gamertag on her new phone.

    I found a set of steps that can be used to change the Windows LIVE ID associated with a gamertag, and I tried to follow those instructions on my Xbox 360 console.  However, I got an error message saying that I entered an invalid user name or password after I entered both LIVE IDs and passwords and clicked yes to confirm the change.  I backed up and intentionally entered incorrect passwords for each LIVE ID, and got error messages each time, so I knew I was entering correct passwords.

    I decided to try to log onto Xbox.com with my wife’s LIVE ID to see if there was a different gamertag associated with it.  When I did so, I found out that there wasn’t a gamertag, but Xbox.com created one for me automatically when I logged in.  I knew I would have to get rid of that gamertag before I would be able to move her real gamertag onto her LIVE ID.  I created a new LIVE ID, recovered the newly created gamertag on my Xbox 360 console, and tried to change the LIVE ID on that gamertag to the new LIVE ID I just created.  Doing that gave me an error message saying that changing the LIVE ID associated with a gamertag can only be done once every 30 days.  I understand why this restriction is in place for automated changes, but I assumed there would be a way to override it if I talked to a support team member, so I tried to call Xbox support.  Unfortunately, this policy comes from the Windows LIVE ID service, and Xbox support does not have the ability to override the time limit.  To make matters worse, the Xbox support team and I couldn’t find a support contact for the Windows LIVE ID service, so I was stuck waiting for 30 days before I could try again to get rid of the newly created gamertag associated with my wife’s Windows LIVE ID.

    After the 30 days were up, I tried again to move the temporary gamertag associated with my wife’s LIVE ID to a new LIVE ID so I could move her real one over.  When I tried to update the LIVE ID on my Xbox 360 console using the same steps as before, I got the same error about an invalid user name or password.  I logged onto Xbox.com with the new LIVE ID and got an error message saying that the email address associated with the LIVE ID had not been validated.  I made up an email address when I created that new LIVE ID, so I had to go back and create yet another new LIVE ID, this time with a valid email address.  Once I did that, I logged into Live.com with the LIVE ID, clicked the button to have it send me an email, then clicked the link in the email it sent me in order to validate the address.  After the email address for the LIVE ID was validated, I was able to move the temporary gamertag from my wife’s LIVE ID to this new LIVE ID.

    Now that my wife’s LIVE ID once again had no gamertag associated with it, I tried again to move her real gamertag over to her LIVE ID.  Once again, it failed with the same error message, but my experience trying to move the temporary gamertag gave me an idea about what might be wrong.  This time, I tried to log onto Live.com with my LIVE ID that was associated with her gamertag, and it gave me an error saying that the email address associated with the LIVE ID had not been validated.  Once I went through the steps to validate that LIVE ID, I was finally able to move her gamertag over to her LIVE ID.

    Once the process of moving her gamertag to her LIVE ID was complete, I wasn’t done.  I verified that the correct gamertag and avatar information appeared for my wife’s LIVE ID on my Xbox 360 console and on Xbox.com, but the old information still showed in the games hub on her phone.  I tried to use the refresh button in the games hub, and I tried to hard reboot her phone, but neither of them updated her gamertag or avatar information.  Finally, after waiting for a couple of hours, the correct information appeared in games hub.

    I still wasn’t quite done though.  As an experiment, I tried playing one of the games that my wife had been playing during the 30 days we had to wait in order to be able to change LIVE IDs, and in the process, I earned a couple of new achievements for her.  The game didn’t show up in her games played list, and the achievements didn’t show up in her gamerscore either.  After asking around, I found out that I would have to delete and re-download the games in order to reset the progress that was saved on her phone and get the games to report gameplay and achievement data for her gamertag.  I did that, and her gameplay and achievement data started updating correctly for games she played on her phone.  There are still a couple of non-Xbox LIVE applications that she installed during that 30 day time window that she cannot download updates for because of this LIVE ID change, and I suspect that she will need to delete and re-download those as well in order to be fully up and running again on her phone.

  • Aaron Stebner's WebLog

    How to work around XNA Game Studio content pipeline warnings that can appear on Windows 8

    • 5 Comments

    If you have already worked around the installation issue and are using XNA Game Studio on a computer that has the .NET Framework 4.5 installed (including Windows 8 where the .NET Framework 4.5 is installed as a part of the OS), you might notice warnings when opening or building content projects.  The warnings look like the following:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1546,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "Microsoft.Xna.Framework.Content.Pipeline.AudioImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project.
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1546,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "Microsoft.Xna.Framework.Content.Pipeline.FBXImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project.
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1546,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "Microsoft.Xna.Framework.Content.Pipeline.TextureImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project.
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1546,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "Microsoft.Xna.Framework.Content.Pipeline.VideoImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project.
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1546,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project.

    This type of warning can occur on Windows 8 (which includes the .NET Framework 4.5 as a part of the OS) or on other versions of Windows if you install the .NET Framework 4.5 using the redistributable installer.

    If you encounter warnings like this, you can work around them by opening your .contentproj file in Notepad and adding the following property to the same property group that contains the XnaFrameworkVersion property:

    <PlatformTarget Condition=" '$(PlatformTarget)' == '' ">x86</PlatformTarget>

    <update date="2/6/2013"> Added a note about the .NET Framework 4.5.  This problem can happen if the .NET Framework 4.5 is installed on any OS, not just Windows 8. </update>

     

  • Aaron Stebner's WebLog

    Possible workaround for MSI uninstall failures caused by an error opening the installation log file

    • 1 Comments

    Recently, I was investigating a strange uninstall issue on a co-worker’s computer.  They tried to uninstall a build of an MSI-based product we are working on by using the entry in the Programs and Features control panel.  When doing so, an error dialog with the following text appeared almost immediately:

    Error opening installation log file. Verify that the specified location exists and is writable.

    Further investigation showed the following additional data:

    • Manually uninstalling the MSI manually by using msiexec.exe succeeded
    • Attempting to use the Programs and Features control panel to uninstall any other MSI that was installed on the computer failed with the same error message, so we knew that the problem was not specific to our installer.

    After a bit of investigation, I found the knowledge base article at http://support.microsoft.com/kb/2564571.  That article lists a simple workaround for this error – stop and restart the process named explorer.exe using Task Manager.  We tried it out, and it ended up working.  Hopefully this will be useful in case others run into this error message in the future.

  • Aaron Stebner's WebLog

    Mailbag: How to fix an error message that tells me to install the .NET Framework 2.0 when I restart my computer?

    • 0 Comments

    Question:

    I am running Windows 7, and every time I restart the computer, an error message appears that tells me that I need to install the .NET Framework 2.0.  When I try to download and install the .NET Framework 2.0 redistributable, setup fails and tells me that the .NET Framework 2.0 is already a part of my OS.  How can I make this error message stop appearing every time I restart my computer?

    Answer:

    Windows 7 comes with the .NET Framework 2.0 SP2, the .NET Framework 3.0 SP2, and the .NET Framework 3.5 SP1 installed as a part of the OS, and there is not a way to remove the .NET Framework 2.0 SP2 from Windows 7.  That is why running the .NET Framework 2.0 redistributable fails on Windows 7.

    In the past, when I’ve seen this type of error message appear on Windows 7, it has been caused by one of the following:

    A missing .NET Framework 2.0 registry key

    There is a way to repair the files that are a part of Windows by using SFC.exe, but that does not repair registry keys, so it won’t help in this case.   In order to determine if any critical .NET Framework registry keys are missing from your computer, you can run the .NET Framework verification tool, choose to verify the .NET Framework 2.0, and see if it reports any errors during verification.  If it reports any errors, you can open the log file for the verification tool and search for the string ***error*** to find more details about what is missing.  If any registry keys are missing, you can manually add them using regedit.exe, or you can repair Windows to restore them.

    An application that is using incorrect logic to detect whether or not the .NET Framework is installed.

    In some cases, an application was created before Windows 7 shipped, and it contains incorrect logic for detecting the .NET Framework 2.0 if the .NET Framework 2.0 is installed as a part of the OS.  If this is the case, I recommend checking for an updated version of the software on the manufacturer’s web site or looking for an FAQ on their web site to see if this is a known issue.

    If you are not sure which application is causing this error message to appear, you can use the following steps to figure it out:

    1. Run msconfig.exe.
    2. Click on the Startup tab.
    3. Look at the list and uncheck items one-by-one and reboot until you narrow down which one is causing that error.
    4. Once you narrow it down, look on the web site for the manufacturer of the application to see if they have any known Windows 7 compatibility problems and if so, see if they have an updated version that you can install.

    Note - the most common cause of this issue that I've run into so far is Lexmark printer software.  If you don't find any applications by using the steps listed above, I suggest looking for any Lexmark software installed on your computer and see if uninstalling it helps eliminate this error message when you restart your computer.

    <update date="3/29/2012"> Added a note about Lexmark printer software, which seems to be a common cause of this type of error based on my past experience. </update>

     

  • Aaron Stebner's WebLog

    Final version of the Windows Phone SDK 7.1.1 Update is now available for download

    • 0 Comments

    As announced earlier today on the Windows Phone Developer Blog, the final version of the Windows Phone SDK 7.1.1 Update has been released. The Windows Phone SDK 7.1.1 Update is a patch and not a standalone product, so you must install the Windows Phone SDK 7.1 before you can install the update. Here is some information to help you get started installing and using the Windows Phone SDK 7.1.1 Update:

    What’s in the Window Phone SDK 7.1.1 Update:

    • A new 256 MB device emulator image.
    • An updated version of the previously shipped 512 MB emulator image.
    • Updated UI in Visual Studio that allows you to deploy, run, debug and profile your Windows Phone applications and games in the 512 MB emulator or the 256 MB emulator.
    • An updated version of the Microsoft Advertising SDK.

    Changes to the Windows Phone SDK 7.1.1 Update since the CTP:

    • The update now includes fixes that were not available in the CTP that allow the emulator to run correctly on Windows 8. If you install the Windows Phone SDK 7.1 on Windows 8, you may encounter an installation failure. If you do, please refer to this blog post for more information about a workaround.
    • The update now includes a go-live license. This means that applications or games created with this update can be published on the Windows Phone marketplace.
    • The update now supports all Windows Phone SDK 7.1 languages.

    Download links for the Windows Phone SDK 7.1 and the Windows Phone SDK 7.1.1 Update:

    Documentation topics to help you get started using the Windows Phone SDK 7.1.1 Update:

  • Aaron Stebner's WebLog

    Visual Studio 11 beta and .NET Framework 4.5 beta are now available for download

    • 3 Comments

    As announced on the Building Windows 8 blog and on Jason Zander’s blog among other places, a consumer preview of Windows 8 and beta versions of Visual Studio 11, the .NET Framework 4.5 and Team Foundation Server 11 are available for download.

    Here are some links to help you get started downloading and using the Windows 8 Consumer Preview:

    Here are some links to help you get started downloading and using the Visual Studio 11 beta and the .NET Framework 4.5 beta:

Page 1 of 47 (1,172 items) 12345»