Artigo: 318597 - Última revisão: sexta-feira, 22 de Setembro de 2006 - Revisão: 4.5

Recebe uma mensagem de erro "Não possui uma licença para utilizar este controlo" quando utiliza controlos do Visual Basic 6.0 no Visual Studio 2005 ou no Visual Studio .NET

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando utiliza controlos ActiveX do Microsoft Visual Basic 6.0 no Microsoft Visual Studio 2005 ou no Microsoft Visual Studio. NET, poderá detectar os seguintes problemas:
  • Quando tenta adicionar um controlo ActiveX que foi incluído no Visual Basic 6.0 para um formulário no Visual Studio 2005 ou no Visual Studio. NET, receberá a seguinte mensagem de erro:
    Não tem uma licença para utilizar este controlo ActiveX.
    Pode adicionar o controlo à caixa de ferramentas com êxito, mas recebe esta mensagem de erro quando adiciona o controlo no momento da concepção.
  • Quando actualizar um projecto de Visual Basic 6.0 para o Visual Studio 2005 ou para o Visual Studio. NET, receberá a seguinte mensagem de erro quando o ' Assistente de actualização analisa nos formulários:
    Assistente de actualização do Visual Basic erro
    Falha de actualização: excepção ocorreu: não foi possível carregar o componente referenciado: comdlg32.ocx(1.2.0)
    Tem de instalar este componente antes de actualizar o projecto. É recomendado instalar VB6.0, com todos os componentes referidos e certifique-se a aplicação compila e executa antes de actualizar.
    Quando clicar em OK , fecha o Assistente de actualização e pára o processo de conversão.

Causa

Tem de ter uma licença de tempo de estruturação para utilizar o Visual Basic 6.0 os controlos ActiveX. Estes erros ocorrem porque o registo do sistema não contém as informações de licença de estruturação. Quando actualiza um projecto que contém controlos ActiveX do Visual Basic 6.0 ou quando tenta utilizar controlos ActiveX do Visual Basic 6.0 num formulário no Visual Studio 2005 ou no Visual Studio. NET, esses controlos tem de estar instalados e licenciados no sistema de destino.

Visual Studio 2005 e Visual Studio .NET não instalam as informações de licença para controlos ActiveX do Visual Basic 6.0, excepto se os controlos do Visual Basic 6.0 estão instalados no computador com o Visual Studio 2005 ou o Visual Studio. NET. Este comportamento poderá ocorrer se o Visual Basic 6.0 nunca esteve instalado no computador.

Não receberá estes erros num computador em que ambos os Visual Basic 6.0 e Visual Studio 2005 ou Visual Studio .NET são instalados porque o Visual Basic 6.0 instala os componentes e regista as licenças.

Resolução

Para resolver este problema, tem de instalar os ficheiros .ocx para os controlos ActiveX no computador antes de actualizar o projecto ou antes de utilizar controlos ActiveX do Visual Basic 6.0 num formulário no Visual Studio 2005 ou no Visual Studio. NET. Para o fazer, utilize um dos seguintes métodos:
  • Instale o Visual Basic 6.0 no computador com o Visual Studio 2005 ou o Visual Studio. NET.
  • Adicione as chaves de licença ao registo.

Método 1: Instalar Visual Basic 6.0 num computador que está a executar o Visual Studio 2005 ou Visual Studio .NET

Ao contrário de versões anteriores do Visual Basic, existem conflitos entre Visual Basic 6.0 e o Visual Studio 2005 ou o Visual Studio .NET quando instalar estes programas no mesmo sistema. Em muitos casos, a Microsoft recomenda que instale Visual Basic 6.0 num computador que está a executar o Visual Studio 2005 ou do Visual Studio. NET.

Se estiver disponível no computador do Visual Basic 6.0, pode alterar o projecto de Visual Basic 6.0 original mais facilmente antes de actualizar para o Visual Studio 2005 ou Visual Studio. NET. Para mais informações sobre como instalar o Visual Basic 6.0 e como actualizar um projecto do Visual Basic 6.0 para o Visual Studio 2005 ou para o Visual Studio. NET, consulte a secção "Referências".

