Um aplicativo no IIS6 em um servidor Win 2003 usa BROWSCAP.INI para detectar o navegador e a versão, mas ainda não foi atualizado para detectar o IE 9, portanto, a verificação de código para navegador e vesion não pode encontrar nada e apresenta uma mensagem de erro para o usuário que eles precisam do IE 4 ou superior. Não consegui encontrar as informações no MSDN ou em uma pesquisa na Web.
Consegui encontrar uma entrada no blog do IIS que dizia que o IIS7 detecta muito bem o IE8 e o IE9, mas ainda estamos executando o IIS6.
Alguém tem ou sabe onde posso encontrar o código para o BROWSCAP.INI que permite a detecção do IE9?
Editado para adicionar: aliás, fiz o que parecia ser as adições óbvias ao texto do BROWSCAP.INI (por exemplo, adicionando um nó que diz:
[IE 9.0]
browser=IE
Version=9.0
majorver=#9
minorver=#0
frames=True
tables=True
cookies=True
backgroundsounds=True
vbscript=True
javaapplets=True
javascript=True
ActiveXControls=True
Win16=False
AK=False
SK=False
AOL=False
Update=False
... e isso não faz nenhuma diferença.
Editado ainda para adicionar:
O que está sendo executado no servidor da Web em questão é um script ASP clássico no VBScript que usa o componente MSWC para recuperar das informações do IIS em qual navegador o usuário está usando. Quando o navegador do usuário "atinge" o servidor em busca de um arquivo, ele passa essa informação para o IIS por meio da cadeia "HTTP_USER_AGENT". O IIS analisa as informações relevantes usando seu componente browscap.dll e o arquivo browscap.ini para fazer isso.
Algum código de exemplo:
set objBrowserType = Server.CreateObject("MSWC.BrowserType")
MSWC.BrowserType passa um objeto com um número de propriedades, incluindo a identidade do navegador e sua versão, bem como outras propriedades, como se ele entende o JavaScript e assim por diante. O problema é que ele não está detectando corretamente o IE 9 e isso parece ser mais provável porque o arquivo browscap.ini não contém as informações relevantes necessárias para ajudá-lo a fazê-lo.