Kiel registri DLL en Vindozo

Uzantoj demandas pri kiel registri la dll-dosieron en Vindozo 7 kaj 8. Kutime post kiam ili renkontis erarojn kiel "La programo ne povas esti komencita, ĉar la necesa dll ne estas en la komputilo." Pri ĉi tio kaj parolado.

Fakte registri bibliotekon en sistemo ne estas tiel malfacila tasko (mi montros nekredeblajn tri variaĵojn de unu metodo) - fakte, nur unu paŝo necesas. La sola bezono estas, ke vi havas rajtojn de administranto de Windows.

Tamen estas iuj nuancoj - ekzemple, eĉ sukcesa registrado de la DLL ne nepre ŝparas vin de la mankanta eraro de la biblioteko, kaj la apero de RegSvr32-eraro kun la mesaĝo ke la modulo ne estas kongrua kun la vindoza versio de ĉi tiu komputilo aŭ la punkto de eniro DLLRegisterServer ne estis trovita. I ne signifas, ke vi faras ion malbonan (mi klarigos ĉi tion fine de la artikolo).

Tri manieroj registri DLL en OS

Priskribante la sekvantajn paŝojn, mi supozas, ke vi trovis kie vi bezonas kopii vian bibliotekon kaj la DLL jam estas en la dosierujo System32 aŭ SysWOW64 (kaj eble aliloke, se ĝi devus esti tie).

Noto: sube priskribos kiel registri la DLL-bibliotekon per regsvr32.exe, tamen mi atentigas vin pri tio, ke se vi havas sistemon de 64-bita, tiam vi havas du regsvr32.exe - unu en la dosierujo C: Vindozo t la dua estas C: Windows System32. Kaj jen malsamaj dosieroj, kun 64-bita en la dosierujo System32. Mi rekomendas uzi la plenan vojon al regsvr32.exe en ĉiu el la manieroj, kaj ne nur la dosiernomo, kiel mi montris en la ekzemploj.

La unua metodo estas priskribita en la interreto pli ofte ol aliaj kaj konsistas el la jenaj:

  • Premu la klavojn Vindozo + R aŭ elektu la funkcion "Rulpi" en la menuo "Komenco de Vindozo 7" (se, kompreneble, vi ebligis ĝian ekranon).
  • Eniru regsvr32.exe path_to_file_dll
  • Alklaku al Akcepti aŭ Eniru.

Post tio, se ĉio bone funkciis, vi devus vidi mesaĝon, ke la biblioteko sukcese registris. Sed, kun alta probablo vi vidos alian mesaĝon - la Modulo estas ŝarĝita, sed la enira punkto DllRegisterServer ne estis trovita kaj indas kontroli, ke via DLL estas la ĝusta dosiero (mi skribos pri ĉi tio poste).

La dua vojo estas ruli la komandlinion kiel administranton kaj enigi la saman ordonon el la antaŭa ero.

  • Rulu la komandan geston kiel Administranto. En Vindozo 8, vi povas premi la klavojn Win + X kaj tiam elekti la deziratan menueron. En Vindozo 7, vi povas trovi la komandlinion en la Komenca menuo, dekstre alklaku ĝin kaj elektu "Kuri kiel administranto".
  • Enigu la komandon regsvr32.exe path_to_library_dll (Vi povas vidi ekzemplon en la ekrankopio).

Denove, verŝajne vi ne povos registri la DLL en la sistemo.

Kaj la lasta metodo, kiu ankaŭ povas esti utila en iuj kazoj:

  • Dekstre alklaku la DLL kiun vi volas registri kaj elektu la menueron "Malfermi per."
  • Alklaku "Trovu" kaj trovu la dosieron regsvr32.exe en la dosierujo Windows / System32 aŭ Windows / SysWow64, malfermu la DLL uzante ĝin.

La esenco de ĉiuj priskribitaj manieroj registri DLL en la sistemo estas la sama, nur kelkaj malsamaj manieroj funkciigi la saman ordonon - kio estas pli konvena por iu. Kaj nun pri kial vi ne povas fari ion ajn.

Kial ne registri DLL?

Do vi ne havas ajnan DLL-dosieron, pro tio, kion vi vidas eraron kiam vi komencas la ludon aŭ programon, vi elŝutis ĉi tiun dosieron el interreto kaj provas registri, sed aŭ la enirpunkto DllRegisterServer aŭ la modulo ne estas kongrua kun la aktuala versio de Vindozo, kaj eble io alia, tio estas, ne ebla registri DLL.

Kial ĉi tio okazas (de nun kaj kiel solvi ĝin):

  • Ne ĉiuj DLL-dosieroj estas desegnitaj por esti registritaj. Por ke ĝi estu registrita tiel, ĝi devas havi subtenon por la funkcio DllRegisterServer mem. Foje eraro ankaŭ kaŭzas la fakto, ke la biblioteko jam estas registrita.
  • Kelkaj retejoj, kiuj proponas elŝuti DLL, fakte enhavas falsajn dosierojn kun la nomo, kiun vi serĉas, kaj ne povas esti registritaj, ĉar fakte ĉi tio ne estas biblioteko.

Kaj nun kiel ripari ĝin:

  • Se vi estas programisto kaj registras vian DLL, provu regasm.exe
  • Se vi estas uzanto kaj vi ne komencas ion per mesaĝo deklarante, ke la DLL ne estas en la komputilo, serĉu interrete kian dosieron ĝi estas kaj ne kie elŝuti ĝin. Sciante ĉi tion, vi kutime povas elŝuti la oficialan instalilon kiu instalas la originalajn bibliotekojn kaj registri ilin en la sistemo - ekzemple, por ĉiuj dosieroj kun nomo ekde d3d, nur metu DirectX el la oficiala retejo de Mikrosofto, por msvc, unu el la versioj de Visual Studio Redistributable. (Kaj se ludo ne komencas de torento, tiam rigardu la raportojn de la antivirus, ĝi povus forigi la necesan DLL, ĝi ofte okazas kun iuj modifitaj bibliotekoj).
  • Kutime, anstataŭ registri la DLL, la loko de la dosiero en la sama dosierujo kiel la plenumebla ekz-dosiero kiu postulas tiun bibliotekon ekigas.

Je ĉi tiu fino, mi esperas, ke io fariĝis pli klara ol ĝi estis.