Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS with no warranties, and confer no rights. Additionally, views expressed herein are my own and not those of my employer, Microsoft.
There are some known compatibility issues between .NET Framework 4 and 4.5 setup and .NET Framework 1.0 setup. As a result, installing the .NET Framework 4 or 4.5 will set a registry key that prevents .NET Framework 1.0 setup from running afterwards. That means that if you need to install both the .NET Framework 1.0 and 4 or 4.5 on the same computer, you need to install the .NET Framework 1.0 first, then install the .NET Framework 4 or 4.5.
I ran into a similar issue recently that I want to highlight as well because I didn’t find any official documentation about this behavior. The registry key set by .NET Framework 4 and 4.5 setup will also prevent .NET Framework 1.0 service packs from running afterwards, even if you already have the .NET Framework 1.0 installed. That means that if you need to install any .NET Framework 1.0 service packs and you have the .NET Framework 4 or 4.5 installed, you will need to do the following:
Behind the scenes, .NET Framework 1.0 setup includes a block that is implemented as a Type 19 custom action. This custom action is sequenced so that it runs during initial install and repair. Installing a service pack does the equivalent of a repair, which is why the block is triggered during service pack installation too.
Recently, while investigating an issue related to a .NET Framework hotfix installation problem, I reviewed the contents of the System Update Readiness Tool knowledge base article. I noticed that the contents have been updated since the release of Windows 8. Instead of needing to download and run a separate tool, the diagnostic and repair functionality in the System Update Readiness Tool is now built into Windows in Windows 8 and Windows Server 2012. This change should make it much easier to investigate and fix issues on Windows 8 and Windows Server 2012 such as the one I described a while ago in this blog post.
You can find more detailed information about how to use System Update Readiness Tool functionality in Windows 8 and Windows Server 2012 in this blog post from the Windows servicing team.
Since the release of Windows 8 last fall, I’ve gotten a few questions about what versions of the .NET Framework ship with Windows 8 and how to install, uninstall and repair them. Most of this information is documented in other places, but I wanted to put together a brief summary and post some links to hopefully make this information easier to find.
Windows 8 and the .NET Framework 4.5
Windows 8 includes the .NET Framework 4.5 as a part of the OS. It is installed by default and it is not possible to remove it.
The .NET Framework 4.5 is an in-place upgrade for the .NET Framework 4, and applications built for the .NET Framework 4 will run if the .NET Framework 4.5 is present. As a result, there is no need to install the .NET Framework 4 or 4.5 redistributable packages on Windows 8. If you attempt to run the .NET Framework 4 or 4.5 redistributable installers on Windows 8, they will prevent you from installing the redistributable versions. See this knowledge base article for more information about this scenario.
Windows 8 and the .NET Framework 2.0, 3.0 and 3.5
Windows 8 includes the .NET Framework 2.0, 3.0 and 3.5 as a part of the OS. They are not installed by default, and it is possible to add or remove it by using the Windows Features control panel. There is also an install-on-demand feature in Windows 8 that will prompt you to install the .NET Framework 2.0, 3.0 and 3.5 if you run an application that requires it.
If you attempt to run the .NET Framework 2.0, 3.0 or 3.5 redistributable installers on Windows 8, they will prevent you from installing the redistributable versions.
Here are links with more information about how to install the .NET Framework 2.0, 3.0 and 3.5 on Windows 8:
If you have an application that depends on the .NET Framework 2.0, 3.0 or 3.5, here are links with more information about options for automating the installation on Windows 8:
<update date="2/8/2013"> Added a link to a knowledge base article with more information about scenarios where installing the .NET Framework 4 or 4.5 redistributable package is blocked by Windows 8. </update>
As announced earlier today on the Windows Phone Developer Blog, the Windows Phone SDK update for Windows Phone 7.8 has been released. The Windows Phone SDK update for Windows Phone 7.8 is a patch and not a standalone product, so you must install the Windows Phone SDK 7.1 or the Windows Phone SDK 8.0 before you can install this update. Here is some information to help you get started installing and using the Windows Phone SDK update for Windows Phone 7.8:
What’s new in the Window Phone SDK update for Windows Phone 7.8:
Download and getting started links for the Windows Phone SDK update for Windows Phone 7.8:
Every once in a while, I see an email or a post on the forums from a developer who has created a game and wants to explore options for publishing it as an Xbox LIVE Arcade game or an Xbox LIVE-enabled game for Windows Phone, or Windows. There is a forum FAQ that we have been maintaining that contains some getting started links that will hopefully help developers who are interesting in learning more about this process. You can find the FAQ item at http://xboxforums.create.msdn.com/forums/t/3290.aspx.
In that FAQ, there are several links with more information about the Xbox LIVE Arcade program, the game submission process, and developing and submitting game pitches. Here are a few of the most useful getting started links:
The XNA Game Studio components that are installed as a part of the Windows Phone SDK 8.0 have a setup bug that causes the uninstall process for the Windows Phone SDK 8.0 to break XNA Game Studio 4.0 and vice versa.
How to fix XNA Game Studio 4.0 if you uninstall the Windows Phone SDK 8.0
If you have both the Windows Phone SDK 8.0 and XNA Game Studio 4.0 installed and then uninstall the Windows Phone SDK 8.0, you will need to do the following to restore XNA Game Studio 4.0 functionality:
How to fix the Windows Phone SDK 8.0 if you uninstall XNA Game Studio 4.0
If you have both the Windows Phone SDK 8.0 and XNA Game Studio 4.0 installed and then uninstall the XNA Framework Redistributable 4.0 component that is installed as a part of XNA Game Studio 4.0, you will need to repair the Windows Phone SDK 8.0 to restore XNA Game Studio functionality in the Windows Phone SDK 8.0.
The XNA Game Studio component that ships with the Windows Phone SDK 8.0 has a setup bug that causes some of the project templates to be installed to an incorrect location if Visual Studio 2012 or the Windows Phone SDK 8.0 is installed to a non-default path. If you run into this issue, you can use the following steps to restore the missing project templates.
If you are using Visual Studio 2012 Professional, Premium or Ultimate:
If you are using Visual Studio 2012 Express for Windows Phone:
The Windows Phone SDK 8.0 supports XNA Windows Phone game projects that target Windows Phone OS 7.1. It does not support XNA Windows Phone game projects that target Windows Phone OS 7.0. However, it does not block you from trying to open XNA projects that target Windows Phone OS 7.0. Instead, it will allow you to open the projects and try to build them, and then you will see error messages about missing reference assemblies.
In order to open and use your XNA projects that target Windows Phone OS 7.0 in the Windows Phone SDK 8.0, you must first upgrade them to target Windows Phone OS 7.1. You can perform this upgrade in one of the following ways:
As announced earlier today on the Windows Phone Developer Blog and the Visual Studio Blog, the Windows Phone SDK 8.0 is now available for download. Here is some information to help you get started installing and using the Windows Phone SDK 8.0.
Download links
The Windows Phone SDK 8.0 is available in the same set of languages as the Windows Phone SDK 7.1 – Chinese (Simplified), Chinese (Traditional), English, French, German, Italian, Japanese, Korean, Russian and Spanish.
Documentation and getting started links
Installing the Windows Phone SDK 8.0
The Windows Phone SDK 8.0 must be installed on a Windows 8 x64 computer, and the computer must have a processor that supports Second Level Address Translation (SLAT) in order to fully function. You can use the tool at https://slatstatuscheck.codeplex.com/ to determine if your processor supports SLAT. If you install on a computer with a processor that does not support SLAT, then Windows Phone SDK 8.0 setup will complete, but the Windows Phone 8 emulator will not function correctly.
Unlike in previous releases, Windows Phone SDK 8.0 setup will not block attempts to install on Windows Server 2012. However, the Windows Phone 8 emulator will not function correctly on Windows Server 2012.
If you run into an installation or uninstallation failure for the Windows Phone SDK 8.0, 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.
Notes about XNA Game Studio
The Windows Phone SDK 8.0 includes a subset of the XNA Game Studio 4.0 Refresh product. Specifically, it only allows you to develop Windows Phone games that use the XNA Framework. You can see more information about what XNA Framework functionality is supported in the Windows Phone SDK 8.0 in this documentation topic.
If you are developing Windows games or Xbox 360 games that use the XNA Framework, you must continue to use an edition of Visual Studio 2010 and one of the following products:
Both of the above products can be installed side-by-side with the Windows Phone SDK 8.0.
<update date="10/31/2012"> Fixed documentation links to point to MSDN instead of redirecting through the Windows Phone Dev Center. </update>
The official .NET Framework 4.5 deployment guides for developers and administrators are available on MSDN, and I wanted to provide links here to help raise visibility for them. Here they are along with some additional information about what is contained in each of them:
Microsoft .NET Framework 4.5 deployment guide for developers
You can find the deployment guide for application developers at the following location:
http://msdn.microsoft.com/en-us/library/ee942965(v=vs.110).aspx
The deployment guide for application developers is targeted at developers creating applications that depend on the .NET Framework 4.5 and that will need to incorporate the .NET Framework 4.5 into their installation process. It contains the following information:
Microsoft .NET Framework 4.5 deployment guide for administrators
You can find the administrator deployment guide at the following location:
http://msdn.microsoft.com/en-us/library/ee390831(v=vs.110).aspx
The administrator deployment guide is targeted at system administrators who want to deploy the .NET Framework 4.5 across a network by using System Center Configuration Manager (SCCM). It contains the following information:
A little while ago, I posted an introduction to a new .NET Framework Repair Tool that can be used to diagnose and repair .NET Framework 4 setup issues. An updated version of the repair tool has been released today to add support for diagnosing and repairing issues with .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 setup. The repair tool can identify and fix issues with the installation of MSI-based versions of the .NET Framework, but it cannot fix issues related to versions of the .NET Framework that are installed as a part of Windows.
If you run into installation issues with the MSI-based versions of the .NET Framework 2.0 SP2, 3.0 SP2, 3.5 SP1 or 4, I strongly encourage you to download the .NET Framework Repair Tool and run it to see if it resolves your issue before resorting to trying the .NET Framework cleanup tool. Here are links that you can use to find additional information about the .NET Framework Repair Tool:
With the release of Windows 8 and the new development platform for Windows Store applications, there has been some confusion about the level of support for games on Windows 8 that use the XNA Framework and that are built with XNA Game Studio. I wanted to post something here to help clarify what is and isn’t supported:
The process for creating and deploying XNA Framework-based games for the Windows 8 desktop is no different than the process for creating and deploying games for earlier versions of Windows. In fact, the deployment process is simpler because Windows 8 includes the .NET Framework 4.5 as an OS component, so you do not need to worry about installing the .NET Framework before you install the XNA Framework 4.0 Redistributable on Windows 8. If you are creating XNA Framework-based games for the Windows 8 desktop, you can use the information in this forum post to create an installer for your game.
A little while ago, I posted an updated version of the .NET Framework setup verification tool that enabled support for the .NET Framework 4.5 and Windows 8. I used the Windows 8 Release Preview to test that version of the tool, and an application compatibility shim was added to the final version of Windows 8 that causes the .NET Framework setup verification tool to silently exit and return success. This was done to address application compatibility issues such as this.
This week, I’ve posted an updated version of the .NET Framework setup verification tool that has a couple of key changes to react to the application compatibility issues that led to this shim being added to Windows 8. Here is a brief summary of the changes:
Updated pass/fail logic
The logic for determining success and failure for .NET Framework setup verification has been updated. Previously, the tool would report errors if any file that was supposed to be installed by a given version of the .NET Framework was not found on the computer. Now, missing files are logged as warnings instead of errors because many of the files installed by the .NET Framework are not critical to the functionality of the .NET Framework. The only things that will cause the verification tool to report an error are the following:
Silent mode has been removed
The .NET Framework setup verification tool no longer supports running in silent mode. While it was never officially supported to do so, some applications have redistributed older versions of the .NET Framework setup verification tool in their installers. They would run the verification tool in silent mode, and in some cases they would prevent the user from installing their application if the verification tool reported any failures. This has caused application compatibility issues (such as this) as new versions of Windows and the .NET Framework have been released.
You can download the latest version of the .NET Framework setup verification tool by using the links in the User’s Guide. As always, if you run into any issues or have any feedback about the .NET Framework setup verification tool, please let me know by posting a comment on one of my blog posts or by using the contact form.
There was a .NET Framework Repair Tool posted on the Microsoft Download Center earlier this summer, and I wanted to post a link here to hopefully make it easier for people to find.
I have seen this new tool successfully identify and fix .NET Framework 4 installation issues that have previously required using more invasive means to solve. Unlike the .NET Framework cleanup tool available via my blog, this new tool performs targeted diagnostics and makes fixes for specific setup issues instead of resorting to forcibly removing the .NET Framework and requiring the user to re-install it.
If you run into a .NET Framework 4 installation issue, I strongly encourage you to download the .NET Framework Repair Tool and run it to see if it resolves your issue before resorting to trying the .NET Framework cleanup tool. Here are links that you can use to find additional information about the .NET Framework Repair Tool:
<update date="9/8/2012"> Added a link to the knowledge base article for the .NET Framework Repair Tool. </update>
As announced on the Windows 8 app developer blog, Somasegar’s blog and Jason Zander’s blog, the final versions of Windows 8, the .NET Framework 4.5 and Visual Studio 2012 are now available for developers to download. Here is some information to help you get started installing and using these releases.
Here are links to help you get started downloading Windows 8:
Here are links to help you get started downloading the .NET Framework 4.5 and Visual Studio 2012:
Documentation links
Here are links to help you get started using Windows 8:
Here are links to help you get started using the .NET Framework 4.5 and Visual Studio 2012:
Important note about installing Visual Studio 2012 on Windows 8
The .NET Framework 4.5 is included as a part of Windows 8, and Visual Studio 2012 requires the .NET Framework 4.5 as a prerequisite. You can only install the final version of Visual Studio 2012 on the final version of Windows 8 because the final version of Windows 8 is the only one that includes the final version of the .NET Framework 4.5. This means you cannot install pre-release versions of Visual Studio 2012 on the final version of Windows 8, and you also cannot install the final version of Visual Studio 2012 on pre-release versions of Windows 8.
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:
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.
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.
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.
Here are links to help you get started downloading these preview releases:
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:
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:
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.
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>
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:
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.
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:
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>
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:
Changes to the Windows Phone SDK 7.1.1 Update since the CTP:
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:
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:
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:
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:
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>