IE浏览器控件默认为IE7,IE9已安装

时间:2012-05-19 01:11:49

标签: vb.net visual-studio-2010 internet-explorer-7 browser internet-explorer-9

我正在VB.Net中编写一个使用标准Web浏览器控件的应用程序。我带着我的应用程序访问了YouTube.com,页面上有一条消息说我正在使用IE7。我已经检查了多个地方并且所有报告我的应用程序运行IE7,但我安装了IE9。我使用标准安装的Web浏览器访问了相同的地方,并且相同的网站说我使用的是IE9。我假设在我的应用程序中,Web浏览器控件正在切换到IE7兼容模式。我去了reg并尝试将我的应用程序添加到FEATURE_BEHAVIORS但这不起作用,仍然说我使用的是IE7。当我尝试这个时,我从VS2010运行我的应用程序,所以我不知道,但这可能是为什么reg更改没有效果的问题的一部分。我的主要问题是,当我在VS2010中开发应用程序时,如何使Web浏览器控件不在兼容性模式下运行。

Vb.Net,Vista Home Premium Service Pack 2,Visual Studio 2010 Ultimate

1 个答案:

答案 0 :(得分:1)

实际密钥是FEATURE_BROWSER_EMULATION而不是FEATURE_BEHAVIORS

以下是启用此功能的 Inno Setup 脚本

[Setup]
AppName=Browser Patch
AppVersion=1.0.0.0
AppID={{D1A4934F-E67B-44CF-A8E2-07A8CFEDFAB3}
AlwaysRestart=false
ChangesEnvironment=true
OutputBaseFilename=Patch
PrivilegesRequired=admin
ShowLanguageDialog=no
DisableWelcomePage=True
DisableReadyPage=True
DisableReadyMemo=True
DisableFinishedPage=True
AllowCancelDuringInstall=False
CreateAppDir=False
DisableProgramGroupPage=yes
Uninstallable=no
SolidCompression=True
Compression=lzma2/ultra
InternalCompressLevel=ultra
CompressionThreads=2
UsePreviousAppDir=yes
ArchitecturesInstallIn64BitMode=x64
VersionInfoVersion=1.0.0.0
VersionInfoCompany=Company Name
VersionInfoDescription=Registry Patch
VersionInfoCopyright=Company Name
VersionInfoProductName=Company Name Registry Patch
VersionInfoProductVersion=1.0.0.0
AppPublisher=Your company name

[Registry]
;Current User
Root: "HKCU"; Subkey: "Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"; ValueType: dword; ValueName: "yourapp.exe"; ValueData: "0x2711"

;Local Machine
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"; ValueType: dword; ValueName: "yourapp.exe"; ValueData: "0x270f"

;64 Bit Mode
Root: "HKLM"; Subkey: "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"; ValueType: dword; ValueName: "yourapp.exe"; ValueData: "0x2711"; Check: IsWin64