Aaron Stebner's WebLog

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

  • Aaron Stebner's WebLog

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

    • 42 Comments

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

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

  • Aaron Stebner's WebLog

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

    • 24 Comments

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

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

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

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

  • Aaron Stebner's WebLog

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

    • 2 Comments

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

    Download links

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

    Documentation links

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

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

    Notes about XNA Game Studio and Windows Phone development

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

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

    My adventures with Windows LIVE ID and Xbox LIVE gamertags

    • 18 Comments

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

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

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

    Here is the full story of what happened:

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

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

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

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

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

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

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

  • Aaron Stebner's WebLog

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

    • 7 Comments

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

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

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

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

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

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

     

  • Aaron Stebner's WebLog

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

    • 6 Comments

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

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

    Further investigation showed the following additional data:

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

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

  • Aaron Stebner's WebLog

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

    • 0 Comments

    Question:

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

    Answer:

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

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

    A missing .NET Framework 2.0 registry key

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

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

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

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

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

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

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

     

  • Aaron Stebner's WebLog

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

    • 0 Comments

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

    What’s in the Window Phone SDK 7.1.1 Update:

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

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

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

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

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

  • Aaron Stebner's WebLog

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

    • 3 Comments

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

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

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

  • Aaron Stebner's WebLog

    How to work around a possible XNA Game Studio or Windows Phone SDK install failure on Windows 8

    • 108 Comments

    If you try to install the Windows Phone SDK 7.1 or XNA Game Studio on Windows 8, you may encounter an XNA Game Studio setup failure.

    How to work around this issue

    If you run into this issue, here are steps that you can use to work around it:

    1. Download and install the latest version of the Games for Windows – LIVE Redistributable from http://www.xbox.com/en-US/LIVE/PC/DownloadClient
    2. If you are installing the Windows Phone SDK 7.1, re-run setup and choose to repair it.  This will re-run the previously failing XNA Game Studio installers and they should install correctly this time.
    3. If you are install a standalone XNA Game Studio product, re-run setup and it should install correctly this time.
    4. If you are planning to do Windows Phone development, you should also install the Windows Phone SDK 7.1.1 Update after installing the Windows Phone SDK 7.1.  This update fixes an issue that prevents the emulator in the Windows Phone SDK 7.1 from working correctly on Windows 8.

    What to do if the workaround doesn’t help

    If you have tried the above steps and setup still fails, you are running into a different issue than the one described above, and you will have to look at the setup log files to determine the root cause.

    If you are installing the Windows Phone SDK 7.1, 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.

    If you are installing XNA Game Studio, you can find log files at the following locations:

    • XNA Game Studio 4.0 Refresh - %temp%\XNA Game Studio 4.0 Setup\Logs
    • XNA Game Studio 4.0 - %temp%\XNA Game Studio 4.0 Setup\Logs
    • XNA Game Studio 3.1 - %temp%\XNA Game Studio 3.1 Setup\Logs
    • XNA Game Studio 3.0 - %temp%\XNA Game Studio 3.0 Setup\Logs
    • XNA Game Studio 2.0 - %ProgramFiles%\Microsoft XNA\XNA Game Studio\v2.0\Setup\Logs

    Once you have gathered your setup log files, please 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 App Hub Forums or in a comment on my blog to get additional support.

    What is causing this failure behind the scenes

    XNA Game Studio installs a version of the Games for Windows – LIVE Redistributable behind the scenes.  Some older versions of the Games for Windows – LIVE Redistributable attempt to install and use a file that is being installed by Windows 8, and the older versions of the redistributable are not compatible with the newer version of the file that is installed by Windows 8.  Newer versions of the Games for Windows – LIVE Redistributable are compatible with Windows 8, and if you pre-install the new redistributable before installing XNA Game Studio, setup will recognize that it is already there and use the new version instead of trying to install the old version.

    The reason this issue also impacts the Windows Phone SDK 7.1 is that this SDK installs XNA Game Studio behind the scenes, which in turn installs the Games for Windows – LIVE Redistributable behind the scenes.

    <update date="7/12/2012"> Added a note about installing the Windows Phone SDK 7.1.1 Update after installing the Windows Phone SDK 7.1 to fix an emulator issue on Windows 8. </update>

    <update date="7/22/2012"> Fixed broken link to the Windows Phone SDK 7.1.1 Update </update>

    <update date="10/30/2012"> Removed outdated reference to the Windows 8 consumer preview. This post applies equally to the final release of Windows 8. </update>

     

  • Aaron Stebner's WebLog

    Windows Phone SDK 7.1.1 Update - CTP now available for download

    • 0 Comments

    As announced earlier today on the Windows Phone Developer Blog, a community technology preview (CTP) of an update for the Windows Phone SDK 7.1 has been released.  The Windows Phone SDK 7.1.1 Update – CTP provides a new 256 MB device emulator image and an updated 512 MB emulator, and it provides the ability to deploy, run, debug and profile your Windows Phone applications and games in the 512 MB emulator or the 256 MB emulator.  This update is a patch and not a standalone product, so you must install the Windows Phone SDK 7.1 before you can install the update.

    Here are links you can use to download and install the Windows Phone SDK 7.1 and the Windows Phone SDK 7.1.1 Update – CTP:

    Here are some documentation topics to help you get started using the Windows Phone SDK 7.1.1 Update – CTP:

    There are a couple of limitations to keep in mind when using the Windows Phone SDK 7.1.1 Update – CTP:

    • This CTP does not include a go-live license.  This means that applications or games created with this update cannot be published on the Windows Phone marketplace.  A final version of the update that includes a go-live license will be released next month.
    • This CTP only supports the English and Chinese – Simplified versions of the Windows Phone SDK 7.1.  The final version will support all Windows Phone SDK 7.1 languages.
  • Aaron Stebner's WebLog

    Undocumented command line switch to extract the contents of .NET Framework 4 setup

    • 6 Comments

    This is a quick follow-up to my previous post about using the /? switch to see a list of .NET Framework 4 command line switches.  It is fairly common to need to extract the contents of a self-extracting setup package (such as to create an administrative install point).  Unfortunately, that command line switch is not documented in the usage dialog for .NET Framework 4 setup or for most updates available on Windows Update for some reason.  It is possible to use a tool like WinZip to extract most self-extracting packages, but if you don’t have a tool like that available on your computer, you can do the following to extract the contents of the .NET Framework 4 setup package:

    1. Download the .NET Framework 4 installer from http://www.microsoft.com/download/en/details.aspx?id=17718 and save it to your desktop
    2. Run the following command line:

      dotNetFx40_Full_x86_x64.exe /x

    3. In the dialog that appears, type in the path that you would like to extract the files to
    4. Alternatively, you can also use a command line like the following to silently extract the contents to a folder without interacting with any UI:

      dotNetFx40_Full_x86_x64.exe /x:c:\dotnetfx4 /q

    The above example shows how to extract the contents of .NET Framework 4 setup.  The same /x switch is also supported by many other types of installers, including many of the updates that are available on Windows Update.

  • Aaron Stebner's WebLog

    Command line switches for .NET Framework 4 setup that you might not have known about

    • 8 Comments

    Because of some of the posts I’ve written in the past, I often get asked about how to install various products in silent or unattended mode.  In some cases, I am familiar with the product and know how to answer the question.  However, in a lot of cases, I don’t, and in those cases, I try running the installer with the /? command line switch to see if it will display a usage dialog to describe the available options.  This technique doesn’t always help because some installers do not list any command line switches or they only list a selected subset of their supported switches.  However, it has provided some very useful information in the past, and it is worth trying if you are having trouble finding documentation for setup command line switches.

    For example, if you download the installer for the .NET Framework 4 and run it with the /? switch, you will see a lot of information about available command line switches.  There are several standard options that are pretty well documented (silent/unattended install and uninstall), and there are several other useful options that you may not have been aware of:

    • /CEIPconsent – allows you to opt into sending customer experience feedback about .NET Framework 4 setup back to Microsoft.
    • /lcid – force setup UI to appear in a specific language instead of the user’s Windows UI language.
    • /log – sets the name and location to use for setup log files.
    • /msioptions – sets parameters (such as MSI properties) that are passed through to each of the .msi files installed as a part of the .NET Framework 4 setup.
    • /pipe – connect a communication channel to allow an installer that chains the .NET Framework to receive installation progress messages.  There is an MSDN article that explains this option in more detail and provides code samples as well.
  • Aaron Stebner's WebLog

    Updates to Xbox LIVE Indie Game submission policies

    • 0 Comments

    As announced earlier today on the XNA Game Studio team blog and on the App Hub forums, there have been a few changes to the Xbox LIVE Indie Game submission policies to give developers more flexibility when submitting their games.  Here is a brief summary of the changes:

    • The maximum size for an Xbox LIVE Indie Game submission package (.ccgame) has been raised from 150 MB to 500 MB.
    • The maximum size for a game selling for 80 Microsoft points has been raised from 50 MB to 150 MB.
    • The maximum number of Xbox LIVE Indie Games that a developer can publish with one App Hub membership has been raised from 10 to 20.

    Please visit this forum thread for more detailed information and answers to any questions you might have about these changes.

  • Aaron Stebner's WebLog

    How to fix platform extensions add-in store errors that can occur when using XNA Game Studio

    • 0 Comments

    Every once in a while, I see a post on the App Hub forums (for example, here or here) where someone runs into an error related to the XNA Game Studio platform extensions add-in store when trying to open an XNA Game Studio project for Xbox 360 or Windows Phone.  The error message looks like the following:

    ---------------------------
    Microsoft XNA Game Studio
    ---------------------------
    The XNA Game Studio platform extensions add-in store returned the following error:

        Could not find the add-in deployment cache file, "C:\Program Files (x86)\Common Files\Microsoft Shared\XNA\PlatformExtensions\PipelineSegments.store".  Please run AddInStore.Update or Rebuild (or run AddInUtil.exe on the command line).  Also, ensure your code has permission to read this file.

    Please run Setup for Microsoft XNA Game Studio Platform Tools to repair your installation.
    ---------------------------
    OK  
    ---------------------------

    If you encounter an error like this while trying to use XNA Game Studio, there are a few different options that can be used to resolve it.  I suggest trying them in the order listed below, and skip to the next option if the current option does not resolve the error for you.

    Option 1 – re-install Microsoft XNA Game Studio Platform Tools

    The XNA Game Studio Platform Tools is one of the sub-components that is installed behind the scenes by XNA Game Studio setup.  You can re-install it by right-clicking on the platform tools MSI, choosing to uninstall it, then double-click on it and choose to install it.  The platform tools MSI can be found at the following location on a computer that has XNA Game Studio 4.0 (or the 4.0 Refresh) installed.

    On a 32-bit OS:

    • %ProgramFiles%\Microsoft XNA\XNA Game Studio\v4.0\Setup\xnags_platform_tools.msi

    On a 64-bit OS:

    • %ProgramFiles(x86)%\Microsoft XNA\XNA Game Studio\v4.0\Setup\xnags_platform_tools.msi

    Option 2 – re-install Microsoft XNA Game Studio

    For this option, you can go to the Programs and Features (or Add/Remove Programs) control panel and uninstall all of the following components:

    • Microsoft XNA Game Studio 4.0 (or 4.0 Refresh)
    • Microsoft XNA Framework Redistributable 4.0 (or 4.0 Refresh)
    • Microsoft XNA Game Studio Platform Tools

    Alternatively, you can use the XNA Game Studio cleanup tool.

    After uninstalling the above components, re-download and re-install XNA Game Studio.

    Option 3 – re-build the XNA Game Studio Platform Tools add-in store manually

    If the above steps do not help, it might help to manually re-build the XNA Game Studio Platform Tools add-in store.  These steps are run during Platform Tools setup, but in some cases they will fail, and running them manually can provide more useful error information for troubleshooting purposes.

    Note – even though XNA Game Studio 4.0 (and the 4.0 Refresh) require VS 2010 and the .NET Framework 4, they will attempt to use the .NET Framework 3.5 to build the add-in store if the .NET Framework 3.5 is installed because platform tools components are shared by previous versions of XNA Game Studio (3.0 and 3.1), and older versions of XNA Game Studio cannot read the add-in store if it is re-built by the .NET Framework 4.  Because of that, I recommend using the .NET Framework 3.5 to re-build the add-in store if you have it installed.

    If you have the .NET Framework 3.5 installed, run the following commands from an elevated cmd prompt:

    On a 32-bit OS:

    • "%windir%\Microsoft.NET\Framework\v3.5\AddInUtil.exe" -PipelineRoot:"%ProgramFiles%\Common Files\microsoft shared\XNA\PipelineHosting\." -Rebuild
    • "%windir%\Microsoft.NET\Framework\v3.5\AddInUtil.exe" -PipelineRoot:"%ProgramFiles%\Common Files\microsoft shared\XNA\PlatformExtensions\." -Rebuild

    On a 64-bit OS:

    • "%windir%\Microsoft.NET\Framework\v3.5\AddInUtil.exe" -PipelineRoot:"%ProgramFiles(x86)%\Common Files\microsoft shared\XNA\PipelineHosting\." -Rebuild
    • "%windir%\Microsoft.NET\Framework\v3.5\AddInUtil.exe" -PipelineRoot:"%ProgramFiles(x86)%\Common Files\microsoft shared\XNA\PlatformExtensions\." -Rebuild

    If you do not have the .NET Framework 3.5 installed, but have the .NET Framework 4 installed, run the following commands from an elevated cmd prompt:

    On a 32-bit OS:

    • "%windir%\Microsoft.NET\Framework\v4.0.30319\AddInUtil.exe" -PipelineRoot:"%ProgramFiles%\Common Files\microsoft shared\XNA\PipelineHosting\." -Rebuild
    • "%windir%\Microsoft.NET\Framework\v4.0.30319\AddInUtil.exe" -PipelineRoot:"%ProgramFiles%\Common Files\microsoft shared\XNA\PlatformExtensions\." -Rebuild

    On a 64-bit OS:

    • "%windir%\Microsoft.NET\Framework\v4.0.30319\AddInUtil.exe" -PipelineRoot:"%ProgramFiles(x86)%\Common Files\microsoft shared\XNA\PipelineHosting\." -Rebuild
    • "%windir%\Microsoft.NET\Framework\v4.0.30319\AddInUtil.exe" -PipelineRoot:"%ProgramFiles(x86)%\Common Files\microsoft shared\XNA\PlatformExtensions\." -Rebuild

    Option 4 – re-install the .NET Framework

    If the above options do not help, it might be necessary to repair/re-install the .NET Framework on your computer.  As I described in the notes for option 3 above, the XNA Game Studio Platform Tools will use the .NET Framework 3.5 to build the add-in store if the .NET Framework 3.5 is installed on the computer.  As a result, you will need to try to repair/re-install both the .NET Framework 3.5 and the .NET Framework 4.

    Option 5 – if none of the above help

    If none of the above options solve this error, please do the following:

    1. Use the log collection tool to collect all of your setup log files.
    2. Upload the file named %temp%\vslogs.cab that the log collection tool will create to a file server (such as http://skydrive.live.com).
    3. Post a comment on this blog post that includes a link that I can use to download your log files and take a closer look.
  • Aaron Stebner's WebLog

    Dream.Build.Play 2012 competition will be open to both Xbox 360 and Windows Phone games

    • 2 Comments

    The 2012 Dream.Build.Play competition was introduced yesterday in a post on the XNA Game Studio team blog.  The 2012 competition will be open to both Xbox 360 and Windows Phone games.  Here are a couple of links with additional information:

  • Aaron Stebner's WebLog

    Link to more information about the Program Install and Uninstall Troubleshooting Tool

    • 8 Comments

    There is a new general-purpose installation troubleshooting tool called the Program Install and Uninstall Troubleshooting Tool that has been available on the Microsoft support site for a little while, and I want to post some information about this tool to help make it easier for people to find it.

    This tool is conceptually similar to the .NET Framework cleanup tool, but it is more generic and can be used to clean up any MSI-based installation on a computer.  It also performs more robust back-up steps prior to cleaning up in case you need to roll back to a previous state.

    Where to download the Program Install and Uninstall Troubleshooting Tool

    You can find more information about the Program Install and Uninstall Troubleshooting Tool and download it from the following locations:

    Summary information about the tool

    The Program Install and Uninstall Troubleshooting Tool can be used to automatically diagnose problems that can prevent installing and uninstalling programs on your computer.  It can help resolve some errors that prevent programs from uninstalling, installing or updating correctly.  Here is a list of issues that this tool is currently able to fix:

    • Resolves some problems that can prevent programs from being successfully uninstalled (which can block re-installations and update installation).
    • Removes an incorrect registry key that can cause some installers to fail on 64-bit operating systems.
    • Fixes corrupted patch data in Windows Installer registry keys.

    This tool is designed as a last resort for cases where install, uninstall, repair or patch installation did not succeed for unusual reasons. It is not a substitute for the standard uninstall procedure.  You should use only use this tool to uninstall a program if the program fails to uninstall using the entry in the Programs and Features control panel.

    More details about how the tool works

    The Program Install and Uninstall Troubleshooting Tool does the following behind the scenes when you use it to uninstall a program:

    • Creates a system restore point prior to removing program files and registry entries.  This restore point can be used to return the computer to the state prior to any action taken by the tool.
    • Makes back-up copies of all files and registry entries that it will remove to a folder under c:\MATS\<ProductCode>.
    • Backs up files in sub-folders that correspond to the system drive letters.  For example: c:\MATS\<ProductCode>\FileBackup\c\...
    • Backs up registry information in an XML file. 
    • Creates a PowerShell script that can be used to automatically restore file and registry information deleted by the tool.  The PowerShell script will be located at C:\MATS\<ProductCode>\RestoreYourFilesAndRegistry.ps1, and you can double-click on it to run it if you have PowerShell installed.
    • Stores additional information in the registry about actions that it has taken.  This information can be found at the following location:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MATS\WindowsInstaller\<ProductCode>\<DateTime>

      The most useful piece of information stored at this location in the registry is the return value received when MATS attempted to run msiexec /x to uninstall the product.

    The Program Install and Uninstall Troubleshooting Tool requires Windows Installer product codes in order to know what file and registry information to remove from the computer.  For programs that are listed in the tool UI, the product code will appear as a tool tip when you mouse over the product name.  If you choose the Not Listed option in the tool UI, you can use a tool like MsiInv to determine the product code.

  • Aaron Stebner's WebLog

    Possible error when building a Silverlight application on a computer that does not have XNA Game Studio 4.0 installed

    • 3 Comments

    If you use the Windows Phone SDK 7.1, it is possible to get an error like the following when building a Silverlight project:

    The target "GetCopyToOutputDirectoryContentProjectItems" does not exist in the project.

    How to resolve this issue

    In the cases that I’ve seen this error in the past, it was caused by XNA Game Studio 4.0 not being correctly installed on the computer.  If you encounter this error, I suggest trying one of the following:

    1. Repair or re-install the Windows Phone SDK 7.1, which will repair XNA Game Studio 4.0 behind the scenes.
    2. If #1 does not help, then you can use the cleanup tool described at http://blogs.msdn.com/astebner/pages/9544320.aspx to remove the Windows Phone SDK 7.1 and then re-install it.

    More details about the root cause of the issue

    The GetCopyToOutputDirectoryContentProjectItems target is defined in an MSBuild .targets file installed by XNA Game Studio 4.0.  In the Windows Phone SDK 7.1, one of the Silverlight .targets files has a dependency on this XNA Game Studio 4.0 build target in order to support building the new combined Silverlight and XNA applications.  This dependency exists for standard Silverlight projects in addition to Silverlight and XNA application projects.  As a result, it is possible to get into a state where you cannot build a Silverlight project in the Windows Phone SDK 7.1 when XNA Game Studio 4.0 is not installed even if you are not using XNA Game Studio features in your Silverlight project.

  • Aaron Stebner's WebLog

    Benign warning when creating a Silverlight and XNA Application project in the Windows Phone SDK 7.1

    • 3 Comments

    I have seen several people ask about this scenario on the App Hub forums, and I wanted to write a blog post to help raise visibility because it is hard to find in the release notes.

    Description of the issue

    The Windows Phone SDK 7.1 introduces the ability to create applications that combine Silverlight and XNA Framework technologies.  If you create a new Windows Phone Silverlight and XNA Application using the project template that ships with the Windows Phone SDK 7.1, you will see a warning like the following in the Visual Studio error window:

    The project 'SlXnaApp1Lib' cannot be referenced.  The referenced project is targeted to a different framework family (.NETFramework)

    This warning will not prevent you from building or running the Silverlight and XNA Application project, and you can safely ignore the warning.

    More details about the root cause of the issue

    A Silverlight and XNA Application includes a Silverlight project, an XNA Game Studio Windows Phone Game Library project and an XNA Game Studio content project.  The Silverlight project is the parent project, and it includes a project-to-project reference to the XNA game library project.  The warning occurs because Visual Studio detects that the XNA project does not target the same .NET Framework profile as the Silverlight project.  However, on Windows Phone, there is only one .NET Framework profile, regardless of what the target framework settings are in the project files, so the warning does not indicate any possible functional problems when you build and run your application.

  • Aaron Stebner's WebLog

    Link to information about the WiX v3.6 beta

    • 0 Comments

    Rob Mensching posted an item on his blog announcing the release of the WiX v3.6 beta.  The key feature in WiX v3.6 is the Burn bootstrapper/chainer.  To summarize Rob’s post, Burn includes the following features:

    • Modern setup UI, including using managed code for setup UI even if the .NET Framework isn’t installed
    • Child setup package download management
    • Unified progress UI across packages
    • Package-level reference counting
    • Patch slip-streaming
    • Elevation prompt management

    In addition, all known WiX core toolset bugs that were opened against WiX v3.5 or earlier have been fixed in the WiX v3.6 beta.

    I encourage you to download the WiX v3.6 beta and give it a try if you get a chance.

  • Aaron Stebner's WebLog

    Direct download links for the XNA Game Studio 4.0 Refresh and XNA Framework Redistributable 4.0 Refresh

    • 1 Comments

    Last week, we released the final version of the Windows Phone SDK 7.1, which includes the final version of the XNA Game Studio 4.0 Refresh.  After a bit of a delay, we have now also released the standalone versions of the XNA Game Studio 4.0 Refresh and the XNA Framework 4.0 Refresh so you can download and install them separately if you plan to develop Windows and/or Xbox 360 games with XNA Game Studio but do not want to install the full Windows Phone SDK 7.1 in order to do so.

    Here are the standalone download links:

    XNA Game Studio 4.0 Refresh

    XNA Framework Redistributable 4.0 Refresh

    If you have the original version of XNA Game Studio 4.0 or the XNA Framework Redistributable 4.0 installed on your computer, the Refresh installers will automatically upgrade them for you behind the scenes.  If you have any beta version of the Windows Phone SDK 7.1 installed, the Refresh installers will not automatically upgrade them, and you will need to uninstall the beta version first.

    If you encounter XNA Game Studio setup failures

    If you run into an installation or uninstallation failure for XNA Game Studio, please zip your setup log files, 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 App Hub Forums or in a comment on my blog to get additional support.  Here are the log file locations for each version of XNA Game Studio:

    • 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
    • XNA Game Studio 4.0 Refresh - %temp%\XNA Game Studio 4.0 Setup\Logs

    If you run into uninstallation issues with any release of the Windows Phone SDK or XNA Game Studio, you can use the cleanup tool described at http://blogs.msdn.com/astebner/pages/9544320.aspx to forcibly remove the Windows Phone SDK or XNA Game Studio.

  • Aaron Stebner's WebLog

    Mailbag: Do I need still need older versions of the .NET Framework on my system after installing the .NET Framework 4?

    • 14 Comments

    Note: This is an updated version of a previous mailbag entry that I posted before the .NET Framework 4 shipped.

    Question:

    I recently installed the .NET Framework 4 on my system. Afterwards, I looked in Add/Remove Programs, and it shows that I have all of the following versions of the .NET Framework installed on my system:

    • Microsoft .NET Framework 1.1
    • Microsoft .NET Framework 2.0 SP2
    • Microsoft .NET Framework 3.0 SP2
    • Microsoft .NET Framework 3.5 SP1
    • Microsoft .NET Framework 4 Client Profile
    • Microsoft .NET Framework 4 Extended

    Do I need any of these older versions of the .NET Framework now that I’ve installed the .NET Framework 4, or can I safely uninstall them?

    Answer:

    In general, my recommendation is to leave the .NET Framework 2.0 SP2, 3.0 SP2, 3.5 SP1 and 4 installed on your computer.

    Unlike previous versions of the .NET Framework, the .NET Framework 4 does not allow an application that was built with previous versions of the .NET Framework to migrate forward and run on it if the previous version is not installed. If you are using any applications that were built with any version of the .NET Framework before version 4, then I recommend leaving both the .NET Framework 3.5 SP1 and the .NET Framework 4 installed.

    You cannot use the .NET Framework 3.5 SP1 unless you also have the .NET Framework 2.0 SP2 and 3.0 SP2 installed. Therefore, you will not be allowed to uninstall the .NET Framework 2.0 SP2 or 3.0 SP2 if you have the .NET Framework 3.5 SP1 installed. If you try to uninstall the .NET Framework 2.0 or 3.0 when the .NET Framework 3.5 is installed, their uninstall processes will block and tell you that they are needed by another application on your system.

    The .NET Framework 1.0 and .NET Framework 1.1 can be installed side-by-side with the .NET Framework 2.0, 3.0, 3.5 and 4. Most applications that were created for the .NET Framework 1.0 or 1.1 will automatically use the .NET Framework 2.0 instead if it is installed on the system. In most cases, that means you do not need to keep the .NET Framework 1.0 or 1.1 installed on your system if you already have the .NET Framework 2.0 installed.

    However, there are some applications that are configured to require a specific version of the .NET Framework, even if later versions of the .NET Framework are installed. If you have any applications like that on your system and try to run them without installing the .NET Framework 1.0 or 1.1, you will get an error message that looks like the following:

    ---------------------------
    MyApplication.exe - .NET Framework Initialization Error
    ---------------------------
    To run this application, you first must install one of the following versions of the .NET Framework:
    v1.1.4322
    Contact your application publisher for instructions about obtaining the appropriate version of the .NET Framework.
    ---------------------------
    OK
    ---------------------------

    In the above error message, the version number will be v1.0.3705 if you need to install the .NET Framework 1.0, and it will be v1.1.4322 if you need to install the .NET Framework 1.1.

    If you end up seeing any error messages like this, you can re-install the .NET Framework 1.0 or 1.1 in order to resolve the errors. If you don't end up seeing any error messages like this, then you don't need to worry about re-installing the .NET Framework 1.0 or 1.1.

  • Aaron Stebner's WebLog

    Final version of Windows Phone SDK 7.1 now available for download

    • 8 Comments

    As announced on the Windows Phone Developer Blog and on the App Hub web site, the final version of the Windows Phone SDK 7.1 (formerly named the Windows Phone Developer Tools, and which includes the XNA Game Studio 4.0 Refresh as well) was released for download today.

    Getting Started links

    Here are links to help you get started installing and using the English version of the Windows Phone SDK 7.1:

    Here are download links for non-English versions of the Windows Phone SDK 7.1:

    Documentation links

    Here are some links to documentation to help you get started using the Windows Phone SDK 7.1:

    Support links

    Here are some links if you run into questions or issues with the Windows Phone SDK 7.1:

    How to install

    Here are steps you can use to install the Windows Phone SDK 7.1:

    1. If you have any Visual Studio 2010 editions (such as Professional, Ultimate, C# Express, etc) installed on your computer, you will need to install Visual Studio 2010 SP1 first.
    2. If you have the WPDT 7.1 Beta, the Windows Phone SDK 7.1 Beta 2 or the Windows Phone SDK 7.1 RC installed, you must uninstall it before installing the Windows Phone SDK 7.1. To uninstall it, you can go to the Programs and Features control panel and uninstall the item named Windows Phone SDK 7.1 (RC) - ENU and that will automatically uninstall all of the beta components that you need to remove before proceeding to install the Windows Phone SDK 7.1.

      Note: If you have the original Windows Phone 7 version of WPDT and/or XNA Game Studio 4.0 installed, you do not need to uninstall them. The Windows Phone SDK 7.1 and the XNA Game Studio 4.0 Refresh will automatically uninstall the previous version for you behind the scenes. You only need to uninstall previous 7.1 beta builds.

    3. After updating any existing editions of VS 2010 to SP1 and uninstalling any previous beta versions of the Windows Phone SDK that you previously installed, you can proceed with installing the Windows Phone SDK 7.1.

    If you encounter Windows Phone SDK 7.1 setup failures

    If you run into an installation or uninstallation failure for the Windows Phone SDK 7.1, you can use the log collection tool to gather your setup log files. This log collection tool will create a file named %temp%\vslogs.cab.

    Once you have gathered your setup log files, you can upload them to a file server of your choice (such as http://skydrive.live.com), and post a link to the log files in the forums to get additional support.

    If you run into uninstallation issues with any release of the Windows Phone SDK or XNA Game Studio, you can use the cleanup tool described at http://blogs.msdn.com/astebner/pages/9544320.aspx to remove the Windows Phone SDK or XNA Game Studio.

  • Aaron Stebner's WebLog

    Windows 8 and Visual Studio 11 developer preview available for download

    • 0 Comments

    As announced on the Building Windows 8 blog and on Jason Zander’s blog among other places, a developer preview of Windows 8 is available for download.  One of the download options for the Windows 8 Developer Preview includes a pre-installed version of the developer tools, including Visual Studio 11 and .NET Framework 4.5 developer preview.

    Here are some links to help you get started downloading and using the Windows 8 Developer Preview and the associated developer tools:

    Rob Mensching posted some additional information on his blog about setup features in Visual Studio 11.  There are a couple of key points that he mentioned in his post that I want to highlight here as well:

    • Visual Studio 11 setup is being built with the WiX 3.6 toolset and the Burn chainer.  This point is a little bittersweet for me personally.  One one hand, I have been really happy to see the Burn chainer technology grow into something that can support the relatively complex chaining scenarios needed by Visual Studio setup.  On the other hand, the previous Visual Studio setup chainer is one of the first things I worked on when I started at Microsoft back in 1999, and it was used to install all versions of Visual Studio from 2002 to 2010 as well as the .NET Framework 3.0 and 3.5.  It feels a little bit like the end of an era for me to finally see that chainer get retired.

    • Setup is integrated more tightly and earlier on in the developer work flow for Metro-style applications for Windows 8 than it has been in previous Windows development paradigms.  I feel pretty strongly that product development as a whole is most effective when setup is integrated into the product development lifecycle instead of being an afterthought.  Rob previously referred to this concept as setup-driven development, and I’m happy to see it become a more established practice in Windows 8.
  • Aaron Stebner's WebLog

    Mailbag: How can I reset Windows Update if it tells me I need an update that is already installed?

    • 3 Comments

    Question:

    I recently received a .NET Framework update from Windows Update.  It installed successfully, but Windows Update continues to offer this update to my computer afterwards.  How can I get Windows Update to detect that this update is correctly installed on my computer?

    Answer:

    In some cases, Windows Update can get confused and think that it needs to continue to offer an update to a computer even after it has been successfully installed.  In this type of scenario, it can sometimes help to reboot your computer and then use the steps listed at http://support.microsoft.com/kb/971058 to reset the Windows Update components on your computer.

    If Windows Update continues to offer an update to your computer even after resetting Windows Update components, then you might need to uninstall and re-install the product that the update applies to in order to cause Windows Update to correctly detect the installation state of the update.

Page 2 of 48 (1,181 items) 12345»