Set 64-bit native windows apps as Default Program

6

6

On a Windows 7 (64-bit machine) if you navigate to:

Control Panel\All Control Panel Items\Default Programs\Set Default Programs

The programs in the program list on the left are automatically populated with the windows native ones, like Internet Explorer, and Windows Media Player.

However, by default, when selecting one of these, windows will use the 32-bit version of the application instead of the 64-bit version. Is there a location this list is pulled from, or a way to change this? Initial search results have pulled up nothing.

Update

As suggested by MikeAWood, I've tried manually adjusting the settings per file type as indicated in this article and run into similar problems as some of the users in the comments section of that article (which were never resolved), as well as some additional issues:

Update

As suggested by Louis Somers, I've updated several registry keys and still have issues 4 and 5, his answer resolved the rest of the issues though.

  1. Links from within programs, still use 32-bit Internet Explorer
  2. The default desktop Internet Explorer icon still uses 32-bit Internet Explorer
  3. Any applications with an embedded Internet Explorer shell still use 32-bit Internet Explorer
  4. Any applications using the WebClient service still use 32-bit Internet Explorer
  5. All FTP connections inside Windows Explorer still use 32-bit Internet Explorer
  6. Any ActiveDesktop content or web content/backgrounds within a folder still use 32-bit Internet Explorer

Update

Based off this article, and this article, I can set Windows Media Player to default to the 64-bit version successfully (in Windows 7, even though the articles refers to Vista), but I've had no similar luck with Internet Explorer, any ideas?

Brian Deragon

Posted 2012-02-09T08:33:40.280

Reputation: 434

Answers

1

You could try updating the keys at:

HKEY_CLASSES_ROOT\IE.AssocFile.HTM\shell\open\command

to the desired version, but you'll have to do it for a whole bunch of possible entries, e.g:

HKEY_CLASSES_ROOT\IE.HTTP\shell\open\command
HKEY_CLASSES_ROOT\IE.HTTPS\shell\open\command

etc...

I dont think you have to change anything under the HKEY_CLASSES_ROOT\Wow6432Node.

Louis Somers

Posted 2012-02-09T08:33:40.280

Reputation: 475

1This got me a lot closer, thanks, not quite there yet, but a heck of a lot closer. – Brian Deragon – 2012-05-21T15:34:14.630

1

This Microsoft article suggests a simple way of doing this by changing the file association in Control Panel\All Control Panel Items\Default Programs\Set Associations. Simply point the extension to C:\program files\internet explorer\iexplore.exe and you should be set.

Changing the .htm and .html should probably get you where you want to be.

MikeAWood

Posted 2012-02-09T08:33:40.280

Reputation: 647

Mike, this is only a partial fix, however, I found a way to fix Windows Media player. See update in question. – Brian Deragon – 2012-05-15T13:35:25.833

1

From Q&A: 64-Bit Internet Explorer from May 2009 :

Q: Why isn't 64bit IE the default browser? Why can't I set the 64bit version of IE as the default browser?

A: This was an explicit choice made by the IE team, which may change at some point in the future. The problem is that users might inadvertently get "stuck" using the 64bit version and not realize it. This might cause some problems.

Q: Why? What does not work properly with 64bit IE?

A: Browser addons, including BHOs, Toolbars, and ActiveX controls, must generally be the same bitness as IE itself. So, if you are running a 64bit version of IE, any site that uses, say, Adobe Flash, isn't going to work until you install the 64bit version of the addon. Sadly, almost no browser addons are currently available in 64bit versions, although that's somewhat likely to change in the future as 64bit Windows becomes more prevalent.

Another reason may be that 32-bit IE9 also includes a Just In Time (JIT) script compiler which converts script into machine code before running it. As far as I could find, there is still no JIT compiler for 64-bit IE, which makes it perform up to 4 times slower.

Apparently, not much has changed since 2009. This might improve with IE10 and Windows 8.

The only solution I can think of to make IE 64-bit the default, is to go to "\Program Files (x86)\Internet Explorer" and rename iexplore.exe to something else, like iexploreold.exe. Next go to "\Program Files\Internet Explorer" and copy the iexplore.exe from that folder and paste it into the (x86) folder. Ouch.

harrymc

Posted 2012-02-09T08:33:40.280

Reputation: 306 093

Actually tried that sadly enough, and it throws lots of not so pretty errors during even normal browsing; if it even loads, it only loads on about half the machines. This isn't my requirement btw, it's for a team I'm supporting with about 200 computers, that absolutely have to run in 64-bit mode; and you always get the one person who forgets and launches in 32-bit mode and messes everything up. – Brian Deragon – 2012-05-15T15:24:56.120

Apparently then IE uses dlls or whatever from its folder. You could in that case leave the 32-bit IE renamed without overwriting it, so the forgetful person won't have it available at all, for the duration of the test. – harrymc – 2012-05-15T16:07:20.763

Yea, I really don't have any good options in here, I think there might be a way to actually change it using registry/command line combo, but I don't know enough about that particular section of Windows internals to figure it out easily. – Brian Deragon – 2012-05-15T16:43:22.137

You could also replace the 32-bit IE by a junction to the 64-bit one, but that's another complication you don't need. – harrymc – 2012-05-15T19:17:03.380

2All those things that don't work in 64-bit IE... are good reasons to use it! – Hugh Allen – 2012-05-18T14:09:19.157

(at least in preference to 32-bit IE) – Hugh Allen – 2012-05-18T14:14:50.100