Sut i gofrestru DLL yn Windows

Mae defnyddwyr yn gofyn am sut i gofrestru'r ffeil dll yn Windows 7 ac 8. Fel arfer, ar ôl dod ar draws gwallau fel "Ni ellir cychwyn y rhaglen, oherwydd nad yw'r dll angenrheidiol ar y cyfrifiadur." Am hyn a siarad.

Yn wir, nid yw cofrestru llyfrgell mewn system yn dasg mor anodd (byddaf yn dangos cymaint â thri amrywiad o un dull) - mewn gwirionedd, dim ond un cam sydd ei angen. Yr unig ofyniad yw bod gennych hawliau gweinyddwr Windows.

Fodd bynnag, mae rhai arlliwiau - er enghraifft, nid yw cofrestriad llwyddiannus hyd yn oed y DLL o reidrwydd yn eich arbed chi o'r llyfrgell, gwall sydd ar goll, ac ymddangosiad gwall RegSvr32 gyda'r neges nad yw'r modiwl yn gydnaws â'r fersiwn Windows ar y cyfrifiadur hwn neu na ddarganfuwyd pwynt mynediad DLLRegisterServer Nid yw'n golygu eich bod yn gwneud rhywbeth o'i le (byddaf yn esbonio hyn ar ddiwedd yr erthygl).

Tair ffordd i gofrestru DLL yn yr OS

Wrth ddisgrifio'r camau nesaf, rwy'n tybio eich bod wedi dod o hyd i ble mae angen i chi gopïo eich llyfrgell ac mae'r DLL eisoes yn y ffolder System32 neu SysWOW64 (ac efallai rhywle arall, os dylai fod yno).

Noder: bydd isod yn disgrifio sut i gofrestru'r llyfrgell DLL gan ddefnyddio regsvr32.exe, fodd bynnag, tynnaf eich sylw at y ffaith, os oes gennych system 64-bit, yna mae gennych chi ddwy regsvr32.exe - un yn y ffolder C: Windows t yr ail yw C: Windows System32. Ac mae'r rhain yn ffeiliau gwahanol, gyda 64-bit wedi'u lleoli yn y ffolder System32. Argymhellaf ddefnyddio'r llwybr llawn i regsvr32.exe ym mhob un o'r ffyrdd, ac nid enw'r ffeil yn unig, fel y dangosais yn yr enghreifftiau.

Disgrifir y dull cyntaf ar y Rhyngrwyd yn amlach nag eraill ac mae'n cynnwys y canlynol:

  • Pwyswch yr allweddi Windows + R neu dewiswch yr opsiwn Run yn y ddewislen Windows Start Start (os ydych chi, wrth gwrs, wedi galluogi ei arddangos).
  • Rhowch i mewn regsvr32.exe path_to_file_dll
  • Cliciwch OK neu Enter.

Wedi hynny, os aeth popeth yn dda, dylech weld neges bod y llyfrgell wedi'i chofrestru'n llwyddiannus. Ond, gyda thebygolrwydd uchel fe welwch neges arall - mae'r Modiwl yn cael ei lwytho, ond ni chanfuwyd y pwynt mynediad DllRegisterServer ac mae'n werth gwirio mai eich DLL yw'r ffeil gywir (byddaf yn ysgrifennu am hyn yn ddiweddarach).

Yr ail ffordd yw rhedeg y llinell orchymyn fel gweinyddwr a nodi'r un gorchymyn o'r eitem flaenorol.

  • Rhedeg y gorchymyn gorchymyn fel Gweinyddwr. Yn Windows 8, gallwch bwyso ar yr allweddi Win + X ac yna dewis yr eitem dewisol. Yn Windows 7, gallwch ddod o hyd i'r llinell orchymyn yn y ddewislen Start, de-gliciwch arni a dewis "Run as administrator".
  • Rhowch y gorchymyn regsvr32.exe path_to_library_dll (gallwch weld enghraifft yn y sgrînlun).

Unwaith eto, mae'n debygol na fyddwch yn gallu cofrestru'r DLL yn y system.

A'r dull olaf, a all hefyd fod yn ddefnyddiol mewn rhai achosion:

  • De-gliciwch ar y DLL rydych chi eisiau ei gofrestru a dewiswch yr eitem "Open with."
  • Cliciwch "Pori" a dod o hyd i'r ffeil regsvr32.exe yn y ffolder Windows / System32 neu Windows / SysWow64, agorwch y DLL gan ei ddefnyddio.

Mae hanfod yr holl ffyrdd a ddisgrifir i gofrestru DLL yn y system yr un fath, dim ond ychydig o wahanol ffyrdd o redeg yr un gorchymyn - i bwy mae hynny'n fwy cyfleus. Ac yn awr am pam na allwch chi wneud unrhyw beth.

Pam na ellir cofrestru DLL

Felly, nid oes gennych unrhyw ffeil DLL, oherwydd yr hyn rydych chi'n ei weld yn wall wrth gychwyn y gêm neu'r rhaglen, fe wnaethoch lwytho'r ffeil hon i lawr o'r Rhyngrwyd a cheisio cofrestru, ond nid yw'r pwynt mynediad DllRegisterServer neu'r modiwl yn gydnaws â'r fersiwn gyfredol o Windows, a efallai rhywbeth arall, hynny yw, mae cofrestru DLL yn amhosibl.

Pam mae hyn yn digwydd (wedi hyn, a sut i'w drwsio):

  • Nid yw pob ffeil DLL wedi'u cynllunio i gael eu cofrestru. Er mwyn iddo gael ei gofrestru fel hyn, rhaid iddo gael cefnogaeth ar gyfer swyddogaeth DllRegisterServer ei hun. Weithiau mae gwall hefyd yn cael ei achosi gan y ffaith bod y llyfrgell eisoes wedi'i chofrestru.
  • Mae rhai safleoedd sy'n cynnig lawrlwytho DLL, mewn gwirionedd, yn cynnwys ffeiliau ffug gyda'r enw rydych chi'n chwilio amdano ac ni ellir ei gofrestru, oherwydd mewn gwirionedd nid llyfrgell yw hon.

A nawr sut i'w drwsio:

  • Os ydych chi'n rhaglennydd ac yn cofrestru eich DLL, rhowch gynnig ar regasm.exe
  • Os ydych chi'n ddefnyddiwr ac nad ydych yn dechrau rhywbeth gyda neges yn datgan nad yw'r DLL ar y cyfrifiadur, chwiliwch y Rhyngrwyd am ba fath o ffeil ydyw ac nid ble i'w lawrlwytho. Gan wybod hyn, fel arfer gallwch lawrlwytho'r gosodwr swyddogol sy'n gosod y llyfrgelloedd gwreiddiol ac yn eu cofrestru yn y system - er enghraifft, ar gyfer pob ffeil ag enw sy'n dechrau gyda d3d, rhowch DirectX o wefan swyddogol Microsoft, ar gyfer msvc, un o fersiynau Visual Studio Redistributable. (Ac os nad yw gêm yn dechrau o ffrio, yna edrychwch ar adroddiadau'r gwrth-firws, gallai dynnu'r DLL angenrheidiol, mae'n digwydd yn aml gyda rhai llyfrgelloedd wedi'u haddasu).
  • Fel arfer, yn hytrach na chofrestru'r DLL, mae lleoliad y ffeil yn yr un ffolder â ffeil exe gweithredadwy sydd angen y llyfrgell hon yn cael ei sbarduno.

Ar hyn o bryd, rwy'n gobeithio bod rhywbeth wedi dod yn fwy eglur nag ydoedd.