如何为Win7强制IE-8 32位而不是在WinXP上破坏IE-7?

时间:2011-11-17 18:53:19

标签: c# internet-explorer windows-7 windows-xp operating-system

我们正在为可能拥有WinXP或可能拥有Win7的用户运行C#.net应用。 WinXP主要使用IE-7,Win7用户使用IE-8。在应用程序中,需要显示一个网页,它只能在32位浏览器上运行(Crystal Reports)。

在WinXP中,使用C:\ Program Files \ Internet Explorer \ iexplore.exe调用浏览器。

在Win7中,使用相同的方式调用64位浏览器,但使用C:\ Program Files(x86)\ Internet Explorer \ iexplore.exe调用32位浏览器。

因此,我们需要确定用户的操作系统,然后使用适当的IE。或者,我们需要以某种方式使IE 32位成为默认浏览器。

当我们第一次遇到这个时,我是为数不多的Win7用户之一,我们将我的电脑中的iexplore重新映射到32位IE。这工作了好几个月,直到我们升级,它打破IE非常糟糕,它根本无法启动,我最终让我的电脑重新成像。我不认为这对我们的普通用户来说是一个很好的解决方案!

我们应该以某种方式获取用户的操作系统,然后调用相应的IE?怎么办?或者,有没有更好的方法来处理这个? OS可能会有很长一段时间,可能还有几年。

2 个答案:

答案 0 :(得分:2)

您应该只需拨打Process.Start(@"\path\to\file.html")即可在用户的默认浏览器中打开该页面。

如果您确实需要32位IE的路径,请致电

Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86),  
    @"Internet Explorer\iexplore.exe"
)

答案 1 :(得分:0)

Process.Start("http://www.example.com/path/to/file.html");

启动URL将打开默认浏览器。这可能不是IE。我还建议使用协议和其他所有内容格式化网址。