Forçar o WebBrowser Control a usar IEX(7,8 ou 9)

Desenvolvi um aplicativo que possui um navegador integrado com webbrowser control que insistia em renderizar as páginas como IE7. O IE instalado na máquina, estava renderizando normalmente como IE8 sem estar usando o modo de compatibilidade. Pesquisando com um amigo aqui do trampo, descobrimos que o webcontrol rendereza por padrão como IE7 e precisamos modificar o registro do windows para força-lo a usar o IE8 ou IE9 se for o caso.

Para, tal .. abra o regedit e localize a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION e adicione um valor DWORD com o nome do seu aplicativo, browser.exe por exemplo e coloque o valor 7000 em decimal para rodar como IE7, 8000 para rodar como IE8 e 9000 para rodar como IE9.

Existem outros modos de compatibilidade, veja aqui o material oficial da Microsoft.

Abrasss

PHP 5.2.13 + Apache 2.2.15 (Windows)

Eu e algumas muitas pessoas, estão encontrando muita dificuldade para instalar o PHP 5.2.13 com Apache 2.2.15. Páginas em branco, erro no php5ts.dll ao tentar iniciar o apache são alguns dos sintomas.

Consegui com muito custo resolver o problema. Vamos a solução!

Ingredientes

  • PHP 5.2.13
  • Apache 2.2.15
  • msvcr71.dll (em alguns casos)

Instale normalmente o Apache e o PHP. Depois vá até o prompt de comando e execute (se o PHP não estiver no path do sistema, acesse o diretório de instalação do PHP):

C:\php -v

Provavelmente você receberá algumas mensagens de erro sobre extensões. Desabilite as extensões que estão dando erro e que você não utiliza. No meu caso desabilitei as extensões do oracle, snmp, sqlite e sybase.

Em alguns casos o PHP reclama da biblioteca msvcr71.dll, se for o seu caso, baixe aqui e salve-a na pasta windows/system32.

Salve suas alterações no php.ini e rode novamente o comando php -v. Desabilite as extensões até que nenhuma mensagem de erro seja exibida.

Crie um script php com o conteúdo <?php phpinfo();?> e coloque no document root. Inicie o apache e acesse essa página. Ficou em branco? Algum extensão que está habilitada não apareceu? Abra o seu httpd.conf e adicione a diretiva PHPIniDir apontando para o caminho do seu php.ini. Algo como PHPIniDir “C:/PHP/php.ini”.

Reinicie o apache e tente executar o script novamente.

Até o próximo post.

Windows Firewall e conexões remotas no SQL Server 2008

Salve, salve!! Depois de um intervalo sem postar nada, deixo aqui uma dica rápida para liberar conexões remotas no SQL Server 2008. Crie um arquivo bat com o conteúdo:

@echo =========  SQL Server Ports  ===================
@echo Enabling SQLServer default instance port 1433
netsh firewall set portopening TCP 1433 "SQLServer"
@echo Enabling Dedicated Admin Connection port 1434
netsh firewall set portopening TCP 1434 "SQL Admin Connection"
@echo Enabling conventional SQL Server Service Broker port 4022
netsh firewall set portopening TCP 4022 "SQL Service Broker"
@echo Enabling Transact-SQL Debugger/RPC port 135
netsh firewall set portopening TCP 135 "SQL Debugger/RPC"
@echo =========  Analysis Services Ports  ==============
@echo Enabling SSAS Default Instance port 2383
netsh firewall set portopening TCP 2383 "Analysis Services"
@echo Enabling SQL Server Browser Service port 2382
netsh firewall set portopening TCP 2382 "SQL Browser"
@echo =========  Misc Applications  ==============
@echo Enabling HTTP port 80
netsh firewall set portopening TCP 80 "HTTP"
@echo Enabling SSL port 443
netsh firewall set portopening TCP 443 "SSL"
@echo Enabling port for SQL Server Browser Service's 'Browse' Button
netsh firewall set portopening UDP 1434 "SQL Browser"
@echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK)
netsh firewall set multicastbroadcastresponse ENABLE

Execute o bat e seja feliz! Abraços

Editado
Tinha esquecido de colocar o link de onde vem o script original: http://support.microsoft.com/kb/968872