Método 2: Adicionar as chaves de licença para o registo

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756  (http://support.microsoft.com/kb/322756/ ) Como efectuar uma cópia de segurança e restaurar o registo no Windows


Para adicionar as chaves de licença para os controlos do Visual Basic 6.0 para o registo, siga estes passos:
  1. Introduza o Visual Studio 2005 ou do Visual Studio .NET disquete de instalação que tem a pasta de controlos \Extras\VB6 da na unidade de CD-ROM ou DVD-ROM. A lista seguinte descreve o disco a utilizar para cada edição do produto no CD-ROM:

    Visual Studio 2005 (não o disco [MSDN] Microsoft Developer Network)
    • Professional Edition - disco 2
    • Edição padrão - disco 1
    Nota O ficheiro de registo VB6Controls.reg não está no suporte de distribuição para qualquer produto do Visual Studio 2005.

    O Visual Studio .NET 2003 (não o disco da MSDN)
    • Todas as edições Enterprise - disco 2
    • Professional Edition - disco 2
    • Edição padrão - disco 1
    • Educação Edition - disco 2
    Visual Studio .NET 2002 (e não o disco do MSDN)
    • Todas as edições Enterprise - disco 4
    • Professional Edition - disco 4
    • Edição padrão - disco 3
    • Edição académica - disco 4
  2. Clique em Iniciar e, em seguida, clique em Executar .
  3. Na caixa de diálogo Executar , escreva regedit e, em seguida, clique em OK .
  4. Na caixa de diálogo Editor de registo , clique em Importar no menu ficheiro .
  5. Localize a pasta de controlos \Extras\VB6 no CD-ROM de instalação, seleccione o ficheiro VB6Controls.reg e, em seguida, clique em Abrir . Este passo insere todos os controlos de ActiveX do Visual Basic 6.0 chaves do registo de licenças.

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos do Microsoft listados na secção "Aplica-se a".

Mais Informação

Os ficheiros .ocx estão localizados na subpasta System32 da pasta do Windows. A lista seguinte inclui alguns dos controlos ActiveX e os respectivos nomes de ficheiro correspondentes:
  • Controlo de dados ADO 6.0 (OLEDB) - Msadodc.ocx
  • Controlo de gráfico 6.0 - Mschrt20.ocx
  • Controlo 6.0 (OLEDB) - Mschrt20.ocx do gráfico
  • Controlo de comunicações 6.0 - Mscomm32.ocx
  • Controlo de caixa de diálogo comuns 6.0 - Comdlg32.ocx
  • Controlo de grelha de ligação de dados 5.0(SP3) - Dbgrid32.ocx
  • Dados vinculados a controlos de lista 6.0 - Dblist32.ocx
  • Controlo DataGrid 6.0 (OLEDB) - Msdatgrd.ocx
  • Controlo de dataList 6.0 (OLEDB) - Msdatlst.ocx
  • Controlo de FlexGrid 6.0 - Msflxgrd.ocx*
  • Controlo de transferência Internet 6.0 - msinet.ocx
  • Controlos MAPI 6.0 - Msmapi32.ocx
  • Controlo de edição mascarado 6.0 - Msmask32.ocx
  • Controlo de multimédia 6.0 - Mci32.ocx
  • Controlo de RemoteData 6.0 - Msrdc20.ocx
  • Controlo de PictureClip 6.0 - Picclp32.ocx
  • Controlo de caixa de texto RTF 6.0 - Richtx32.ocx
  • Controlo de SysInfo 6.0 - sysinfo.ocx
  • Sem janelas controlos 6.0 - Mswless.ocx
  • Controlos comuns do Windows - Comctl32.ocx
  • Controlos comuns do Windows 6.0 - mscomctl.ocx
  • 5.0 (SP2) - Comct232.ocx comum controlos-2 Windows
  • 6.0 - Mscomct2.ocx comum controlos-2 Windows
  • 6.0 - Comct332.ocx comum controlos-3 Windows
  • Controlo Winsock 6.0 - Mswinsck.ocx
* No Visual Studio .NET 2002, o ficheiro VB6Controls.reg incluída a licença para FlexGrid controlo 6.0 é incorrecto. No entanto, no Visual Studio .NET 2003, o ficheiro VB6Controls.reg foi corrigido.

Nota Tem de ter um contrato de licença Visual Studio para obter este ficheiro Vb6control.reg corrigido. É gratuito para este serviço de suporte.

Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)

Passos para reproduzir o comportamento

Erro ao tentar adicionar um controlo ActiveX a um formulário no Visual Studio 2005 ou no Visual Studio .NET

  1. Instale o Visual Studio 2005 ou o Visual Studio .NET no computador a. Certifique-se de que o Visual Basic 6.0 nunca tenha sido instalado neste computador.
  2. Instalar apenas Visual Basic 6.0 num computador B.
  3. Copiar um ficheiro de .ocx do Visual Basic a partir da pasta System32 do computador B para a pasta System32 do computador a.
  4. No computador A, inicie o Visual Studio 2005 ou o Visual Studio .NET e crie um novo projecto de aplicação do Windows no Microsoft Visual Basic 2005 ou no Microsoft Visual Basic. NET.
  5. Clique com o botão direito do rato na caixa de ferramentas e, em seguida, clique em Personalizar a caixa de ferramentas .
  6. No separador Componentes COM , clique em Procurar .
  7. Seleccione o ficheiro .ocx que copiou no passo 3 e, em seguida, clique em Abrir . Repare que o controlo é adicionado à lista e que a caixa de verificação está seleccionada. Clique em OK .
  8. Arraste o controlo ActiveX da caixa de ferramentas para o formulário. Receberá a seguinte mensagem de erro:
    Não tem uma licença para utilizar este controlo ActiveX.

Erro do Assistente de actualização

  1. Instale o Visual Studio 2005 ou Visual Studio .NET num computador que nunca tenha sido instalada Visual Basic 6.0.
  2. Inicie o Visual Studio .NET ou o Visual Studio 2005.
  3. No menu ficheiro , clique em Abrir .
  4. Seleccione um projecto de Visual Basic 6.0 que contém um ActiveX controlo no formulário e, em seguida, clique em OK . Este procedimento inicia o Assistente de actualização.
  5. Conclua os passos no Assistente de actualização. Receberá a seguinte mensagem de erro:
    Assistente de actualização do Visual Basic erro

    Falha de actualização: excepção ocorreu: não foi possível carregar o componente referenciado: comdlg32.ocx(1.2.0)
    Tem de instalar este componente antes de actualizar o projecto. É recomendado instalar VB6.0, com todos os componentes referidos e certifique-se a aplicação compila e executa antes de actualizar.
  6. Clique em OK na caixa de diálogo da mensagem de erro. Repare que fecha o Assistente de actualização.

Referências

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
311324  (http://support.microsoft.com/kb/311324/ ) Instalar o Visual Basic .NET ou Visual Basic 2005 no mesmo computador como um projecto de actualização do Visual Basic 6.0

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
Palavras-chave: 
kbmt kbvs2005swept kbvs2005applies kbtshoot kberrmsg kbprb KB318597 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 318597  (http://support.microsoft.com/kb/318597/en-us/ )