We are intent on providing people with the best possible experience using their PCs with Windows. Building on that important principle, we will ship the same version of Windows 7 in Europe as in rest of the world on the worldwide launch date of 22 October, 2009. This version of Windows 7 includes Windows Internet Explorer 8 to help people get the most from their PCs and the Internet.
We will not ship E editions of Windows 7, which would not have included Internet Explorer. Customers who pre-order Windows 7 will receive versions of the product that include Internet Explorer. Customers participating in the Windows Upgrade Option available with select new PCs running Windows Vista will also receive versions of Windows 7 that include Internet Explorer. Customers in Europe will also be able to choose between upgrade and full versions of Windows 7.
I asked Giorgio Sardo, to write about the E editions for Windows 7 and the changes developers need to be aware of. Since the E edition for Windows 7 will ship without Internet Explorer 8. Giorgio is the Technical Evangelist working on IE and other web technologies.
In a previous post, we explained how Microsoft is working to fulfill our legal obligations in Europe for Windows 7. In the meantime, we received some questions about what the E editions of Windows 7 will mean for ISVs and developers.
I took the most common questions and posed them to Arik Cohen, a Program Manager who is working on the E editions of Windows 7. If you have other questions about how this could affect your applications, please add your comments to the post to let us know and we’ll work to get your questions answered.
Q: What are the differences between standard editions of Windows 7 and E editions of Windows 7?
A: The only functional difference is that the Internet Explorer 8 component is not available. This is the same component that your users can turn off in the “Turn Windows features on and off” control panel in the Windows 7 RC build. The Internet Web Platform components (for example, WebOC) are still installed and available on all editions of Windows 7, since they are part of the Windows core.
Q: How should I test my application to ensure that it will work without IE?
A: To get the same functional behavior as a clean install of the E editions of Windows 7, go to “Turn Windows features on and off” dialog and uncheck Internet Explorer 8. We recommend testing your application both without a browser installed and with a browser installed (remember to set the installed browser as the default).
Q: What happens if I try to open a link without a browser installed?
A: You will get an “Application not found” exception.
Q: What general impacts of Windows 7 E editions have you seen on applications – especially ones that rely on the WebOC?
A: During our application compatibility testing, we’ve found that the vast majority of applications work on Windows 7 E editions without any changes. This includes applications that use many of the Internet Web Platform embedding methods (including WebBrowser control, hosting Trident, and HTML Help).
For instance, the following screenshot shows a .NET application that embeds the WebBrowser control running correctly on the E edition of Windows 7.
Q: My Windows application (WPF, Win Forms, Java, etc.) uses the Web Browser control. Is there any compatibility issue?
A: Everything should work as expected. However, we’ve seen some issues when applications depend directly on a specific browser. In particular, if while using the Web Browser control, you allow the application to open new windows that do not respect the user’s default browser choice, you may see some issues.
Q: What are the most common issues that you have found in your testing of applications? And what do you recommend ISVs do about them?
A: I have seen applications encounter three classes of issues on E editions of Windows 7:
These links would always have opened in IE (regardless of the default browser on the system). If you designed your application to open in the default browser, you will need to provide a function that allows that.
The recommended way to implement custom behavior when opening a new window is to use the NewWindow3 event. Sample code to hook this up in a C# .NET application would look like the following examples.
In the form initialization code:
And the handler:
These tend to occur when users don’t have a default browser on their systems and then try to click a “go online for more information” link. We think this is going to be an extremely narrow case – even so, applications should handle these failures gracefully.
Q: How do I identify the user’s default browser?
A: Use the IApplicationAssociationRegistration::QueryCurrentDefault API to determine the registered browser by checking QueryCurrentDefault(“http”, AT_URLPROTOCOL, AL_EFFECTIVE, out progID).
Q: My app needs to open the browser. What are the best practices?
A: Run shellexecute() without hard-coding the name of the browser. Respect the user’s choice of default browser and gracefully handle cases where no browser is installed on the system.
Q: How can I check if I’m running in one of the E edition for Windows 7?
A: The GetProductInfo() API (introduced in Windows Vista) is how to tell exactly what edition of Windows you are running. The new constant values for the E editions of Windows 7 will be available in the Windows 7 SDK.
Example of code to determine if you are running on Home Premium vs. Ultimate:
Q: Are the E editions of Windows 7 going to be available on MSDN? If so, when?
A: Yes, both the E editions of Windows 7 and the standard editions will be available on MSDN at the same time.
Q: What about the Internet Explorer 8 Feature Pack for Windows 7 E? If and when will Microsoft release it to the public?
A: Yes, the Internet Explorer 8 Feature Pack for Windows 7 E will be available on the Microsoft Download Center soon after Windows 7 becomes generally available.
IE Technical Evangelist – Microsoft Corp
great post. thanks for being proactive.
Some applications get proxy settings from Internet Explorer in order to access the internet (WinHttpGetIEProxyConfigForCurrentUser). What's an alternative way to configure proxy settings on the E editions? Thanks.
From the article (emphasis added)
"the Internet Explorer 8 Feature Pack for Windows 7 E will be available on the Microsoft Download Center soon AFTER Windows 7 becomes generally available"
Surely the feature pack should be posted BEFORE win7 comes out so that we can choose to download it in advance and thus avoid the inevitable slow downloads / crashed servers that will happen when everone who pre-ordered in Europe tries to download the pack at the same time!!
Also if it is out after win7 then those of us with a single computer won't be able to install our new software until we have this pack, i.e. if we don't wait we won't be able to download it due to no web browser.
Can you please tell me will chm help work in Win7 E? As far as I know it uses Internet Explorer. If no what would you recommend for help files creation?