REGISTRAR OCX
Olá a todos;
No meu sistema tenho duas ocx a actskin4.ocx e a MSCOMCTL.OCX .
Como a actskin4 é executada ao iniciar o meu form , gostaria de saber se tem como registrar ela antes de carregar o form.
Ja a mscomctl.ocx ao executar o registro no windows 7 ela abre a tela do windows installer e instala componentes do microsoft office e demora um pouco para iniciar. Será que existe uma maneira via codigo de executar como administrador do sistema quando for windows 7.
No meu sistema tenho duas ocx a actskin4.ocx e a MSCOMCTL.OCX .
Como a actskin4 é executada ao iniciar o meu form , gostaria de saber se tem como registrar ela antes de carregar o form.
Ja a mscomctl.ocx ao executar o registro no windows 7 ela abre a tela do windows installer e instala componentes do microsoft office e demora um pouco para iniciar. Será que existe uma maneira via codigo de executar como administrador do sistema quando for windows 7.
Há desculpem estou usando o seguinte comando para regsitrar:
Call Shell([Ô]regsvr32 /s mscomctl.ocx[Ô], vbHide)
Call Shell([Ô]regsvr32 /s actskin4.ocx[Ô], vbHide)
Call Shell([Ô]regsvr32 /s mscomctl.ocx[Ô], vbHide)
Call Shell([Ô]regsvr32 /s actskin4.ocx[Ô], vbHide)
Para win 7 e xp
Shell ([Ô]regsvr32.exe MSFLXGRD.OCX /s[Ô])
Shell ([Ô]regsvr32.exe MSDBRPTR.dll /s[Ô])
Shell ([Ô]regsvr32.exe MSFLXGRD.OCX /s[Ô])
Shell ([Ô]regsvr32.exe MSDBRPTR.dll /s[Ô])
Fiz um teste
Shell ([Ô]regsvr32.exe mscomctl.ocx /s[Ô])
aparece do mesmo jeito a tela do windows installer
Shell ([Ô]regsvr32.exe mscomctl.ocx /s[Ô])
aparece do mesmo jeito a tela do windows installer
isto se problemas de registra no win 7,faça isso.
Para mudar UAC
===============
menu iniciar=digite msconfig
Aba barra de ferramenta
Selecione Alterar configurães de UAC
Clique em iniciar
deslize o controle até a ultima posição
Para registrar
menu iniciar
digite cmd
click com botão direito em executar como administrado
escreva
rgsvr32.exe C:\Windows\System32\comdlg32.ocx
rgsvr32.exe\C:\Windows\System32\SMTPsvg.dll
regsvr32 Ibole.dll deu certo também
Para mudar UAC
===============
menu iniciar=digite msconfig
Aba barra de ferramenta
Selecione Alterar configurães de UAC
Clique em iniciar
deslize o controle até a ultima posição
Para registrar
menu iniciar
digite cmd
click com botão direito em executar como administrado
escreva
rgsvr32.exe C:\Windows\System32\comdlg32.ocx
rgsvr32.exe\C:\Windows\System32\SMTPsvg.dll
regsvr32 Ibole.dll deu certo também
o ideal é registrar as dll's e ocx, no seu instalador, claro isso quer dizer que vc deverá criar um instalador, e não simplesmente trasportar o programa de um pc para outro
Tentei colocar as ocx no próprio diretorio do exe , nao deu certo, tentei copiar a ocx para o system32 , tambem nao deu certo , eu sei que desativando o uac vai funcionar , mais eu queria tentar usar da praticidade , clicar no exe e fazer tudo sozinho, sem exigir muito do usuário.
Citação:
Citar na resposta
Fiz um teste
Shell ([Ô]regsvr32.exe mscomctl.ocx /s[Ô])
aparece do mesmo jeito a tela do windows installer
Então o problema é no seu windows, pois esse sistema tem 8 anos e funciona de boa até hoje, inclusive no windows 8
Independente de UAC
Pega o conselho do Treze.
Olha estou tentando fazer assim , não sei se estou certo :
A idéia é que ao executar ele copie as ocx e já registre caso não tenha sido registrada.
Private Sub inicializa()
If Dir(App.Path & [Ô]\minha pasta[Ô], vbDirectory) = [Ô][Ô] Then
MkDir App.Path & [Ô]\minha pasta[Ô]
Call LoadRes(101, App.Path & [Ô]\minha pasta[Ô] & [Ô]\actskin4.ocx[Ô])
Call LoadRes(102, App.Path & [Ô]\minha pasta[Ô] & [Ô]\MSCOMCTL.OCX[Ô])
Shell ([Ô]regsvr32.exe actskin4.ocx /s[Ô])
Shell ([Ô]regsvr32.exe mscomctl.ocx /s[Ô])
End If
End Sub
A idéia é que ao executar ele copie as ocx e já registre caso não tenha sido registrada.
Private Sub inicializa()
If Dir(App.Path & [Ô]\minha pasta[Ô], vbDirectory) = [Ô][Ô] Then
MkDir App.Path & [Ô]\minha pasta[Ô]
Call LoadRes(101, App.Path & [Ô]\minha pasta[Ô] & [Ô]\actskin4.ocx[Ô])
Call LoadRes(102, App.Path & [Ô]\minha pasta[Ô] & [Ô]\MSCOMCTL.OCX[Ô])
Shell ([Ô]regsvr32.exe actskin4.ocx /s[Ô])
Shell ([Ô]regsvr32.exe mscomctl.ocx /s[Ô])
End If
End Sub
Você não vai conseguir fazer tudo sozinho pois seu programa pode não ter permissão para fazer isso. Registrar DLLs e OCX requerem permissões de administrador, o ideal mesmo é você fazer um instalador, pois principalmente em empresas acontece muito dos usuários não terem permissão de administrador.
Tópico encerrado , respostas não são mais permitidas