Como rexistrar unha DLL en Windows

Os usuarios preguntan sobre como rexistrar o ficheiro dll en Windows 7 e 8. Normalmente, despois de atopar erros como "O programa non se pode iniciar, porque a dll necesaria non está no ordenador". Sobre isto e falar.

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

Non obstante, hai algúns matices: por exemplo, incluso o rexistro exitoso da DLL non che salvará necesariamente dun erro na biblioteca que falta no ordenador e non se atopou o aspecto dun 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 significa que esteas facendo algo mal (explicarei isto ao final do artigo).

Tres xeitos de rexistrar unha DLL no SO

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

Nota: a continuación descríbese como rexistrar a biblioteca DLL usando regsvr32.exe, porén, chamo a atención sobre o feito de que se ten un sistema de 64 bits, entón ten dous regsvr32.exe - un no cartafol C: Windows t o segundo é C: Sistema Windows32. E estes son ficheiros diferentes, con 64 bits localizados no cartafol System32. Recomendo usar o camiño completo para regsvr32.exe en cada unha das formas, 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 Windows + R ou seleccione a opción Executar no menú Inicio de Windows 7 (se, por suposto, activou a súa visualización).
  • Intro regsvr32.exe path_to_file_dll
  • Fai clic en Aceptar ou Intro.

Despois diso, se todo foi ben, debería ver unha mensaxe de que a biblioteca foi rexistrada correctamente. Pero, cunha alta probabilidade, verás outra mensaxe: o módulo está cargado, pero o punto de entrada DllRegisterServer non se atopou e paga a pena comprobar que o teu DLL é o ficheiro correcto (escribireo máis tarde).

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

  • Execute o símbolo do sistema como administrador. En Windows 8, pode premer as teclas Win + X e logo seleccionar o elemento do menú desexado. En Windows 7, pode atopar a liña de comandos no menú Inicio, prema nel e seleccione "Executar como administrador".
  • Introduza o comando regsvr32.exe path_to_library_dll (podes ver un exemplo 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 na DLL que desexas rexistrar e selecciona o elemento de menú "Abrir con".
  • Faga clic en "Examinar" e localice o ficheiro regsvr32.exe no cartafol Windows / System32 ou Windows / SysWow64, abra a DLL empregándoa.

A esencia de todas as formas descritas para rexistrar unha DLL no sistema é a mesma, só algunhas formas diferentes de executar o mesmo comando - o que é máis cómodo para alguén. E agora por que non podes facer nada.

Por que non pode rexistrar DLL

Polo tanto, non ten ningún ficheiro DLL, porque ves un erro ao iniciar o xogo ou o programa, descargaches este ficheiro de Internet e intentas rexistrarte, pero o punto de entrada DllRegisterServer ou o módulo non son compatibles coa versión actual de Windows e quizais outra cousa, é dicir, o rexistro de DLL é imposible.

Por que isto ocorre (en adiante e como solucionalo):

  • Non todos os ficheiros DLL están deseñados para ser rexistrados. Para que poida rexistrarse deste xeito, debe ter soporte para a propia función DllRegisterServer. Ás veces, un erro tamén é causado polo feito de que a biblioteca xa está rexistrada.
  • Algúns sitios que ofrecen a descarga dunha DLL, de feito, conteñen ficheiros simulados co nome que está a buscar e non poden rexistrarse, porque en realidade esta non é unha biblioteca.

E agora como solucionalo:

  • Se es un programador e rexistra a túa DLL, proba regasm.exe
  • Se es un usuario e non inicia algo con unha mensaxe que indica que a DLL non está no ordenador, busque en Internet o tipo de ficheiro e non onde descargar. Sabendo isto, normalmente pode descargar o instalador oficial que instala as bibliotecas orixinais e rexistralas no sistema - por exemplo, para todos os ficheiros cun nome que comeza con d3d, só tes que poñer DirectX desde o sitio web oficial de Microsoft, para msvc, unha das versións de Visual Studio Redistributable. (E se un xogo non comeza desde un torrente, entón mira os informes do antivirus, podería eliminar a DLL necesaria, moitas veces ocorre con algunhas bibliotecas modificadas).
  • Xeralmente, no canto de rexistrar a DLL, desencadéase a localización do ficheiro na mesma carpeta que o ficheiro exe executable que require esta biblioteca.

Con este fin, espero que algo sexa máis claro do que era.

Mira o vídeo: Suspense: 'Til the Day I Die Statement of Employee Henry Wilson Three Times Murder (Novembro 2024).