Como rexistrar DLL en Windows

Pin
Send
Share
Send

Os usuarios preguntan como rexistrar un ficheiro dll en Windows 7 e 8. Normalmente, despois de que atopen erros como "Iniciar un programa é imposible porque o dll necesario non está dispoñible no ordenador." Falaremos diso.

De feito, rexistrar unha biblioteca no sistema non é unha tarefa tan difícil (amosarei ata tres variacións dun método) - de feito só falta un paso. O único requisito previo é que teña dereitos de administrador de Windows.

Non obstante, hai algúns matices - por exemplo, incluso o rexistro DLL exitoso non te salva necesariamente do erro "biblioteca non está no ordenador" e aparece un erro RegSvr32 coa mensaxe de que o módulo non é compatible coa versión de Windows neste computador ou o punto de entrada DLLRegisterServer non se atopou, Non significa que estea facendo algo mal (vou explicar o que se explicará ao final do artigo).

Tres formas de rexistrar unha DLL no SO

Describindo os seguintes pasos, supoño que atopaches onde queres copiar a túa biblioteca e a DLL xa está no cartafol System32 ou SysWOW64 (e posiblemente noutro sitio se debería estar alí).

Nota: a continuación describiremos como rexistrar unha DLL usando regsvr32.exe, non obstante chamo a atención sobre o feito de que se tes un sistema de 64 bits, ten dous regsvr32.exe: un no cartafol C: Windows SysWOW64 o segundo é C: Windows System32. E estes son diferentes ficheiros, con 64 bits situados no cartafol System32. Recomendo usar o camiño completo para regsvr32.exe en cada un dos métodos, e non só o nome do ficheiro, como mostrei nos exemplos.

O primeiro método descríbese en Internet con máis frecuencia que outros e consiste no seguinte:

  • Prema as teclas de Windows + R ou selecciona "Executar" no menú Inicio de Windows 7 (a menos que, por suposto, teña a pantalla acesa).
  • Introduza regsvr32.camiño de exe_to_file_dll
  • Pulse OK ou Intro.

Despois, se todo saíu ben, debes ver unha mensaxe que indica que a biblioteca se rexistrou con éxito. Pero, con alta probabilidade verás outra mensaxe: o módulo está cargado, pero non se atopou o punto de entrada de DllRegisterServer e paga a pena comprobar que o seu DLL é o ficheiro correcto (como dixen, escribirei sobre isto máis adiante).

A segunda forma é executar a liña de comandos como administrador e introducir o mesmo comando do parágrafo anterior.

  • Executa a liña de comandos como administrador. En Windows 8, pode premer Win + X e logo seleccionar o elemento de menú desexado. En Windows 7, pode atopar a liña de comandos no menú Inicio, faga clic co botón dereito sobre ela e selecciona "Executar como administrador".
  • Introduza o comando regsvr32.camiño de exe_to_library_dll (un exemplo que podes ver na captura de pantalla).

De novo, é probable que non poida rexistrar a DLL no sistema.

E o último método, que tamén pode ser útil nalgúns casos:

  • Fai clic co botón dereito do rato sobre o DLL que desexa rexistrar e selecciona o elemento do menú "Abrir con".
  • Fai clic en "Buscar" e atopa o ficheiro regsvr32.exe no cartafol Windows / System32 ou Windows / SysWow64, abre o DLL con el.

A esencia de todas as formas descritas de rexistrar unha DLL no sistema é a mesma, só algúns xeitos diferentes de executar o mesmo comando - para quen é máis conveniente. E agora sobre por que non ten éxito.

Por que non se pode rexistrar DLL

Entón, non ten ningún tipo de ficheiro DLL, polo que cando inicia o xogo ou programa ve un erro, descargou este ficheiro de Internet e intenta rexistrar, pero o punto de entrada DllRegisterServer ou o módulo non é compatible coa versión actual de Windows e quizais outra cousa, é dicir, non é posible rexistrar unha DLL.

Por que sucede isto (en diante tratará sobre como solucionalo):

  • Non todos os ficheiros DLL están deseñados para ser rexistrados. Para que se rexistre deste xeito, debe ter soporte para a mesma función DllRegisterServer. Ás veces o erro tamén é causado polo feito de que a biblioteca xa está rexistrada.
  • Algúns sitios que ofrecen descargar DLLs conteñen, de feito, ficheiros maniquíes co nome que estás buscando e non se poden rexistrar, xa que realmente non é unha biblioteca.

E agora sobre como solucionalo:

  • Se es un programador e rexistra a súa DLL, proba regasm.exe
  • Se es usuario e algo non comeza coa mensaxe de que a DLL falta no seu ordenador, busca en Internet o que é o ficheiro e non onde descargalo. Normalmente, sabendo isto, pode descargar o instalador oficial, que instalará as bibliotecas orixinais e rexistralas no sistema - por exemplo, para todos os ficheiros cun nome que comece con d3d, simplemente instalar DirectX dende o sitio web oficial de Microsoft, para msvc - unha das versións de Visual Studio Redistributable. (E se algún xogo non comeza do torrent, mire os informes antivirus, podería eliminar as DLL necesarias, isto sucede a miúdo con algunhas bibliotecas modificadas).
  • Normalmente, en vez de rexistrar un DLL, desencadéase a colocación do ficheiro no mesmo cartafol co ficheiro executable exe que require esta biblioteca.

Conclúo isto, espero que algo quedara máis claro do que era.

Pin
Send
Share
Send