Aaron Stebner's WebLog

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

  • Aaron Stebner's WebLog

    This is the last week that you can submit an Xbox LIVE Indie Game created with XNA Game Studio 3.1

    • 0 Comments

    As noted on the XNA Game Studio team blog and this App Hub news item, the deadline for submitting Xbox LIVE Indie Games created with XNA Game Studio 3.1 to play-testing or peer review is only one week away.  Here are the key things to keep in mind:

    • Starting at 12am PST on February 8, 2011, you will no longer be able to submit Xbox LIVE Indie Games created with XNA Game Studio 3.1 for play-testing or peer review, and instead you must use XNA Game Studio 4.0.  This includes updates to previously published games.
    • If your game is in peer review by 12am PST on February 8, 2011, it will be allowed to complete the peer review process.  If it passes peer review, it will be published to the Xbox LIVE Indie Games marketplace.  If it fails peer review, you will have to upgrade it to XNA Game Studio 4.0 before you will be able to re-submit it.
    • If you have previously published an XNA Game Studio 3.0 or 3.1 game to the Xbox LIVE Indie Games marketplace, it will continue to work correctly.  You do not have to upgrade it to XNA Game Studio 4.0 unless you plan to release an update after 12am PST on February 8, 2011.
    • You can still deploy and debug XNA Game Studio 3.1 games on your Xbox 360 console using XNA Game Studio Connect after 12am PST on February 8, 2011.  This deadline only impacts 3.1 games that you plan to submit for play-testing or peer review.
  • Aaron Stebner's WebLog

    Likely final build of WiX v3.5 is now available to download

    • 0 Comments

    Rob Mensching announced on his blog yesterday that the build that is likely to be the final build of WiX v3.5 is now available to download.  The v3.5.2519 build contains a couple of targeted fixes for bugs reported since the 2nd escrow build was declared in December, and it will be the final build of WiX v3.5 if no ship-stopping bugs are found.

    If you are using WiX to create Windows Installer packages for your products, I strongly encourage you to upgrade to this build of WiX v3.5 and help the WiX virtual team validate that this build is ready to be declared the final WiX v3.5 build.  Here are a couple of links to help get you started:

  • Aaron Stebner's WebLog

    Link to XNA Game Studio 4.0 book written by 2 of my co-workers

    • 0 Comments

    I’m a little late posting this information since the book was released at the end of December, 2010, but my co-workers Tom Miller and Dean Johnson wrote a book titled XNA Game Studio 4.0 Programming: Developing for Windows Phone 7 and Xbox 360, and one of my other co-workers, Shawn Hargreaves, wrote the foreword for the book.

    You can find more information about the book at the following locations:

    I got a copy of this book last week, and now I need to remember to go find Tom, Dean and Shawn and get them to autograph it.

  • Aaron Stebner's WebLog

    Link to a guide to help fix breaking changes after upgrading a game from XNA Game Studio 3.1 to 4.0

    • 0 Comments

    XNA Game Studio 4.0 and the XNA Framework 4.0 introduced several breaking API changes.  They are described at a high-level in the documentation and some of them are described in more detail on Shawn Hargreaves’ blog.  These breaking changes present challenges to developers when they try to upgrade their games from XNA Game Studio 3.0 or 3.1 to 4.0.  XNA Game Studio 4.0 includes a built-in upgrade wizard that will upgrade 3.0 and 3.1 projects to 4.0, but the upgrade process only updates meta-data in the project files (such as .csproj and .contentproj).  Like the upgrade wizards for other Visual Studio project types, it does not attempt to make any changes to the code in the projects.  This is because it can be difficult to reliably tell what the intent is of a given piece of code, and in many cases there are multiple options that could be valid solutions for breaking changes.

    Fortunately, someone recently posted a cheat sheet with more details to help map compile errors that can occur after upgrading a 3.0 or 3.1 game to 4.0 to the options that you have to update your code so it will compile successfully with 4.0.  If you are running into any issues fixing your game to react to breaking changes in XNA Game Studio 4.0, I encourage you to take a look at the cheat sheet at http://www.nelxon.com/blog/xna-3-1-to-xna-4-0-cheatsheet/.

  • Aaron Stebner's WebLog

    Possible issue where .NET Framework 4 setup reports success but fails to update mscoree.dll behind the scenes

    • 13 Comments

    I have heard from a few customers since the release of the .NET Framework 4 who have installed the .NET Framework 4 on Windows Vista or higher and setup reported success, but they see an error when running the .NET Framework setup verification tool.  I wanted to describe this scenario in a bit more detail, including how to diagnose whether or not your computer is running into this issue based on the setup log files.

    How to quickly tell if this blog post might apply to you

    Before reading this whole post, here is a quick way you can check whether or not you are likely to be encountering the issue described below:

    1. Your OS was Windows Vista, Windows Server 2008 or Windows 7.  This particular issue does not affect Windows XP or Windows Server 2003.
    2. You installed the .NET Framework 4 and setup reported success, but you cannot use .NET Framework 4 applications on your computer afterwards.
    3. The file %windir%\system32\mscoree.dll and/or %windir%\syswow64\mscoree.dll has a file version of 2.0.* instead of 4.0.* (and you have rebooted your computer after installing the .NET Framework 4 to make sure that any files that were in use during installation have had a chance to be updated).

    Symptoms of the problem

    In the cases I’ve seen so far, the .NET Framework setup verification tool reported an error like the following when it tried to run a .NET Framework test application that is bundled with it:

    ****ERROR**** Process 'Netfx40TestApplication.exe' exited with return code -2146232576

    This return code translates to 0x800131700, which is a .NET Framework common language runtime (CLR) error code that means “Failed to load the runtime.”  In other words, this return code means that this version of the .NET Framework runtime failed to load at all on this computer.

    Further investigation on the computers that exhibited this behavior showed that the file mscoree.dll (which is located in %windir%\system32 and/or %windir%\syswow64) had a version number of 2.0.*.  This file is shared by all versions of the .NET Framework, and it should always have a version of at least 4.0.* after installing the .NET Framework 4.  If this file is not updated to version 4.0.*, the CLR loader will be unable to load the .NET Framework 4, and it will cause the type of failure in the .NET Framework verification tool that I described above.

    Gathering more detailed information from .NET Framework setup log files

    I wasn’t sure how a computer could be in a state where .NET Framework 4 setup reported a successful installation but yet mscoree.dll was still versioned 2.0.*.  I had the customers use the instructions in this blog post to gather their .NET Framework setup log files, and I started looking at the logs to narrow this issue down further.

    In the cases I’ve seen so far, I found an error like the following in the log file named Microsoft .NET Framework 4 Setup_*.html:

    Exe (C:\Users\myusername\AppData\Local\Temp\Microsoft .NET Framework 4 Setup_4.0.30319\Windows6.1-KB958488-v6001-x64.msu) failed with 0x80240017 - (null).

    The .msu file listed in the above error message is one of the ones that are responsible for updating mscoree.dll to version 4.0.* on Windows Vista and later versions of Windows.  Return code 0x80240017 means that the .msu file is not applicable on the computer it is being installed on.  This type of return code can occur for several different reasons:

    1. The .msu is for an earlier or later OS version or service pack level than what is currently on the computer
    2. The .msu is for a different processor architecture than the OS running on the computer
    3. The .msu is already installed
    4. The OS update installation engine is in a broken state that prevents the installation of any OS updates (.msu files)
    5. The OS is a pre-release version of Windows Vista, Windows Server 2008 or Windows 7.  See this blog post for more details about this case.

    .NET Framework 4 setup prevents cases #1 and #2 from happening behind the scenes, but it cannot prevent cases #3, #4 or #5.  To complicate things further, it is not possible to reliably distinguish from this return code which of the cases is the actual cause of the return code.  Even worse, case #3 is a case that should be treated the same as a successful installation of this .msu as opposed to a failure.

    As a result, the .NET Framework 4 setup ignores this error and treats it as a successful installation of this .msu (case #3).  This is why you will see information like the following later in the log file:

    Error 0x80240017 is mapped to Custom Error: Success

    Narrowing down the root cause based on the log files

    Because mscoree.dll was not updated like it should have been on the affected computers, I made an educated guess that the customers who contacted me were running into case #4 on their computers.  I was able to confirm this in the following ways:

    1. Looking at the log files named %windir%\WindowsUpdate.log and %windir%\logs\cbs\cbs.log (both of which are collected by the log collection tool linked above).  In the cases I’ve seen so far, one or both of these logs showed errors while trying to evaluate applicability and/or install OS updates.  These errors affected the .NET Framework 4 .msu file as well as other OS updates that the customer had attempted to install.
    2. Trying to manually install an OS update from Windows Update or by downloading it and running it directly.  In the cases I’ve seen so far, attempting to install any OS update failed just like the .NET Framework 4 .msu file failed.

    Possible solutions for this type of error

    1. In some cases, it can help to run SFC to repair the files that are installed as a part of Windows.  You can find steps that explain how to do this in this knowledge base article.

    2. If SFC does not help, the System Update Readiness Tool might help repair the computer so that OS updates will install again.  I’ve posted a set of steps I’ve had success using with this tool in some cases in the past in this blog post.

    3. Peter Marcu has posted a few additional suggestions on his blog for this type of issue as well.

    4. Unfortunately, if the above suggestions do not help, the only other way that I've found to solve this type of OS update installation error is to repair Windows. 

    <update date="12/30/2010"> Added a note about pre-release versions of Windows causing this error as well. </update>

    <update date="7/27/2011"> Added a note about using SFC to repair Windows files, as suggested in Peter Marcu's blog. </update>

    <update date="11/8/2011"> Added a direct link to Peter Marcu's blog post about this issue. </update>

    <update date="6/6/2012"> Fixed broken link in the "Gathering more detailed information" section. </update>

     

  • Aaron Stebner's WebLog

    Mailbag: Should I re-install the versions of the .NET Framework in a specific order?

    • 21 Comments

    Question:

    I used the instructions and the cleanup tool in this blog post to remove all versions of the .NET Framework from my computer, and now I want to re-install them.  Do I need to re-install them in any specific order?

    Answer:

    In general, the versions of the .NET Framework allow you to install in any order you choose.  However, I recommend installing in reverse order from newest to oldest, like this:

    1. .NET Framework 4
    2. .NET Framework 3.5 SP1 (this will install the .NET Framework 2.0 SP2 and 3.0 SP2 behind the scenes so you do not have to install them separately)
    3. .NET Framework 1.1 (if you have any programs installed that need it, this blog post can help you decide whether or not you need it)

    Most programs do not specifically require the .NET Framework 1.0 so I didn't list it above.  If you do need the .NET Framework 1.0, you will have to install it before installing the .NET Framework 4 because .NET Framework 4 setup blocks future installation attempts for the .NET Framework 1.0.  If you need the .NET Framework 1.0, I recommend installing in this order:

    1. .NET Framework 3.5 SP1 (this will install the .NET Framework 2.0 SP2 and 3.0 SP2 behind the scenes so you do not have to install them separately)
    2. .NET Framework 1.1 (if you have any programs installed that need it, this blog post can help you decide whether or not you need it)
    3. .NET Framework 1.0 (if you have any programs installed that need it, this blog post can help you decide whether or not you need it)
    4. .NET Framework 4

    Even though it is a little counter-intuitive, there are a couple of reasons that I recommend installing in reverse order:

    • To help avoid some possible setup bugs in older versions of the .NET Framework – there are a couple of setup bugs (like this and this) in older versions of the .NET Framework that are fixed in service packs and later versions.  Installing a later version of the .NET Framework first will update some files that are shared by all versions of the .NET Framework, and that will allow you to avoid these bugs when installing older versions of the .NET Framework.
    • To minimize the number of separate downloads and installs – if you install the .NET Framework 3.5 SP1 first, it will automatically install the .NET Framework 2.0 SP2 and 3.0 SP2 for you, so you don’t need to install them separately.  Also, if you install older versions of the .NET Framework 2.0 and 3.0 before installing the .NET Framework 3.5 SP1, the 3.5 SP1 installer will automatically uninstall them as a part of its install process.  That means you will just end up wasting time if you install the .NET Framework 2.0 and 3.0 before installing the .NET Framework 3.5 SP1.

    <update date="1/31/2011"> Added a separate set of installation instructions for cases where the .NET Framework 1.0 is required because .NET Framework 4 setup prevents the .NET Framework 1.0 from being installed after it. </update>

     

  • Aaron Stebner's WebLog

    Link to information about using isolated storage APIs in an XNA Game Studio Windows game

    • 0 Comments

    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.

  • Aaron Stebner's WebLog

    Link to a tool to simplify the process of localizing the title of a Windows Phone game

    • 0 Comments

    A little while ago, I wrote a blog post with a list of steps that you can use to create native resource DLLs so that you can localize the title of your Windows Phone game created with XNA Game Studio 4.0.  Today, I found a blog post about a tool that automates the process of creating these native resource DLLs.  This tool provides 2 really nice benefits:

    1. It eliminates the requirement that you have to build your game from an edition of Visual Studio 2010 that supports both C# and C++ development (the VS 2010 Professional or better editions).  In other words, this allows you to build a game with a localized title in the free Visual Studio 2010 Express for Windows Phone edition.
    2. It greatly simplifies the number and complexity of the steps required to enable title localization for your game.

    You can find the tool in this blog post.  Here is a set of steps that use this tool that you can use in place of the ones I posted in my earlier blog post to enable title localization for your Windows Phone game created with XNA Game Studio 4.0:

    Step 0 – Create a Windows Phone game project

    1. Start Visual Studio 2010 or Visual Studio 2010 Express for Windows Phone.
    2. Click on File | New | Project..., select Visual C# | XNA Game Studio 4.0 and choose Windows Phone Game (4.0).

    Step 1 – Create native resource DLLs using the Windows Phone 7 Title Localizer tool

    1. Download the Windows Phone 7 Title Localizer tool from the link at the end of the blog post at http://patrickgetzmann.wordpress.com/wp7-localize/.
    2. Run the Windows Phone 7 Title Localizer tool.
    3. Enter your language-neutral title strings.
    4. Enter your translated title strings or use the Translate button in the tool to automatically translate the strings using the Bing translator engine.
    5. Click the Save DLLs button to create native resource DLLs that contain the strings you have provided.

    Step 2 – Add native resource DLLs to your Windows Phone game project

    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.

    1. Right-click on your Windows Phone game project in the Visual Studio solution explorer, click Add | Existing Item...
    2. Browse to the folder that you saved the DLLs to in step 2 above, select the file named AppResLib.dll, then click the Add button.
    3. Select each of the files named AppResLib.dll.*.mui in the same folder, then click the Add button.
    4. For each of the AppResLib.dll* files that you have added to your Windows Phone game project, set the Build Action property to None and the Copy to Output Directory property to Copy if newer.  This will make sure that each of these files gets packaged into the XAP file that is created when you build your Windows Phone Game project.

    Step 3 – Update your Windows Phone game to load title strings from the resource DLLs

    Update the application title by doing the following:

    1. In your Windows Phone Game project, open the file Properties\AssemblyInfo.cs.
    2. Remove the AssemblyTitle entry.
    3. Add an AssemblyTitleAttribute entry that looks like this:

      [assembly: AssemblyTitleAttribute("@AppResLib.dll,-100")]

    Update the tile title by doing the following:

    1. Right-click on your Windows Phone Game project in the Visual Studio solution explorer and choose Properties.
    2. Click on the XNA Game Studio tab.
    3. Change the Tile title value to look like this:

      @AppResLib.dll,-200

    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 4 – Rebuild your Windows Phone game solution

    Rebuild the solution that contains your Windows Phone Game project.

    <update date="1/18/2011"> Added a warning about the naming of the DLL needing to exactly match what is listed in the documentation. </update>

     

  • Aaron Stebner's WebLog

    WiX v3.5 escrow build is now available to download

    • 3 Comments

    Rob Mensching announced on his blog last week that WiX v3.5 is now in escrow mode, which means that there were zero active bugs when the v3.5.2325 build was produced, and the final release of WiX v3.5 will be happening very soon.  If no showstopper bugs are found and fixed, this build will be the final build of WiX v3.5.

    If you are using WiX to create Windows Installer packages for your products, I strongly encourage you to upgrade to this build of WiX v3.5 and help the WiX virtual team validate that this build is ready to be declared the final WiX v3.5 build.  Here are a couple of links to help get you started:

  • Aaron Stebner's WebLog

    Steps I use to narrow down the root cause of an XNA Game Studio setup failure

    • 0 Comments

    Earlier this week, a co-worker ran into an error while installing XNA Game Studio on his computer, and he asked me for help figuring out what caused the problem.  I realized that I follow essentially the same set of steps to narrow down the root cause every time I run into an XNA Game Studio setup problem.  I want to post these steps on my blog to try to help teach people how to identify root causes and hopefully help solve XNA Game Studio setup problems on their own instead of always needing to rely on a setup expert to analyze and interpret their log files.

    Here are the steps I use to narrow down the root cause of an XNA Game Studio setup failure:

    1. Go to the folder that contains the log files for the version of XNA Game Studio that you are trying to install.  See the list at the end of this blog post for the setup log file locations for each version of XNA Game Studio.
    2. Sort the folder by last modified date.
    3. Open the most recent file named GameStudioSetup-*.log in a text editor such as Notepad.
    4. Search for the string Bootstrapper.exe error.
    5. Most of the time, this will lead you to an error occurring while installing one of the MSIs chained in by XNA Game Studio setup, and the error will list a log file that contains more detailed information about the cause of the error.  For example:

      Bootstrapper.exe Error: 0 : In Task InstallPlatformTools: MSI Task Processor Failed on task: Installing XNA Game Studio Platform Tools \n Please consult C:\Users\myusername\AppData\Local\Temp\XNA Game Studio 4.0 Setup\Logs\xnags_platform_tools-20101025.180123.LOG for additional log information.

    6. Open the log file listed in the error message in step 5, search for the string return value 3 and try to narrow down the failure further from there.

    You can see a specific example of this technique in this blog post about troubleshooting XnaLiveProxy installation problems.

    The above steps will not work for 100% of all possible XNA Game Studio setup failures, but based on my past experience, they will work in most cases.  Finding the root cause is only the first step, and the steps you need to take to solve a setup problem will vary depending on what the root cause is.  I’ve found that some setup problems have solutions that are pretty self-explanatory once you know what the root cause is though, so hopefully the above steps will help some people be able to more quickly diagnose and solve XNA Game Studio installation problems.

    As always, if you run into a problem that you are unsure of the resolution for or if you have trouble interpreting the information in the XNA Game Studio setup log files, please post a comment on the App Hub forums and/or contact me.  When posting on the forums, please zip your XNA Game Studio setup log files, upload the zip file to a file server (such as http://skydrive.live.com) and include a link to the log files in your post to allow us to investigate and offer workarounds more quickly.

    XNA Game Studio setup log file locations

    XNA Game Studio setup creates setup log files at the following locations:

    • XNA Game Studio 2.0 - %ProgramFiles%\Microsoft XNA\XNA Game Studio\v2.0\Setup\Logs
    • XNA Game Studio 3.0 - %temp%\XNA Game Studio 3.0 Setup\Logs
    • XNA Game Studio 3.1 - %temp%\XNA Game Studio 3.1 Setup\Logs
    • XNA Game Studio 4.0 - %temp%\XNA Game Studio 4.0 Setup\Logs
  • Aaron Stebner's WebLog

    Xbox LIVE Indie Games pipeline is now accepting XNA Game Studio 4.0 games

    • 0 Comments

    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:

  • Aaron Stebner's WebLog

    Steps to install XNA Game Studio 4.0 without using the setup bootstrapper

    • 27 Comments

    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 

    1. Download xnags40_setup.exe and save it to your hard drive
    2. Run xnags40_setup.exe /x to extract the contents to a folder of your choosing
    3. Go to the folder you extracted to in step 2 and run the MSI named redists.msi

      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.

    4. Run the MSI at %ProgramFiles%\Microsoft XNA\XNA Game Studio\v4.0\Setup\XLiveRedist.msi
    5. Run the MSI at %ProgramFiles%\Microsoft XNA\XNA Game Studio\v4.0\Redist\XNA FX Redist\xnafx40_redist.msi
    6. Run the MSI at %ProgramFiles%\Microsoft XNA\XNA Game Studio\v4.0\Setup\xnaliveproxy.msi
    7. Run the MSI at %ProgramFiles%\Microsoft XNA\XNA Game Studio\v4.0\Setup\xnags_platform_tools.msi
    8. Run the MSI at %ProgramFiles%\Microsoft XNA\XNA Game Studio\v4.0\Setup\xnags_shared.msi
    9. Run the MSI at %ProgramFiles%\Microsoft XNA\XNA Game Studio\v4.0\Setup\xnags_visualstudio.msi
    10. Go to the folder you extracted to in step 2 and run the MSI named arpentry.msi

    <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>

     

  • Aaron Stebner's WebLog

    Xbox LIVE Indie Games pipeline will start accepting XNA Game Studio 4.0 games at the end of this week

    • 0 Comments

    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:

    • The final 4.0 version of XNA Game Studio Connect is scheduled to release on Friday, November 5, 2010.  It will support deploying, debugging and running games created with XNA Game Studio 3.1 and 4.0, but will no longer support games created with XNA Game Studio 2.0 or 3.0.
    • You can start submitting Xbox LIVE Indie games created with XNA Game Studio 4.0 for play-testing and peer review as soon as the final 4.0 version of XNA Game Studio Connect is released on Friday, November 5, 2010
    • You can continue to submit Xbox LIVE Indie games created with XNA Game Studio 3.1 for 90 days after the final 4.0 release.  That means that the last day that 3.1 games will be accepted for play-testing and peer review is Thursday, February 3, 2011

    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.

  • Aaron Stebner's WebLog

    Windows Phone Developer Tools October 2010 Update is now available for download

    • 0 Comments

    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:

    • The Windows Phone Connect tool – this tool allows the Windows Phone Developer Tools to connect to a Windows Phone device without requiring the Zune software to be running; this allows developers to debug media playback scenarios on a device
    • The Windows Phone capability detection tool – this tool analyzes your Windows Phone game or application project and detects the capabilities that are required; this allows developers to update their WMAppManifest.xml file so they can test their game or application with the same set of capabilities that will be provided by the ingestion process
    • An updated version of the Bing Maps control

    Here are some links to help you get started with the Windows Phone Developer Tools October 2010 Update:

  • Aaron Stebner's WebLog

    XNA Game Studio 4.0 Japanese language pack now available for download

    • 0 Comments

    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:

    • Windows Phone Developer Tools – this will allow you to develop games for Windows, Xbox 360 and Windows Phone 7.  The Windows Phone Developer Tools is currently only available in English, French, Italian, German, and Spanish.
    • XNA Game Studio 4.0 standalone installer – this will allow you to develop games for Windows and Xbox 360.  You must install a compatible version of Visual Studio 2010 (Visual C# 2010 Express or Visual Studio 2010 Professional or better) before installing the standalone version of XNA Game Studio 4.0.

    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:

    • UI components in the Visual Studio IDE that are installed by XNA Game Studio 4.0 including menu items, toolbars, property pages
    • XNA Game Studio 4.0 project templates and item templates
    • IntelliSense comments for XNA Framework APIs
    • XNA Game Studio 4.0 documentation
    • XNA Game Studio Device Manager
    • MSBuild tasks and targets
  • Aaron Stebner's WebLog

    Mailbag: How to perform a silent install of the Visual C++ 2010 redistributable packages

    • 45 Comments

    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

    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

    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

    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

    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:

    • Exit code 0 means that setup succeeded and no reboot is needed.
    • Exit code 3010 means that setup succeeded and a reboot is needed to complete installation.
    • Any other exit code means that setup failed.

    Related link

  • Aaron Stebner's WebLog

    French, German, Italian and Spanish versions of Windows Phone Developer Tools now available for download

    • 0 Comments

    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

  • Aaron Stebner's WebLog

    Link to more information about support for XNA Game Studio 4.0 in the Xbox LIVE Indie Games publishing pipeline

    • 0 Comments

    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:

    • Today, the Xbox LIVE Indie Games pipeline only accepts XNA Game Studio 3.1 games for play-testing, peer review and publishing.
    • The final version of XNA Game Studio Connect for XNA Game Studio 4.0 will be released later this year.
    • When it is released, the Xbox LIVE Indie Games pipeline will start accepting XNA Game Studio 4.0 games.
    • There will be a 90 day window where the Xbox LIVE Indie Games pipeline will accept both XNA Game Studio 3.1 and 4.0 games.
    • After the 90 days are up, the Xbox LIVE Indie Games pipeline will only accept XNA Game Studio 4.0 games.

    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.

  • Aaron Stebner's WebLog

    How to localize the title of a Windows Phone game created with XNA Game Studio 4.0

    • 0 Comments

    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

    1. Start Visual Studio 2010.
    2. Click on File | New | Project..., select Visual C# | XNA Game Studio 4.0 and choose Windows Phone Game (4.0).

    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. 

    1. Right-click on the solution that contains your Windows Phone Game project and choose Add | New Project...
    2. Select Visual C++ | Win32 | Win32 Project and name it AppResLib.
    3. In the Win32 Application Wizard, select DLL and check the Empty Project check box, then click Finish.
    4. Right-click on the AppResLib project in the Visual Studio solution explorer and choose Properties.
    5. Change the Configuration drop-down from Active (Debug) to All Configurations.
    6. Expand Configuration Options | Linker and click on Advanced.
    7. Set the No Entry Point value to Yes (/NOENTRY) and click OK.
    8. Right-click on the AppResLib project in the Visual Studio solution explorer and choose Add | Resource...
    9. Click on String Table and then click New.
    10. Add two strings to the string table with the following IDs:

      AppTitle
      AppTileString

    11. Set the AppTitle value to 100 and set the caption to the language-neutral name of your game that will be displayed in the Games Hub or the Application List.
    12. Set the AppTileString value to 200 and set the caption to the language-neutral name of your game that will be displayed when the game is pinned to the Windows Phone start menu.
    13. Build the AppResLib project.

    Step 2 – Create an English (US) native resource DLL

    1. Right-click on the solution that contains your Windows Phone Game project and choose Add | New Project...
    2. Select Visual C++ | Win32 | Win32 Project and name it AppRes0409.
    3. In the Win32 Application Wizard, select DLL and check the Empty Project check box, then click Finish.
    4. Right-click on the AppRes0409 project in the Visual Studio solution explorer and choose Properties.
    5. Change the Configuration drop-down from Active (Debug) to All Configurations.
    6. Expand Configuration Options | Linker and click on Advanced.
    7. Set the No Entry Point value to Yes (/NOENTRY).
    8. Expand Configuration Options | Resources and click on General.
    9. Set the Culture value to English (United States) (0x409) (/l 0x0409).
    10. Expand Configuration Options | Build Events and click on Post-Build Event.
    11. Set the Command Line value to the following:

      copy "$(OutputPath)$(ProjectName).dll" "$(OutputPath)\AppResLib.dll.0409.mui"

    12. Right-click on the AppRes0409 project in the Visual Studio solution explorer and choose Add | Resource...
    13. Click on String Table and then click New.
    14. Add two strings to the string table with the following IDs:

      AppTitle
      AppTileString

    15. Set the AppTitle value to 100 and set the caption to the English (United States) name of your game that will be displayed in the Games Hub or the Application List.
    16. Set the AppTileString value to 200 and set the caption to the English (United States) name of your game that will be displayed when the game is pinned to the Windows Phone start menu.
    17. Build the AppRes0409 project.

    Step 3 – Create native resource DLLs for other supported languages

    1. Repeat Step 2 and create the resource-only DLL for English (United Kingdom). Set the Resource Culture to English (United Kingdom) (0x809) (/l 0x0809) and update the post-build event command line to rename the DLL file to AppResLib.dll.0809.mui.
    2. Repeat Step 2 and create the resource-only DLL for French (France). Set the Resource Culture to French (France) (0x40c) (/l 0x040c) and update the post-build event command line to rename the DLL file to AppResLib.dll.040c.mui.
    3. Repeat Step 2 and create the resource-only DLL for Italian (Italy). Set the Resource Culture to Italian (Italy) (0x410) (/l 0x0410) and update the post-build event command line to rename the DLL file to AppResLib.dll.0410.mui.
    4. Repeat Step 2 and create the resource-only DLL for German (Germany). Set the Resource Culture to German (Germany) (0x407) (/l 0x0407) and update the post-build event command line to rename the DLL file to AppResLib.dll.0407.mui.
    5. Repeat Step 2 and create the resource-only DLL for Spanish (Spain). Set the Resource Culture to Spanish (Spain) (0xc0a) (/l 0x0c0a) and update the post-build event command line to rename the DLL file to AppResLib.dll.0c0a.mui.

    Step 4 – Add native resource DLLs to your Windows Phone game project

    1. Right-click on your Windows Phone game project in the Visual Studio solution explorer, click Add | Existing Item...
    2. Browse to the file named AppResLib.dll that you built in step 2 above, click the down arrow next to the Add button, and then select Add as Link.
    3. Browse to each of the files named AppResLib.dll.*.mui that you built in steps 3 and 4 above, click the down arrow next to the Add button, and then select Add as Link.
    4. For each of the AppResLib.dll* files added as links, set the Build Action property to None and the Copy to Output Directory property to Copy if newer.  This will make sure that each of these files gets packaged into the XAP file that is created when you build your Windows Phone Game project.

    Step 5 – Make your Windows Phone game project dependent on the native resource DLL projects

    1. Right-click on the solution that contains your Windows Phone Game project and your resource DLL projects in the Visual Studio solution explorer and choose Project Dependencies...
    2. Select your Windows Phone Game project in the Projects drop-down.
    3. Check all of the check boxes next to your resource DLL projects and click OK.

    Step 6 – Update your Windows Phone game to load title strings from the resource DLLs

    Update the application title by doing the following:

    1. In your Windows Phone Game project, open the file Properties\AssemblyInfo.cs.
    2. Remove the AssemblyTitle entry.
    3. Add an AssemblyTitleAttribute entry that looks like this:

      [assembly: AssemblyTitleAttribute("@AppResLib.dll,-100")]

    Update the tile title by doing the following:

    1. Right-click on your Windows Phone Game project in the Visual Studio solution explorer and choose Properties.
    2. Click on the XNA Game Studio tab.
    3. Change the Tile title value to look like this:

      @AppResLib.dll,-200

    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>

     

  • Aaron Stebner's WebLog

    Be careful about how you use Guide.IsTrialMode in an XNA Game Studio 4.0 game for Windows Phone

    • 0 Comments

    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:

    • On Windows Phone, calling Guide.IsTrialMode can be expensive (~60 milliseconds per call), so it should not be called every frame in your game code.
    • This performance problem only manifests itself when a game is downloaded from the Windows Phone Marketplace – you will not see it when running your game in the emulator or when using Guide.SimulateTrialMode on a device during development.
    • This performance problem does not occur on Xbox 360, so pay particular attention to how you are using Guide.IsTrialMode if you are porting a game from the Xbox 360 to Windows Phone.
    • You should consider checking the trial mode state at startup and at key intervals during your game instead of every frame.  For example, if you have a functionality-limited trial mode, you could check the state at the end of the last level that is a part of your trial experience and determine whether or not to unlock subsequent levels.
  • Aaron Stebner's WebLog

    XNA Game Studio 4.0 sample content is now available directly within Visual Studio 2010

    • 3 Comments

    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:

    1. Click on File | New | Project...
    2. Click on the Online Templates link on the left side of the New Project dialog
    3. Click on the XNA Game Studio node, and you will see a list of available XNA Game Studio sample project templates that looks like the following:

    4. Click on one of the templates, enter a name and location and click OK
    5. Visual Studio will download the template, install it for you and open a new instance of the template that you can start coding in
    6. After you have installed the template, it will appear in the Installed Templates list in the New Project dialog.  In the screenshot above, you can see green check marks next to the Windows Game State Management and the Windows Phone Game State Management items – those are templates that I have already installed on my computer

    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:

    1. Click on Tools | Extension Manager...
    2. Click on the Online Gallery link on the left side of the Extension Manager
    3. Expand the Templates node
    4. Click on the XNA Game Studio node, and you will see a list of available XNA Game Studio sample project templates.  The list of items in this UI is the same as you will see in the New Project dialog.
    5. You can install and uninstall tools and templates from the Extension Manager
    6. After installing one of the XNA Game Studio project templates, you can go to the New Project dialog, find it in the Installed Templates list and create a new instance of the template from there

    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.

  • Aaron Stebner's WebLog

    What XNA Game Studio 4.0 functionality works in what version of Visual Studio and on what version of Windows

    • 2 Comments

    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

    • This installer works on Windows Vista and Windows 7
    • It includes an edition of Visual Studio
    • It provides the ability to develop games for Windows, Xbox 360 and Windows Phone

    2.  As a standalone XNA Game Studio 4.0 package

    • This installer works on Windows XP, Windows Vista and Windows 7
    • It does not include an edition of Visual Studio – you must install Visual Studio 2010 yourself before being allowed to install the standalone package
    • It provides the ability to develop games for Windows and Xbox 360

    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.

      Windows games Xbox 360 games Windows Phone games
    Visual Studio 2010 Pro/Premium/Ultimate (devenv.exe) Yes Yes Yes*
    Visual C# 2010 Express (vcsexpress.exe) Yes Yes No
    Visual Studio 2010 Express for Windows Phone (vpdexpress.exe) Yes* Yes* Yes*

    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 games Xbox 360 games Windows Phone games
    Windows XP Yes Yes No
    Windows Vista Yes Yes Yes*
    Windows 7 Yes Yes Yes*

    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.

    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):

    • %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
    • %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\vcsexpress.exe
    • %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\vpdexpress.exe

    Note – in the paths above, you should substitute %ProgramFiles(x86)% for %ProgramFiles% if you are running a 64-bit version of Windows.

  • Aaron Stebner's WebLog

    Configuring and testing icon images in XNA Game Studio 4.0 Windows Phone games

    • 1 Comments

    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
    • Windows Phone 7 icon sizes
    • Configuring your project as an application or a game
    • Deployment details for games
    • Deployment details for applications
    • Updating icons in an XNA Game Studio 4.0 Windows Phone game project
    • How to test a game’s application icon in the emulator

    Windows Phone 7 icon types

    The Windows Phone Developer Tools allows you to configure 2 different types of application icons:

    1. The application icon – this is the icon used in the location that your application is deployed to on the phone OS (Games Hub for games, the Application List for applications)

      In a Silverlight for Windows Phone project, this is named ApplicationIcon.png by default.  In an XNA Game Studio 4.0 Windows Phone project, this is named GameThumbnail.png by default. 
       
    2. The pinned icon – this is the icon used in the Windows Phone 7 start menu if you click and hold on your application icon in Games Hub or the Application List and choose “pin to start”

      In both Silverlight for Windows Phone projects and XNA Game Studio 4.0 Windows Phone projects, this is named Background.png by default.

    Windows Phone 7 icon sizes

    The Windows Phone 7 OS displays application icons in 2 different sizes, depending on where they appear:

    1. 62x62 – this is the size used in the Application List (the list that appears when you click the right arrow on the top right side of the Windows Phone 7 start menu).
    2. 173x173 – this is the size used in the Games Hub and in the start menu

    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

    1. To configure your application as a game, set the Genre value in \Properties\WMAppManifest.xml to “Apps.Games”. 
    2. Games will deploy to the Games Hub in the Windows Phone 7 OS
    3. Games should use 173x173 icons for both the application icon and the pinned icon (ideally, the same icon)

    Deployment details for applications

    1. To configure your application as an application, set the Genre value in \Properties\WMAppManifest.xml to “Apps.Normal”.
    2. Applications will deploy to the Application List in the Windows Phone 7 OS
    3. Applications should use a 62x62 icon for the application icon and a 173x173 icon for the pinned icon

    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:

    1. Right-click on the XNA Game Studio 4.0 Windows Phone game project in the Visual Studio solution explorer and choose Properties
    2. Click on the XNA Game Studio property page
    3. Change the Game thumbnail drop-down to use Background.png instead of GameThumbnail.png
    4. Create a 173x173 .png file for your game and overwrite the default Background.png in your project
    5. Set the Genre value in \Properties\WMAppManifest.xml to “Apps.Games”

    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:

    1. Set the Genre value in \Properties\WMAppManifest.xml to “Apps.Normal” – this is the default value for new projects but if you have changed it for some reason, you’ll need to change it back
    2. Deploy your game to the emulator using Visual Studio, XnaPack or the Application Deployment tool
    3. Click the back button in the emulator to exit your game
    4. Click the right arrow in the emulator start menu to go to the Application List
    5. Click and hold on your game icon in the Application List, then choose pin to start
    6. Click the back button or the Windows button in the emulator to return to the start menu, and look at the appearance of your game icon in the start menu

    Additional information

    There are a few follow-up questions that folks usually ask when I explain the above information to them:

    1. Why do XNA Game Studio 4.0 Windows Phone game projects include default settings for applications instead of default settings for games?  The primary reason we decided to use these settings for XNA Game Studio 4.0 projects is that the Games Hub is not available in the Windows Phone emulator, and some testing scenarios are not possible in the emulator unless you use the application configuration settings.
    2. Why are there 2 different icon sizes for phone applications?  The Application List displays smaller icons than the start menu, and scaling a 62x62 image up to 173x173 can cause the images to look grainy/blurry, so developers can provide 2 different resolutions for their icons that will look good in both scenarios.
    3. Why doesn’t the XNA Game Studio 4.0 Windows Phone project template just include a 173x173 version of GameThumbnail.png?  We explored this prior to shipping, but it ended up causing problems for cross-platform game development scenarios.  The maximum size of a game thumbnail in an Xbox 360 game is 16 KB, and a 173x173 version of the default GameThumbnail.png went over that size limit.  We wanted to preserve the ability to right-click on a Windows Phone game project and create a working copy for the Xbox 360.
    4. I also see a file named Game.ico in an XNA Game Studio 4.0 Windows Phone project.  What is that used for?  This is used as an icon for the .exe if you build a Windows copy of your game.  It is included in Windows Phone and Xbox 360 projects so you can right-click and create a copy of the project for Windows.
  • Aaron Stebner's WebLog

    Steps to upgrade an XACT project so it can be used with XNA Game Studio 4.0

    • 1 Comments

    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:

    1. Make a backup copy of your .xap file if you would like to keep a copy of the .xap file from before upgrading it with the XACT tool.
    2. On a system with XNA Game Studio 4.0 installed, click on the Start menu, choose All Programs, then Microsoft XNA Game Studio 4.0 | Tools | Microsoft Cross-Platform Audio Creation Tool 3 (XACT3).
    3. In the Microsoft Cross-Platform Audio Creation Tool 3 (XACT3) tool, open the .xap file from the project that you upgraded from XNA Game Studio 3.1 to XNA Game Studio 4.0.  When it loads, you should see the following message in the XACT UI:

      ---------------------------
      XACT Version Mismatch
      ---------------------------
      This project file was created with the March 2009 release of XACT. You are running the February 2010 release.
      If you save this project, it will be saved as the current version and may no longer work with the version of
      XACT it was originally created with.
      ---------------------------
      OK  
      ---------------------------

    4. Click OK to upgrade the .xap project to the new February 2010 format.
    5. Save the .xap project in the XACT UI and close the XACT UI.
    6. Go back to Visual Studio 2010, open the project that you upgraded from XNA Game Studio 3.1 to 4.0 and choose to build it again.

    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:

    • Attempting to compile an XNA Game Studio 4.0 project that was upgraded from XNA Game Studio 3.0 or 3.1 that includes an XACT project

      This is the scenario that the workaround above applies to

    • Attempting to compile an XNA Game Studio 3.1 project that includes an XACT2 project

      This is similar to the scenario that the workaround above applies to.  You can find more details about this scenario in this blog post.

    • Attempting to compile an XNA Game Studio 3.0 or 3.1 project that includes an XACT project created with the version of XACT that ships with XNA Game Studio 4.0

      This is the inverse of the above scenario. You need to create a new version of your XACT project using one of the XACT tools included with XNA Game Studio 3.1 at the following location on the start menu:  All Programs | Microsoft XNA Game Studio 3.1 | Tools.  You should use Microsoft Cross-Platform Audio Creation Tool 2 (XACT2) for XNA Game Studio 3.0 projects and Microsoft Cross-Platform Audio Creation Tool 3 (XACT3) for XNA Game Studio 3.1 projects.

    • Attempting to compile an XNA Game Studio 4.0 project that includes an XACT project created with a version of the XACT tool other than the one that ships with XNA Game Studio 4.0 (for example, the version of XACT in the DirectX SDK)

      This is similar to both of the above scenarios.  You need to make sure the XACT project is saved in the format of the version of XACT that ships with the version of XNA Game Studio that you are using.

  • Aaron Stebner's WebLog

    XNA Game Studio Connect beta for XNA Game Studio 4.0 now available for download

    • 0 Comments

    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:

Page 4 of 48 (1,181 items) «23456»