PROGRAMA FEITO EM VB6 NAO RODA NO WINDOWS 7
Oi pessoal, hoje me deparei um problema que penso não ser muito complica, pois se trata de produtos da mesma empresa. é o seguinte: Fiz uma aplicação pequena em VB6 com DB Access 2003 e já havia testado em Windows XP e VISTA e rodou sem problemas, mas hoje tentei no Windows 7/32B e deu um erro em um componente (COMCTL32.OCX) falando que o componente ou uma de suas dependencias não estava registrado...? Mas pelo consta o componente tá no pacote de instalação. Alguam já passou por isso ou mesmo que não, mas tem idéia de o que pode esta acontecendo?
Meu caro
Tenta registrar na unha
regsvr32 path da Ocx + nome da ocx
isso no executar
primeiro você tem de desabilitar o UAC do windows 7
vá em executar digite msconfig, clique na aba ferramentas e se não me engano a segunda opção desativa o UAC.
reinicie o pc.
reiniciado va em executar novamente e digite cmd
irá a abrir o prompt de comando, lá vá até a pasta em que está a ocx em questão desta maneira
supondo que a ocx esteja na seguinte pasta c:\minhas ocx, digite o cseguinte no prompt de comando
depois
e pronto o problema está resolvido
vá em executar digite msconfig, clique na aba ferramentas e se não me engano a segunda opção desativa o UAC.
reinicie o pc.
reiniciado va em executar novamente e digite cmd
irá a abrir o prompt de comando, lá vá até a pasta em que está a ocx em questão desta maneira
supondo que a ocx esteja na seguinte pasta c:\minhas ocx, digite o cseguinte no prompt de comando
c:\cd minhas ocx [e clique enter]
depois
c:\minhas ocx>regsvr32.exe suaocx.ocx
e pronto o problema está resolvido
Bom dia
dentro do VB6 voce pode dar um shell execute
isso irá dizer ao UAC que voce precisa rodar como administrador pois o REGSVR32 só funciona neste nÃvel.
dentro do VB6 voce pode dar um shell execute
Declare Function ShellExecute Lib [Ô]shell32.dll[Ô] Alias [Ô]ShellExecuteA[Ô] (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
ShellExecute hwnd, [Ô]runas[Ô], [Ô]REGSVR32.EXE[Ô], [Ô]C:\PATHOCX\OXCNOME.OCX[Ô], [Ô]C:\PATHOCX\[Ô], vbNormalFocus
isso irá dizer ao UAC que voce precisa rodar como administrador pois o REGSVR32 só funciona neste nÃvel.
Senhores muito obrigado pela atenção de todos. Não posso fazer o teste agora, mas logo que retornar para casa estarei testando, espero que funcione.
Opa! E ai gente boa!? Quero confirmar que resolvi esse problema. O que fiz foi apenas entrar no MSCONFIG e na aba FERRAMENTAS eu desativei UAC e depois reiniciei o sistema e em seguida instalei meu programa novamente e ai sim, todas as dlls e ocxs foram devidamente registradas e o sistema funcionou de boa. Obrigado a todos que tentaram ajudar.
Tópico encerrado , respostas não são mais permitidas