Whether a email client is installed in the system or not, errors 'There is no email program associated to perform the requested action' and/or 'An error occurred. Jan 4, 2019 - Windows 10 default e-mail application works for everything but. HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows. Then, it checks the provider name in the default value under Software Clients Mail (this is finally.

In order to find out what the default email client is, I found the same information over and over again: Look at the default string in HKLM Software Clients Mail. (see for example this ) However, this seems not to be true for all OSs and/or situations: I have two machines running Win7 64bit, let's call them A and B. A has Outlook 2010 64bit and Thunderbird 3 32bit installed. B has Outlook 2007 32bit and Thunderbird 3 32bit installed. Both A and B have Thunderbird set as their default mail client. However, the state of the registry is not as I expected it: On machine A, both HKLM Software Clients Mail and HKLM Software Wow6432Node Clients Mail have an empty string as the default string value. Aladdin hardlock usb emulator floppy On B, both those keys contain Microsoft Outlook as the default string value, which is clearly wrong.

Further investigation revealed that the correct value seems to be written to HKCU Software Clients Mail on both machines. I want my application to handle this correctly for all cases. It makes kinda sense, that Win7 now seems to hold a separate default mail client for each user, but it appears rather inconsistent. When looking at the plethora of information that points to HKLM Software Clients Mail, it seems obvious that previous versions of Windows handled this differently and always wrote to that location.

Hkeylocalmachine Software Clients Mail Default Program

So when did this change? Has the wrong value on machine B any meaning? If not, why does it get written there in the first place? Does the mix of 64bit and 32bit email clients on the same computer change anything? I would most appreciate if anyone would share reliable information or documentation that explains this topic! Maybe there is a Win32 API function that returns the correct value? For Windows 10, this seems to be different - see the discussion here: Quoting the relevant paragraph for your question, from 's answer: Registry entries for mailto protocol are under HKLM SOFTWARE Classes mailto and as it is with other Classes, they could be overridden by entries for CURRENT_USER, under HKCU SOFTWARE Classes mailto BUT There were changes in recent Windows versions and now, there are more places in registry which will further override shell associations from Classes.

Moreover, in case of mailto they are mandatory and so rendering the Classes values for mailto useless. Next in line of importance is Key: [HKEY_CURRENT_USER SOFTWARE Microsoft Windows CurrentVersion Explorer FileExts mailto] which in turn is overridden by: [HKEY_CURRENT_USER SOFTWARE Microsoft Windows Roaming OpenWith UrlAssociations mailto] which is also used only if it's not overridden by: [HKEY_CURRENT_USER SOFTWARE Microsoft Windows Shell Associations UrlAssociations mailto] GOOD JOB Microsoft:) Values under these Keys have the same format, a Key UserChoice with a ProgId valuename pointing to shell association Key from Classes. But you can all but forget about editing these values, as there also is the Hash value.

It's a protection against such registry edits. User MUST click himself at least once to select an App on a standard Windows Open With dialog popup, if he also check the Always option, the Hash value is generated and the choice is remembered and written to last two Keys from the list above. Another option is to use the Settings as shown in the picture above. It's a safeguard against malicious Apps, viruses and bad programmed Apps.

To troubleshoot a problem with default mailto association, you can delete mailto Keys from under all of these locations, except LOCAL_MACHINE. Windows will re-create them on next use of the mailto protocol.

Popular Posts