MySQL – Comparação de nomes de tabelas

Essa semana estava publicando um banco de dados em ambiente de produção ( ambiente meio que completamente diferente do ambiente de desenvolvimento :S … mas tudo bem ) e o restore insistia em retornar uma mensagem de erro ao tentar inserir os registros pois não encontrava a tabela que tinha acabado de criar. Isso estava acontecendo pq em produção o nome da tabela estava em lower case e no script em upper case. Nunca prestei atenção nessa característica do mysql, pra mim era case insensitive … mas pelo visto não é 🙂 – contra fatos, não há argumentos já dizia Bento XVI.

Procurando no pai dos burros, descobri que a solução é bem simples, basta definir a variável lower_case_table_names no my.cnf/my.ini … na seção mysqld.

Os valores possíveis são:

  • 0 (Zero) – Os nomes são armazenados na forma original, como informado no comando CREATE e a comparação é case sensitive.
  • 1 (Um) – Os nomes são armazenados em lower case e a comparação é case insensitive.
  • 2 (Dois) – Os nomes são armazenados na forma original, como informado no comando CREATE e a comparação é case insensitive – Essa forma funciona apenas em sistemas case insensitive.

Em meu caso eu tinha um servidor de desenvolvimento Linux e produção Windows Server (tudo a ver heheheh) e usei em ambos a opção 1. Ficando assim:

[mysqld]

lower_case_table_names = 1

Maiores detalhes: http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

Abraços

Microsoft libera SP2 do Windows Vista

SÃO PAULO – Usuários do Windows Vista em inglês e outros quatro idiomas já podem baixar e instalar a versão final do Service Pack 2 do sistema operacional da Microsoft.

 O segundo grande update do Vista contempla 800 atualizações, entre patchs de segurança e melhorias no desempenho do sistema, como gerenciamento mais veloz de dados e maior compatibilidade com hardware e software.

Leia mais

Ataque de pelanca do Windows Vista

No último final de semana pude finalmente tirar um tempo pra instalar o bom e velho slackware no notebook. Lembro que saiu uma matéria no WNews a um tempo atrás falando sobre o novo gerenciador de partições do Vista. Levando em conta os problemas de compatibilidade dos programas com o novo windows ( incluindo o partition magic ), um bom particionador já embutido no sistema ia quebrar um galhão.

No vídeo o cara cria, apaga, redimensiona, joga pra cima, faz um catatau de coisas com as partições. Fiquei até empolgado. Como neste final de semana resolvi instalar o slack 12 e precisava redimensionar a partição onde o vista está instalado e assim criar as outras, não tive dúvidas, fui pro gerenciador ( compmgmt.msc ) cliquei na opção Diminuir ( Shrink ) e me deparo com um botão desabilitado :S.

Isso acontece, entre n motivos, porque o desfragmentador de arquivos do vista não move os arquivos da MFT ( Master File Table ) para o início da partição. Daí você não pode diminuir a dita cuja. Vamos então a solução:

INGREDIENTES

  • PerfectDisk 2008
  • Algum conhecimento
  • Paciência

Primeiramente, faça limpeza de disco usando o próprio assistente do windows ou o CCleaner
(http://www.ccleaner.com/download)
Desabilite restauração, arquivos de paginação e o despejo de memória fisica. Todas as opções se encontram nas propriedades do sistema (tecla win + break) nas abas Proteção do Sistema; Desempenho; Inicialização & Recuperação.

Depois que todos os itens estiverem desabilitados reinicie o computador. Baixa/instale/execute o PerfectDisk2008 ( http://www.raxco.com/products/downloadit/pd_download_home.cfm ).

É necessário fazer uma desfragmentação normal, que você pode fazer usando o próprio vista, o perfectdisk ou o auslogics disc e a outra é de arquivos de sistema … esse vai mover os famigerados MFTs. Esta última use o PerfectDisk. Escolha a opção System Files. Esse processo pode demorar um pouco eu não sei o tempo porque larguei o troço lá e fui dormir 😀

Depois de finalizar as desfragmentações, a opção estará milagrosamente habilitada … diminua sua partição, habilite novamente as opções de sistema que desabilitou lá em cima, reinicie o PC e seja feliz :D.