Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS
with no warranties, and confer no rights. Additionally, views expressed
herein are my own and not those of my employer, Microsoft.
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:
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.
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:
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.
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>