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.