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.
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:
A while back, I wrote a blog post describing how to extract the contents of the XNA Game Studio 2.0, 3.0 and 3.1 setup packages and install the components manually in case the normal installation process fails. I just went back and updated that blog post to also list the steps for extracting and manually installing XNA Game Studio 4.0.
I’ve gone back and forth about whether or not to update this type of older blog posts in place as new product versions are released or post new ones. In this case, I decided to update the existing post since I can then have a single location to point people to for all versions of XNA Game Studio. However, I also wanted to post a new item about this to help improve visibility since I’m not sure how often folks go back and look at older content.
Here is a copy of the steps I added for XNA Game Studio 4.0. Note - for the instructions below, if you are running a 64-bit version of Windows, you will need to use %programfiles(x86)% instead of %programfiles% for the installation paths.
Please refer to the previous post for instructions for all versions of XNA Game Studio.
To manually install XNA Game Studio 4.0
Note: This MSI will only display a small progress bar while it is installing and will not tell you when it is done. When the progress bar disappears, continue to the next step.
<update date="11/8/2010"> Added a note about the %programfiles(x86)% path on 64-bit versions of Windows. </update>
<update date="11/21/2011"> Removed an incorrect step from the list. </update>
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.
As announced earlier this week in this post on the Windows Phone Developer Blog, the Windows Phone Developer Tools October 2010 Update is now available for download. This update is a patch, so you must install the Windows Phone Developer Tools before you will be able to install the update.
This update includes the following components:
Here are some links to help you get started with the Windows Phone Developer Tools October 2010 Update:
At the end of last week, the XNA Game Studio team released the XNA Game Studio 4.0 Japanese language pack. I wanted to provide some more information about this language pack and some download links to help you get started. My colleague Yuichi Ito has also posted an introduction to the XNA Game Studio 4.0 Japanese language pack in Japanese on his blog at http://blogs.msdn.com/b/ito/archive/2010/10/21/xna-game-studio-4-0-language-pack-released.aspx.
XNA Game Studio 4.0 Japanese language pack links
Here are some links to help you get started if you want to use the XNA Game Studio 4.0 Japanese language pack:
How to install the XNA Game Studio 4.0 Japanese language pack
You must first install XNA Game Studio 4.0 before installing the Japanese language pack. You can install XNA Game Studio 4.0 by using one of the following installers:
What is included in the XNA Game Studio 4.0 Japanese language pack
The XNA Game Studio 4.0 Japanese language pack provides localized versions of the following XNA Game Studio 4.0 components:
Question:
You previously posted lists of command line switches to perform silent and unattended installations of the Visual C++ 2005 redistributable and the Visual C++ 2008 redistributable. How can I perform silent and unattended installations of the Visual C++ 2010 redistributable?
Answer:
The Visual C++ 2010 redistributable packages (vcredist_x86.exe, vcredist_x64.exe and vcredist_ia64.exe) support the following command line installation options.
The examples below use the file named vcredist_x86.exe, but you can substitute the x64 or ia64 versions of the EXEs with equivalent command lines to achieve the same behavior for them as well.
Silent install
This option will suppress all UI and perform an install.
<full path>\vcredist_x86.exe /q /norestart For example, if you download vcredist_x86.exe to a folder named c:\vc2010redist, then the command line would look like this: c:\vc2010redist\vcredist_x86.exe /q /norestart
<full path>\vcredist_x86.exe /q /norestart
For example, if you download vcredist_x86.exe to a folder named c:\vc2010redist, then the command line would look like this:
c:\vc2010redist\vcredist_x86.exe /q /norestart
Unattended install
This option will display a progress dialog (but requires no user interaction) and perform an install.
<full path>\vcredist_x86.exe /passive /norestart For example, if you download vcredist_x86.exe to a folder named c:\vc2010redist, then the command line would look like this: c:\vc2010redist\vcredist_x86.exe /passive /norestart
<full path>\vcredist_x86.exe /passive /norestart
c:\vc2010redist\vcredist_x86.exe /passive /norestart
Silent repair
This option will suppress all UI and perform a repair.
<full path>\vcredist_x86.exe /q /repair /norestart For example, if you download vcredist_x86.exe to a folder named c:\vc2010redist, then the command line would look like this: c:\vc2010redist\vcredist_x86.exe /q /repair /norestart
<full path>\vcredist_x86.exe /q /repair /norestart
c:\vc2010redist\vcredist_x86.exe /q /repair /norestart
Silent uninstall
This option will suppress all UI and perform an uninstall.
<full path>\vcredist_x86.exe /q /uninstall /norestart For example, if you download vcredist_x86.exe to a folder named c:\vc2010redist, then the command line would look like this: c:\vc2010redist\vcredist_x86.exe /q /uninstall /norestart
<full path>\vcredist_x86.exe /q /uninstall /norestart
c:\vc2010redist\vcredist_x86.exe /q /uninstall /norestart
A note about reboots
All of the examples above use the /norestart switch to suppress reboots after the setup process completes. The /norestart switch does not eliminate the need to reboot entirely – it just gives the calling process control over when to schedule the reboot if one is needed due to files being in use during setup. If you run the Visual C++ 2010 redistributable setup and use the /norestart switch, you must check the exit code returned by the setup process and handle it accordingly in the calling process. Here are the possible exit codes:
Related link
At the end of last week, the French, German, Italian and Spanish versions of the Windows Phone Developer Tools were released. These versions of WPDT contain localized versions of the developer tools (including XNA Game Studio 4.0 components) and the Windows Phone Emulator. You can only install one language of the Windows Phone Developer Tools on a computer at a time, so if you already have the English version installed and want to use one of these localized versions, you will need to uninstall the English version first.
Here are links that you can use to download and get started using each language version of the Windows Phone Developer Tools.
French Windows Phone Developer Tools links
German Windows Phone Developer Tools links
Italian Windows Phone Developer Tools links
Spanish Windows Phone Developer Tools links
There was an item posted on the XNA Game Studio team blog today that I wanted to link to in order to raise visibility because it helps answer some questions that have been asked frequently since XNA Game Studio 4.0 shipped last month. The post is located at http://blogs.msdn.com/b/xna/archive/2010/10/12/xna-game-studio-4-0-submissions-for-xbox-live-indie-games.aspx, and it provides more detail about the timeframe when the Xbox LIVE Indie Games submission pipeline will start accepting games created with XNA Game Studio 4.0 and when it will stop accepting games created with XNA Game Studio 3.1.
Here is a summary of the information in that post:
If you are just getting started with an Xbox 360 game using XNA Game Studio or have a game in progress that you do not plan to be ready to publish on Xbox LIVE Indie Games by the end of this year, then we recommend starting with XNA Game Studio 4.0 or porting your game to XNA Game Studio 4.0 to prepare for the above changes to the Xbox LIVE Indie Game pipeline.
As always, stay tuned to the XNA Game Studio team blog and the App Hub site for future announcements about the final release date for XNA Game Studio Connect for XNA Game Studio 4.0 and the opening of the Xbox LIVE Indie Games pipeline for XNA Game Studio 4.0 games.
Note - there is now a simpler set of steps to create a game with a localized title, and I have written a newer blog post with updated steps. Please refer to http://blogs.msdn.com/b/astebner/archive/2010/12/10/10103522.aspx for more details.
Recently, a user posted a question on the XNA forums asking how to localize the name of their Windows Phone game. They were attempting to follow the How to: Localize an Application Title for Windows Phone tutorial in the Windows Phone documentation, but were running into some issues. That tutorial contains instructions for localizing the title of a Silverlight application, but the steps are a bit different for XNA games. I also found some of the steps to be vague and/or confusing while I tried to work through them on my own.
I’ve created an updated set of steps that can be used to localize the name of a Windows Phone game created with XNA Game Studio 4.0. I also uploaded a sample solution that implements these steps.
The steps below and the sample solution that I have created both require that you use Visual Studio 2010 Professional, Premium or Ultimate because the steps require a version of Visual Studio that supports creating a solution that contains both C++ and C# projects. The VS 2010 Express Editions do not support this.
Step 0 – Create a Windows Phone game project
Step 1 – Create a language-neutral native resource DLL
Note - the name of the native resource DLL is important in this scenario. It must be named AppResLib.dll, and the localized versions must be named AppResLib.dll.*.mui. If they are named differently, your game will be rejected by the Windows Phone Marketplace certification process.
AppTitle AppTileString
Step 2 – Create an English (US) native resource DLL
copy "$(OutputPath)$(ProjectName).dll" "$(OutputPath)\AppResLib.dll.0409.mui"
Step 3 – Create native resource DLLs for other supported languages
Step 4 – Add native resource DLLs to your Windows Phone game project
Step 5 – Make your Windows Phone game project dependent on the native resource DLL projects
Step 6 – Update your Windows Phone game to load title strings from the resource DLLs
Update the application title by doing the following:
Update the tile title by doing the following:
The tile title is the name that is displayed if you click and hold on your application/game in the Windows Phone OS and choose to pin it to the start menu. There is some additional information about these properties and how to configure them in XNA Game Studio games in this documentation topic. Depending on the scenarios you want to support for your game, it may not be necessary to create separate strings for your application title and tile title. If you plan to use the same string for both, you do not need to create separate entries in the string table in each of your native resource DLLs in the instructions above.
Step 7 – Rebuild your Windows Phone game solution
Rebuild the solution that contains your Windows Phone Game project and your resource DLL projects. When doing so, make sure that the Windows Phone Game project is set as the startup project (as opposed to one of the resource DLL projects or your content project).
<update date="10/15/2010"> I found out today that the ingestion process requires that the resource DLL be named AppResLib.dll, so I've updated the steps in this post to reflect that, and I've posted an updated sample solution. </update>
<update date="1/18/2011"> Added a stronger warning about the naming of the DLL needing to exactly match what is listed in the documentation. </update>
My colleague Michael Klucher posted an item on his blog earlier this week that I wanted to link to in order to hopefully help raise visibility for it. In his post at http://klucher.com/blog/trials-and-tribulations/, he describes a performance issue to be aware of when developing Windows Phone games using XNA Game Studio 4.0 and the Windows Phone Developer Tools.
Here is a quick summary of the key points in his post:
In past releases, we have published XNA Game Studio developer education content on the Creators Club site, and we have continued to do so as new XNA Game Studio 4.0 content is published. The recently released XNA Game Studio 4.0 integrates into the Visual Studio 2010 family of products. Visual Studio 2010 has some new features to provide direct access from the VS IDE to tools and developer education content hosted on the Visual Studio Gallery web site.
XNA Game Studio 4.0 sample content on the VS Gallery
We’ve started converting some of the XNA Game Studio 4.0 samples into project templates and publishing them on the Visual Studio Gallery in addition to posting them on the Creators Club site. We created an account named XNA GS Education on the VS Gallery web site and have posted an initial set of project templates for XNA Game Studio 4.0 content using that account. You can see a full list of available content on the VS Gallery web site, and you can find XNA Game Studio 4.0 sample content in the Visual Studio 2010 New Project dialog and in the Extension Manager.
In addition, anyone inside or outside of Microsoft can post their own sample content on the VS Gallery web site and it will show up in the same locations in the VS IDE as the content that we are uploading. The packaging process is a little tricky – it requires creating a VS 2010 project template and then creating a .vsix file with some specific settings. We are thinking about ways that we can make the VS Gallery publishing process easier for the XNA Game Studio team and the community. For now, this is a somewhat manual process, and that is why there is currently only a small amount of XNA Game Studio content aside from the entries that our team has published.
Accessing online templates via the Visual Studio 2010 New Project dialog
XNA Game Studio sample content is available within the New Project dialog in Visual Studio 2010, Visual C# 2010 Express and Visual Studio 2010 Express for Windows Phone. To access this content via the New Project dialog, you can do the following:
Accessing online templates, controls and tools via the Visual Studio 2010 Extension Manager
XNA Game Studio sample content is available in Extension Manager in Visual Studio 2010. The Extension Manager is not available in Visual C# 2010 Express or Visual Studio 2010 Express for Windows Phone. To access this content via Extension Manager, you can do the following:
In general, I tend to use the New Project dialog to access this XNA Game Studio sample content, even if I’m using an edition of VS 2010 that supports Extension Manager because I prefer the simpler experience of installing + instantiating the template in a single step that is the same as the step I use to instantiate one of the in-box project templates.
If you are an XNA Game Studio developer, I encourage you to install a VS 2010 edition and XNA Game Studio 4.0 if you haven’t yet and check out some of the great sample content available directly from the VS 2010 IDE.
Since XNA Game Studio 4.0 and the Windows Phone Developer Tools shipped a couple of weeks ago, I’ve run into some common questions about the supported OS and Visual Studio matrix, so I decided to try to create a couple of tables to better illustrate what XNA Game Studio 4.0 functionality you can use where and provide a little more detail about the install scenarios.
XNA Game Studio 4.0 – how to install
You can download and install XNA Game Studio 4.0 two different ways:
1. As an integrated part of the Windows Phone Developer Tools
2. As a standalone XNA Game Studio 4.0 package
The following tables provide different views into what functionality is supported where.
XNA Game Studio 4.0 – Supported Visual Studio editions
The following table shows what type of games you can develop with XNA Game Studio 4.0 in what editions of Visual Studio 2010.
In the table above, Yes* means that the scenario is supported, but only if you install the Windows Phone Developer Tools. It is not supported if you only install the standalone XNA Game Studio 4.0 product.
XNA Game Studio 4.0 – Supported operating systems
The following table shows what type of games you can develop with XNA Game Studio 4.0 on what versions of Windows.
Windows Phone Developer Tools and Visual Studio editions
Windows Phone Developer Tools setup will always install Visual Studio 2010 Express for Windows Phone (vpdexpress.exe), even if you already have another edition of Visual Studio 2010 installed. If you have Visual Studio 2010 Professional, Premium or Ultimate installed, WPDT setup will add Windows Phone development features to those editions of Visual Studio 2010 as well.
WPDT setup has somewhat confusing logic about what shortcuts it creates for Visual Studio 2010 editions. If it detects that you to not have Visual Studio 2010 Professional, Premium or Ultimate installed, it will create a shortcut to Visual Studio 2010 Express for Windows Phone (vpdexpress.exe). If it detects that you do have Visual Studio 2010 Professional, Premium or Ultimate installed, it will not create a shortcut to Visual Studio 2010 Express for Windows Phone (vpdexpress.exe), but it is still installed behind the scenes in case you want to use it. Regardless of what start menu shortcuts appear after installation, you can launch the supported Visual Studio 2010 editions for XNA Game Studio 4.0 development directly from the following locations (these locations assume that you have installed Visual Studio 2010 to the default location):
Note – in the paths above, you should substitute %ProgramFiles(x86)% for %ProgramFiles% if you are running a 64-bit version of Windows.
Michael Klucher wrote a blog post earlier this week that included some information about Windows Phone icon sizes for games and applications. I wanted to provide a little more information about where each icon image is used and also give some suggestions for how to test your game icons in the emulator. Here is a summary of what this blog post covers:
Windows Phone 7 icon types
The Windows Phone Developer Tools allows you to configure 2 different types of application icons:
Windows Phone 7 icon sizes
The Windows Phone 7 OS displays application icons in 2 different sizes, depending on where they appear:
Configuring your project as an application or a game
The location that your application appears in the Windows Phone 7 OS depends on whether you have configured it to be an application or a game. During development, this setting is controlled by the Genre value in the file \Properties\WMAppManifest.xml. When you get ready to submit your application or game to the Windows Phone Marketplace, you will be asked in a web form whether it is an application or a game. The ingestion process will take the value that you select there and overwrite whatever you list in the file \Properties\WMAppManifest.xml in the project you submit.
The technology used to create the application or game does not matter. In other words, although the default experience is to create games with XNA Game Studio and applications with Silverlight, you can also create applications with XNA Game Studio and games with Silverlight if you want to.
Deployment details for games
Deployment details for applications
Updating icons in an XNA Game Studio 4.0 Windows Phone game project
The default project templates for both Silverlight for Windows Phone and XNA Game Studio 4.0 Windows Phone projects in the Windows Phone Developer Tools use the settings for applications, not games. When you are ready to configure your XNA Game Studio 4.0 project as a game and update the icons, there are a couple of options. What I typically do is the following:
Alternatively, you can create a 173x173 .png file and overwrite the default GameThumbnail.png in your project. However, if you do that, you also have to remember to overwrite Background.png in your project as well. For a Windows Phone game, there isn’t any real reason to need 2 different icons because Games Hub and the start menu both use the same icon size.
How to test a game’s application icon in the emulator
The Windows Phone emulator does not have the Games Hub in it, so you cannot directly test how your application icon will look when it is displayed in Games Hub. However, the icon size in Games Hub matches the icon size when an application is pinned to the start menu. That means that you can use steps like the following to test the appearance of your game’s application icon in the emulator:
Additional information
There are a few follow-up questions that folks usually ask when I explain the above information to them:
If you have an XNA Game Studio 3.1 project that includes an XACT audio project and plan to upgrade it to XNA Game Studio 4.0, there is an additional manual step you must take to upgrade your XACT project to the newer XACT file format required by XNA Game Studio 4.0.
We updated the XACT tools used by XNA Game Studio 4.0 at the last-minute due to an issue that we discovered shortly before shipping. Unfortunately, we did not have time to add information about how to upgrade XACT projects to the XNA Game Studio 4.0 upgrade documentation. Hopefully this blog post will help folks who run into this issue figure out how to upgrade their XACT projects so they will work correctly with XNA Game Studio 4.0.
Description of the issue
If you have an existing XNA Game Studio 3.1 project that uses an XACT audio project, then you upgrade your project to XNA Game Studio 4.0, you will see an error like the following in the Visual Studio error list when you attempt to compile it with XNA Game Studio 4.0:
The .xap file was created with a version of XACT that is incompatible with the XNA Framework Content Pipeline version used by this project. Refer to the documentation for options to resolve this mismatch.
How to update an XACT project from XNA Game Studio 3.1 to the format required by XNA Game Studio 4.0
Here are some more specific steps you can use to upgrade an XACT project used in XNA Game Studio 3.1 to the version of XACT required by XNA Game Studio 4.0:
Additional notes about this error message
The steps above explain how to upgrade an XACT project created with XNA Game Studio 3.1 to an XACT project that can be used with XNA Game Studio 4.0. However, there are a few different scenarios where the “.xap file was created with a version of XACT that is incompatible with the XNA Framework Content Pipeline version used by this project” error message can occur, so the above workaround may not successfully resolve this error in all cases.
Here are some of the possible configurations where this error will occur:
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:
I have heard from a few people who tried to install the final release of the Windows Phone Developer Tools but get an installation error like the following:
Visual Studio setup cannot run in compatibility mode. For more information see the 'Installing' section in the Visual Studio readme at http://go.microsoft.com/fwlink/?LinkID=143397.
The link in the error message points to the Visual Studio 2010 readme because this issue can affect all editions of Visual Studio 2010, including WPDT. Item 2.1.10 in that readme provides a workaround for this issue. In my past experience, that workaround has proven to be incomplete though, so here are some updated steps that usually help solve this type of error:
If the above doesn’t help, then you can also try to save vm_web.exe to your computer and run it from there. When compatibility mode is triggered by Windows, it is based on a full path to the setup executable, so if you save it to a different location than you previously tried to run it from and then run it again, that can help avoid triggering compatibility mode.
A few folks have noticed that after uninstalling pre-release builds of the Windows Phone Developer Tools and installing the final release, the default value for the deployment dropdown for Silverlight and XNA Game Studio 4.0 Windows Phone projects is the device instead of the emulator. The default value is supposed to be set to the emulator in all cases, but in some cases, uninstalling previous builds of WPDT leaves behind some information that causes the default value to be reversed. If you run into this, you can reset it by doing the following:
Since we released the final version of the Windows Phone Developer Tools and XNA Game Studio 4.0, I’ve heard from a few people who were using the beta version of the tools, upgraded to the final release, and ran into errors when compiling their XNA Game Studio 4.0 projects. I want to describe the errors, the root cause and the fix in more detail in case anyone runs into this in the future.
Description of this issue:
After upgrading from the beta to the final release, some XNA Game Studio 4.0 projects created with the beta may fail to compile with errors like the following:
Could not resolve this reference. Could not locate the assembly "Microsoft.Xna.Framework.Content.Pipeline.EffectImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
There was a breaking change in XNA Game Studio 4.0 between the beta and RTW that will require you to update any projects that you created with pre-release builds of the tools. There is a note about this issue in the Breaking Changes for Windows Phone Developer Tools from Beta to RTM section of the release notes, but it is pretty easy to miss, and it doesn’t include searchable text that includes the exact error message:
The public key token for XNA Framework assemblies has changed. Assembly references in content projects and game projects created using previous releases of Windows Phone Developer Tools must be updated to work correctly. You can do this by removing and re-adding references that do not resolve correctly using the References node in the Visual Studio Solution Explorer.
The XNA Framework public key token value changed from 6d5c3888ef60e27d to 842cf8be1de50553 in the final release of XNA Game Studio 4.0. This causes assembly references to XNA Framework assemblies in projects created before this change to no longer resolve correctly once you update to the final release of XNA Game Studio 4.0.
How to resolve this issue:
You can use the following specific steps to resolve this issue if you run into it for XNA Game Studio 4.0 projects created with pre-release builds of the tools:
References that do not resolve correctly will show up with a little yellow and black exclamation mark next to them like the content pipeline assemblies referenced by the content project in this example:
As announced on the Windows Phone Developer Blog, the final release of the Windows Phone Developer Tools (WPDT) (which includes the final release of XNA Game Studio 4.0) is now available for download.
Getting started links – Windows Phone Developer Tools
Here are links to help you get started installing and using the Windows Phone Developer Tools:
Here are links for documentation and support related to the Windows Phone Developer Tools:
Getting started links – XNA Game Studio 4.0
Here are links to help you get started installing and using XNA Game Studio 4.0:
Note – deploying, running and debugging Xbox 360 games with XNA Game Studio 4.0 requires an updated version of XNA Game Studio Connect on the Xbox 360 console. As noted on the XNA team blog, there will be a beta version of XNA Game Studio Connect that supports XNA Game Studio 4.0. It was supposed to release today along with the final release of XNA Game Studio 4.0, but there have been some slight delays, and it will be released very soon. Please keep an eye on the XNA team blog and the Creators Club site for an announcement when the XNA Game Studio Connect beta is available for download.
Here are links for documentation and support related to XNA Game Studio 4.0:
How to install Windows Phone Developer Tools
Here are steps you can use to install the Windows Phone Developer Tools:
If you encounter setup failures
If you run into an installation or uninstallation failure for the Windows Phone Developer Tools, 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, CTP Refresh or Beta, you can use the information at http://blogs.msdn.com/b/astebner/archive/2010/07/12/10037442.aspx to remove XNA Game Studio or the Windows Phone Developer Tools.
<update date="10/11/2010"> Fixed link to the release notes that was still pointing to old beta information. </update>
Many folks noticed the recent post on the Windows Phone Developer Blog that announced a September 16, 2010 release date for the Windows Phone Developer Tools. XNA Game Studio users have noted that CTP and beta versions of WPDT have included pre-release builds of XNA Game Studio 4.0, and they have asked whether that implies that XNA Game Studio 4.0 is shipping then as well. Today, Kathleen posted more details about the answer to this question on the XNA team blog, and I wanted to summarize it here as well and provide a bit more detail about the scenarios that will be supported when XNA Game Studio 4.0 is released.
When will XNA Game Studio 4.0 be available, and what will it include?
The Windows Phone Developer Tools will ship on September 16, and XNA Game Studio 4.0 will also ship on September 16. The final release of XNA Game Studio 4.0 will include the following:
Along with XNA Game Studio 4.0, we will be shipping a beta version of a version of XNA Game Studio Connect that will allow you to deploy, run and debug XNA Framework 4.0 Xbox 360 games if you have an XNA Creators Club premium membership. We will release the final version of XNA Game Studio Connect in the future, but the API surface area will be the same because that is defined by the XNA Framework reference assemblies that ship with XNA Game Studio 4.0. That means that once the final version of XNA Game Studio Connect is released, you should not have to make any code changes to your game in order to get it to run correctly.
Where will I be able to get XNA Game Studio 4.0?
XNA Game Studio 4.0 will be available to install as a part of the Windows Phone Developer Tools installer or via a standalone package. Windows Phone Developer Tools setup will install the same XNA Game Studio 4.0 package that will be available as a standalone download, and it will install some additional components to enable Windows Phone development. The supported scenarios differ somewhat based on how you choose to install XNA Game Studio 4.0.
Windows Phone Developer Tools supports the following:
The standalone XNA Game Studio 4.0 package supports the following:
Microsoft has posted an updated knowledge base article today with a unified list of install state and service pack level detection information for each of the currently released versions of the .NET Framework (1.0, 1.1, 2.0, 3.0, 3.5 and 4). You can find the knowledge base article at http://support.microsoft.com/kb/318785 and I encourage you to take a look if you have any scenarios where you need to detect .NET Framework install state information.
Also, as a reminder, I have posted some sample code that demonstrates how to implement .NET Framework detection logic, and this type of example might be useful if you need to be able to detect the .NET Framework install state in your installer or your application code.
Every once in a while, I hear from a customer on the Creators Club forums or via my blog who cannot install XNA Game Studio due to a problem with the XnaLiveProxy component that is installed behind the scenes during setup. I wanted to describe how I diagnose this type of issue and offer a few suggestions for working around this issue in case anyone runs into a similar problem in the future.
How to diagnose this issue
The first thing I do when XNA Game Studio setup fails is look at the setup log files. XNA Game Studio setup automatically creates verbose setup log files at the following locations:
I sort the logs in this folder by modified date and then look for the most recent log file named GameStudioSetup*.log. Then, I search for the string Bootstrapper.exe Error in this log file. For this particular issue, the error in GameStudioSetup*.log will look like the following:
Bootstrapper.exe Error: 0 : In Task InstallXnaLiveProxy: MSI Task Processor Failed on task: Copying XNA Game Studio files \n Please consult C:\Users\myusername\AppData\Local\Temp\XNA Game Studio 4.0 Setup\Logs\xnaliveproxy-20100724.150035.LOG for additional log information.
This error message lists the name of an additional log file that will contain more detailed error information. The next step I take is to search for the string return value 3 in the xnaliveproxy*.log file listed in the above error message. For this particular issue, the error in xnaliveproxy*.log will look like the following:
MSI (s) (7C:00) [12:34:56:789]: Product: Microsoft XNA Game Studio 4.0 (XnaLiveProxy) -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action InitializeXnaLiveProxy, location: C:\Program Files\Microsoft XNA\XNA Game Studio\v4.0\Bin\XnaLiveProxy.exe, command: /install
How to work around this issue
Here are some possible causes and suggested workarounds for this error:
1. A problem with Games for Windows – LIVE
To work around this issue, I recommend going to the Programs and Features control panel, removing the item named Microsoft Games for Windows – LIVE Redistributable, installing the latest version of Games for Windows – LIVE, then trying to run XNA Game Studio (or Windows Phone Developer Tools) setup again.
2. A problem with the DirectX 9.0c runtime files
If the above doesn’t help, then I recommend trying to install the DirectX 9.0c redistributable using the standalone web installer, then trying to run XNA Game Studio (or Windows Phone Developer Tools) setup again.
3. A problem with the .NET Framework
If neither of the above help, then I recommend trying to uninstall + re-install the .NET Framework 3.5 or 3.5 SP1 (if you are trying to install XNA Game Studio 3.0 or 3.1) or the .NET Framework 4 (if you are trying to install XNA Game Studio 4.0, then trying to run XNA Game Studio (or Windows Phone Developer Tools) setup again.
The Windows Phone Developer Tools CTPs and Beta have only offered online documentation for general Windows Phone developer topics and Silverlight Windows Phone application development topics. However, it is possible to use the Visual Studio 2010 Help Library Manager to download an offline copy of the Windows Phone developer documentation. Here are the steps I’ve used to do this on my computer:
XNA Game Studio 4.0, which is installed as a part of the Windows Phone Developer Tools setup process, installs a CHM file with offline documentation, but the CHM file can only be launched via the shortcut on the Windows start menu (located at All Programs | Microsoft XNA Game Studio 4.0 | XNA Game Studio Documentation). The CHM cannot by pressing F1 while working on an XNA Game Studio project in the Visual Studio IDE.
We are planning to make the XNA Game Studio 4.0 documentation available for offline download via the Help Library Manager in the future. Once we do that, you will be able to download and install the documentation in the same way that I described above for the Windows Phone Development documentation. After installing the offline documentation using Help Library Manager, you will be able to access the documentation by pressing F1 while working on an XNA Game Studio project in the Visual Studio IDE.
<update date="7/30/2010"> Updated the first step in this post with an easier way to launch Help Library Manager. </update>
Peter Marcu has posted a new 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 feedback about changes made to the setup and deployment experience for the .NET Framework 4 to help determine how to continue to improve the experience in future versions of the .NET Framework.
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/b/pmarcu/archive/2010/07/16/do-you-deploy-a-managed-app-part-2.aspx and post comments there or send him an email to share your experiences and suggestions for improvements.
Note - I originally wrote this blog post when the Windows Phone Developer Tools Beta was released, but the information is also useful when trying to install the RTW version. I'm going to update some of the links from this post to point to the WPDT RTW version instead of the beta version.
As noted in my previous blog post, the Windows Phone Developer Tools RTW was released recently. Since the RTW version was released, we’ve heard from some people who have had problems uninstalling the previous WPDT CTP builds from their computer in order to be able to install the RTW version. There are 2 specific types of issues that I’ve seen, so I want to describe each of them in a bit more detail in case anyone reading my blog in the future runs into similar problems.
Issue 1 – WPDT CTP uninstall will not proceed due to missing components
In this scenario, the WPDT CTP or CTP Refresh uninstall process detects that some optional components (Silverlight 4 Tools, XNA Game Studio 4.0 and/or XNA Game Studio 4.0 Windows Phone Extensions) are not present, and it forces you to re-install those components before being allowed to uninstall the WPDT CTP.
In most cases, you can simply allow setup to re-download and re-install the missing components, then run setup again and uninstall the CTP. The steps to accomplish this are documented in this blog post. This post describes CTP uninstall, but equivalent steps can be used for CTP Refresh uninstall as well.
Sometimes, the re-download and re-install of these components can also fail. If you encounter this type of failure, you can download the XNA Game Studio cleanup tool and choose the option in that tool to uninstall the Windows Phone Developer Tools as a last resort. After the uninstall completes, you can proceed with the installation of the WPDT RTW.
Note – the underlying problem with WPDT setup that causes it to force you to re-install components in order to uninstall the product is a known bug that existed in the CTP and CTP Refresh and has been fixed in the Beta and in the RTW version. However, since the bug was present in the CTP Refresh, it still impacts scenarios where you try to uninstall the CTP Refresh in order to move forward to RTW. You should not see this type of issue when uninstalling the Beta or RTW versions of WPDT.
Issue 2 – WPDT RTW install will not proceed because of incompatible components
In this scenario, the WPDT RTW setup process blocks you from installing because it detects that incompatible components are still installed on your computer. In some cases, this can happen even after uninstalling the CTP builds as described above in Issue 1.
I use the steps like the following to diagnose and resolve this issue:
If you run into WPDT CTP uninstall issues or RTW install issues that are not solved by the above suggestions, 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 or in a comment on my blog to get additional support.
<update date="7/13/2010"> Updated the link for uninstall steps to point at a new CTP Refresh-specific blog post instead of the old MIX CTP blog post. </update>
<update date="7/14/2010"> Added a note about where to find the blocking registry keys on 64-bit versions of Windows. </update>
<update date="10/14/2010"> Updated the post to refer to WPDT RTW instead of the WPDT beta. </update>