On a project I was recently working on it was necessary to open a URL in Internet Explorer (a requirement of it to work correctly, unfortunately) and we had a few “bugs” which seemed to randomly occurred. It turned out this was due to Process.Start(“iexplore.exe”) loading 32-bit IE whereas it seems we required 64-bit.
With a little help from StackOverflow I was able to resolve this issue and thought it would be useful to share the resolution (with a little added detail) as it required a little searching myself to find.
So, to open 32-bit:
Process.Start(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), @"Internet Explorer\iexplore.exe"));
and to open 64-bit:
Process.Start(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), @"Internet Explorer\iexplore.exe"));
In theory this is only relevant if you are working with 64-bit systems, as the first will always open 32-bit and the second will open 32-bit if you are running on a 32-bit system.