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.
My colleague Shawn Hargreaves wrote a helpful blog post last week that gives more detailed information about how to use isolated storage APIs in an XNA Game Studio Windows game. It includes some settings that you can change in the Visual Studio IDE so that you can use the GetUserStoreForApplication API during debugging without needing to deploy your game using ClickOnce.
If you are using isolated storage APIs in a Windows game, I strongly encourage you to check out Shawn’s post at http://blogs.msdn.com/b/shawnhar/archive/2010/12/16/isolated-storage-windows-and-clickonce.aspx for more information to help you during development and debugging of your game.
There was an announcement on the XNA team blog earlier this week about a couple of upcoming release dates, and I wanted to mention them here as well:
Xbox LIVE Community Games will require games that are created with XNA Game Studio 3.0, so make sure to download the final release when it is available on October 30th to get your game ready to submit for peer review and publishing. Keep in mind that you can start with an XNA Game Studio 2.0 project for Xbox 360 and upgrade it to 3.0 after it releases. Check out this blog post for more information about XNA Game Studio project upgrade scenarios.
Peter Marcu has posted a survey on his blog that I wanted to link to here in order to try to help him get more responses. He's looking for data to help improve the deployment experience in future versions of the .NET Framework redistributable.
If you are a developer working on the deployment of applications that require the .NET Framework, I encourage you to check out his blog post at http://blogs.msdn.com/pmarcu/archive/2008/09/20/do-you-deploy-a-managed-app.aspx and post comments there or send him an email to share your experiences and suggestions for improvements.
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:
I recently discovered a useful topic that was published on MSDN as a part of the Open Specifications initiative that I want to link to here in order to hopefully help make it easier to find.
The topic, located at http://msdn.microsoft.com/library/cc231199.aspx, provides a full table of Win32 error code values, their associated message identifiers and descriptions of what the errors mean.
This table of Win32 error codes can be useful in many types of development and troubleshooting scenarios. For example, I often use it in conjunction with the err.exe tool that I described in more detail in this previous blog post to help narrow down root causes when troubleshooting installation issues.
As announced today in this news item on the Creators Club site, XNA Game Studio 3.1 is now available for download.
Here are some links with information about how to download and get started using XNA Game Studio 3.1:
What’s new in XNA Game Studio 3.1?
XNA Game Studio 3.1 includes the following new features:
If you previously had XNA Game Studio 3.0 installed
XNA Game Studio 3.1 is a replacement for XNA Game Studio 3.0, and this means that you have to uninstall XNA Game Studio 3.0 before you can install XNA Game Studio 3.1.
Once you install XNA Game Studio 3.1, it can be used to create, build, deploy and debug both 3.0 and 3.1 projects. Existing 3.0 projects can be opened in XNA Game Studio 3.1 just like they could in XNA Game Studio 3.0, and you are not required to upgrade your 3.0 project to 3.1. You can also create new 3.0 or 3.1 projects in the New Project dialog in Visual Studio 2008 or Visual C# 2008 Express Edition.
If you choose to upgrade your 3.0 project to 3.1, you can do so by opening your 3.0 project in XNA Game Studio 3.1, right-clicking on the project in the Visual Studio Solution Explorer, and choosing the Upgrade Solution… menu item.
For more information about upgrading your 3.0 projects, check out this article on the Creators Club site.
If you encounter XNA Game Studio 3.1 setup failures
If you run into setup failures while installing XNA Game Studio 3.1, it can help to look at the log files created by XNA Game Studio 3.0 setup. They are located at %temp%\XNA Game Studio 3.1 Setup\Logs.
The best way to get help for setup issues is to gather your log files, upload them to a file server of your choice, and then post a question on the Creators Club general forum that includes a link to your log files. When doing this, please be sure to search for related issues before posting something because your question may have already been answered.
You can also report setup issues via the Connect site - please include your log files as attachments when doing this.
<update date="6/12/2009"> Added a link to a new blog post by Shawn Hargreaves about audio improvements. </update>
Last week, we posted a few Avatar samples on the Creators Club site to help people get started using Avatars in XNA Game Studio 3.1 games. We’ve just released another useful Avatar sample that I wanted to make sure everyone saw:
As always, make sure to keep an eye out on the Creators Club site for additional sample content in the future as well.
Today, the XNA Game Studio team released a Japanese version of the XNA Game Studio 3.0 documentation. You can download the installer for this documentation from this location. It can be installed on any system that has Visual C# 2008 Express Edition or Visual Studio 2008 Standard Edition or higher installed. If you already have XNA Game Studio 3.0 installed on your system, you can install the Japanese documentation side-by-side and access both the English and the Japanese documentation in the help viewer.
If you read Japanese and would like to view the existing XNA Game Studio 3.0 help documentation in Japanese instead of (or in addition to) English, then I encourage you to download the XNA Game Studio 3.0 Japanese documentation installer and give it a try.
Yesterday, the publishing process was completed for the online version of the XNA Game Studio 3.0 documentation. You can access this documentation at http://msdn.microsoft.com/library/bb200104.aspx.
The documentation is also installed as a part of the XNA Game Studio 3.0 product if you would like to use the documentation on your computer without requiring access to the Internet. You can launch the documentation by clicking on the Windows start menu, choosing All Programs, then XNA Game Studio 3.0, then XNA Game Studio Documentation.
Nazeeh, a colleague of mine, has posted a great article on his blog that I wanted to link to here. He provides an in-depth introduction to Zune game development with XNA Game Studio 3.0, with a particular focus on optimizing the game memory footprint to fit within the 16 megabyte limit that is enforced for XNA Framework-based Zune games.
You can find the post at http://www.nazspace.com/wp/2008/09/30/understanding-zune-development/, and it includes the following topics:
I encourage you to check out this post if you are developing XNA Framework-based games for the Zune or are considering getting started with Zune game development.
Last month, there was an item posted on the XNA Game Studio team blog with a rough timeline for when to expect the final release of the 4.0 version of XNA Game Studio Connect and the opening of the Xbox LIVE Indie Games publishing pipeline for 4.0 games. Today, the exact release dates were announced in this new post on the XNA Game Studio team blog and in this news item on the App Hub site. Here is a summary of the key information announced there:
Stay tuned to the App Hub site on Friday, November 5, 2010 for the official announcement that the Xbox LIVE Indie Games publishing pipeline is open for 4.0 games. There will also be reminders over the next 90 days as the end of the window to submit games created with XNA Game Studio 3.1 approaches.
A couple of weeks ago, a Best Practices for Community Games guide was published on the Creators Club web site that provides a list of suggestions to consider when creating Xbox LIVE Community Games using XNA Game Studio 3.0. You can find this guide at http://creators.xna.com/en-us/education/bestpractices. You are not required to follow these guidelines when creating your game, but following these guidelines will add polish to your game that will hopefully make it appeal to more users, increase your sales via Xbox LIVE Community Games, etc.
This best practices guide currently includes information about the topics listed below. It describes things to consider when designing and building your game, and also has links to relevant samples and documentation topics to provide more details and code snippets to help you get started:
In addition, Mitch Walker has posted an item on his blog that provides more details about one of the bullet points in the Seamless loading and saving section of the best practices guide. In his blog post at http://blogs.msdn.com/mitchw/archive/2008/10/15/the-one-about-storage.aspx, he demonstrates how to implement the Guide.BeginShowStorageDeviceSelector API in an asynchronous manner so that your game will not deadlock on systems that have multiple storage devices attached (such as a hard drive and a memory unit).
Most people probably know that the 2009 Game Developers Conference (GDC 2009) is coming up next week in San Francisco, California, USA. There will be two developer days next Monday and Tuesday (March 23 and 24, 2009), and the main conference will be open next Wednesday through Friday (March 25, 26 and 27, 2009).
I'll be in San Francisco from Tuesday afternoon, March 24, through Friday afternoon, March 27, for GDC this year. I hope to see you there to talk about XNA Game Studio and game development.
Here is some more information about some things to look for if you're attending GDC 2009:
Overview of Microsoft-sponsored talks at GDC
The developer day on March 23 will focus on XNA Game Studio technologies. The developer day on March 24 will focus on DirectX and Xbox 360 game development technologies. There will also be several talks during the main GDC conference about Microsoft game development technologies.
My colleague Michael Klucher posted this item on his blog that contains a detailed listing of the developer day tracks and the conference talks, so I encourage you to check out that schedule if you're going to be at GDC this year.
Information about the XNA Lobby Bar
In addition, the XNA team will be hosting a lobby bar Wednesday through Friday for conference attendees. There will be some brief talks with hands-on demos and an "ask the experts" area where you can meet team members and ask questions in a more informal setting. Michael also posted a schedule for the GDC lobby bar talks in this post on his blog. Among other talks, there are a couple that are specifically focused on XNA Game Studio and Xbox LIVE Community Games:
At GDC 2009, my colleague Michael Klucher presented a session at the XNA Lobby Bar titled Best Practices for Xbox LIVE Community Games. This session covered several topics, including an overview of some of the best practices for developers to keep in mind as they create their games and a description of how to leverage play testing to identify bugs and game play issues prior to submitting your game for peer review.
In addition to the above best practices that can be leveraged during game development, Michael presented some ideas that developers can use to advertise their games after they have been published to Xbox LIVE.
Michael wrote a post on his blog last week to provide more detail about one of the ideas he presented in the session – how to find and use the links to your game’s page on Xbox LIVE Marketplace to advertise your game. Every published Xbox LIVE Community Game automatically has a page created for it on Xbox LIVE Marketplace, and the techniques Michael describes on his blog can improve discoverability and make it easier for consumers to download and purchase your game.
You can find detailed information about how to do this in the blog post at http://klucher.com/blog/leveraging-the-power-web-marketplace-for-xbox-live/.
In the time since Michael wrote his blog post, a couple of folks posted information in this Creators Club forum post about a site they created at http://xblcg.info/ to index the Xbox LIVE Community Games. This site allows developers to provide shorter, more friendly URLs for each game on Xbox LIVE Marketplace, which makes it even easier to implement the suggestions in Michael’s blog post.
If you have created and published an Xbox LIVE Community Game, I encourage you to check out Michael’s blog post and the information on the forums for more information about a great option to advertise your game.
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.
A little while ago, I posted an item about the XNA Game Studio 2.0 Japanese documentation package that was released by the XNA community gaming platform team. This package allows you to install a local collection of Japanese help topics for the XNA Game Studio 2.0 product. This documentation is stored on the local file system and can be accessed in the Visual Studio help viewer even if the computer does not have an active Internet connection.
Recently, the XNA Game Studio 2.0 Japanese help documentation was also published to the online MSDN library at http://msdn.microsoft.com/ja-jp/library/bb200104.aspx. This enables users to search online for Japanese help topics for XNA Game Studio 2.0. In addition, you can configure Visual Studio 2005 and Visual C# 2005 Express Edition to automatically load the online Japanese help documentation first if it is able to access the Internet. To change the Visual Studio online help language preferences, you can do the following:
These steps will allow you to view Japanese help documentation for XNA Game Studio 2.0 even if you do not download and install the Japanese documentation package, but it does require your computer to have Internet access at the time you try to view help topics. You can also click the check box on the Help item in the Visual Studio options page to cause it to display the English versions of the help topics as well if you choose to.
Last week, we released XNA Game Studio 4.0 and the Windows Phone Developer Tools. However, there was a slight delay in the release of the new XNA Game Studio Connect beta that allows you to deploy, run and debug 4.0 games on your Xbox 360. As announced on the XNA team blog this morning, the XNA Game Studio Connect beta is now available for download on the Xbox LIVE Marketplace.
You will need to delete the version of XNA Game Studio Connect that you have installed on your Xbox 360 console, then download the new one. You can find more detailed steps in this blog post and this news item.
If you are planning to use XNA Game Studio 4.0 for Xbox 360 game development, I encourage you to download and try out the XNA Game Studio Connect beta. If you run into any issues, please report them at the following locations:
A couple of weeks ago, I got the opportunity to meet and chat with several XNA and DirectX MVPs at the 2011 MVP Summit on the main Microsoft campus in Redmond, Washington. At the summit, a couple of the MVPs, Chris Williams and George Clingerman, were autographing copies of their new book, Professional Windows Phone 7 Game Development – Creating Games Using XNA Game Studio 4.
The book was released in February 2011, and it provides in-depth information about developing and publishing Windows Phone 7 games using XNA Game Studio 4.0, including 3 complete games. If you are looking into developing games using XNA Game Studio and the Windows Phone 7 platform, I encourage you to check out this book. You can find it on Amazon.com and at other retailers.
Starting with the Zune 3.0 firmware, you can install and play a set of games on your Zune device. Texas Hold Em, Hexic, Checkers, Sudoku and Space Battle are available in the Zune firmware and software that is available at the time that I am writing this blog post.
These in-box games are created with the XNA Framework, but they behave a bit differently than Zune games that you can create yourselves with XNA Game Studio 3.0. Specifically, many developers have asked on the forums why these games do not require a reboot of the Zune device when you exit them, whereas games created by other developers and deployed to the Zune device using XNA Game Studio 3.0 or via a .ccgame package do require a device reboot.
My colleague Michael Klucher has posted an item on his blog explaining more details about what is going on behind the scenes in these scenarios and why one set of games requires a device reboot and another set does not. If you are interested in learning more, I encourage you to read the blog post at http://klucher.com/blog/zune-games-and-rebooting-devices/.
Also, this scenario has been reported several times via the Connect bug reporting site. If this scenario is important to you, I encourage you to vote on this existing Connect bug (please vote on the existing bug instead of opening a new bug) so that the XNA will be aware of your feedback as we plan for future versions of XNA Game Studio and the XNA Framework.
As announced earlier today on the XNA Game Studio team blog and on the App Hub forums, there have been a few changes to the Xbox LIVE Indie Game submission policies to give developers more flexibility when submitting their games. Here is a brief summary of the changes:
Please visit this forum thread for more detailed information and answers to any questions you might have about these changes.
Rob Mensching posted an item on his blog announcing the release of the WiX v3.6 beta. The key feature in WiX v3.6 is the Burn bootstrapper/chainer. To summarize Rob’s post, Burn includes the following features:
In addition, all known WiX core toolset bugs that were opened against WiX v3.5 or earlier have been fixed in the WiX v3.6 beta.
I encourage you to download the WiX v3.6 beta and give it a try if you get a chance.
My colleague Michael Klucher posted some screenshots and details on his blog about the new version of XNA Game Studio Connect that will be released along with the final release of XNA Game Studio 3.0. You can find Michael's blog post at http://klucher.com/blog/the-new-xna-game-studio-connect/.
There is some important information in his post for current XNA Creators Club members who are using XNA Game Studio 2.0 to deploy games to their Xbox 360s. The upcoming updated version of XNA Game Studio Connect will replace the 2.0 version of XNA Game Studio Connect, and you will use it to deploy games created with both XNA Game Studio 2.0 and XNA Game Studio 3.0.
Unfortunately, there are some manual steps you will have to take if you already have the 2.0 version of XNA Game Studio Connect in order to download and use the new 3.0 version. At a high level, you will need to do the following (note - there is a more detailed set of steps to accomplish these tasks in Michael's blog post):
Once the 3.0 version of XNA Game Studio Connect is released, the 2.0 version will be updated to display a single screen that contains a set of instructions similar to the ones on Michael's blog so that you will know that you need to update it in order to continue deploying games to your Xbox 360. In addition, the 2.0 version will no longer be available on the Xbox LIVE Marketplace once the 3.0 version is released, so there will hopefully not be any confusion about what you need to download.
As noted on the XNA Game Studio team blog today, the Xbox LIVE Indie Games publishing pipeline is now accepting XNA Game Studio 4.0 games in addition to XNA Game Studio 3.1 games. This was originally scheduled to be enabled last Friday, but it slipped out a few days due to a couple of last minute issues that we ran into at the end of last week. As a result, the 90 day window when you will still be able to submit XNA Game Studio 3.1 games has been moved out accordingly. The last day you will be able to submit an XNA Game Studio 3.1 game for Xbox LIVE Indie Games is Monday, February 7, 2011.
Please see the following locations for more information about supported versions of XNA Game Studio for Xbox LIVE Indie Games and Xbox 360:
Last week, I posted an item about the release of the XNA Game Studio 3.0 Japanese documentation installer. This package allows you to install a local collection of Japanese help topics for XNA Game Studio 3.0. This documentation is stored on the local file system and can be accessed in the Visual Studio help viewer even if the computer does not have an active Internet connection.
Today, the XNA Game Studio 3.0 Japanese help documentation was also published to the online MSDN library at http://msdn.microsoft.com/ja-jp/library/bb200104.aspx. This enables users to search online for Japanese help topics for XNA Game Studio 3.0. In addition, you can configure Visual Studio 2008 and Visual C# 2008 Express Edition to automatically load the online Japanese help documentation first if it is able to access the Internet. To change the Visual Studio online help language preferences, you can do the following:
These steps will allow you to view Japanese help documentation for XNA Game Studio 3.0 even if you do not download and install the Japanese documentation package, but it does require your computer to have Internet access at the time you try to view help topics. You can also click the check box on the Help item in the Visual Studio options page to cause it to display the English versions of the help topics as well if you choose to.
My colleague Michael Klucher posted some information on his blog today about an upcoming update that will be available soon for the XNA Game Studio Connect application. XNA Game Studio Connect is the component that you run on an Xbox 360 in order to deploy, debug, test and peer review Xbox 360 games created with XNA Game Studio.
After the release of Xbox LIVE Community Games last fall, we ran into a few issues where the behavior of the game when running in XNA Game Studio Connect didn't match the behavior after it is published and is run as a community game. As a result, there were a few scenarios that were not possible for the developer or peer reviewer to test before the game was published, and in some cases a game that appeared to run fine during peer review would crash after it was published.
The upcoming update to XNA Game Studio Connect is intended to make the experience of running the game during development and peer review more closely match the experience of running it after it is published. The update will be available in the next few weeks, and Michael includes more details about the changes that were made behind the scenes in his blog post so I encourage you to check that out as well.