Ang mga gumagamit ay nagtanong kung paano magrehistro ng isang file ng dll sa Windows 7 at 8. Karaniwan, pagkatapos na makatagpo sila ng mga error tulad ng "Ang paglulunsad ng isang programa ay imposible dahil ang kinakailangang dll ay hindi magagamit sa computer." Pag-uusapan natin ito.
Sa katunayan, ang pagrehistro ng isang silid-aklatan sa system ay hindi ganoong kahirap na gawain (Magpapakita ako ng maraming bilang ng tatlong pagkakaiba-iba ng isang pamamaraan) - sa katunayan, kailangan lamang ng isang hakbang. Ang kinakailangan lamang ay mayroon kang mga karapatan sa tagapangasiwa ng Windows.
Gayunpaman, may ilang mga nuances - halimbawa, kahit na matagumpay na pagpaparehistro ng DLL ay hindi kinakailangang mailigtas ka mula sa "library ay hindi sa computer" na pagkakamali, at isang error na RegSvr32 ay lilitaw sa mensahe na ang module ay hindi katugma sa bersyon ng Windows sa computer na ito o ang entry point na DLLRegisterServer ay hindi natagpuan, Hindi nangangahulugang gumagawa ka ng mali (ipapaliwanag ko kung ano ang ipapaliwanag nito sa pagtatapos ng artikulo).
Tatlong paraan upang magrehistro ng isang DLL sa OS
Sa paglalarawan ng mga susunod na hakbang, ipinapalagay ko na nahanap mo kung saan mo nais na kopyahin ang iyong library at ang DLL ay nasa folder na ng System32 o SysWOW64 (at marahil sa ibang lugar kung naroroon ito).
Tandaan: sa ibaba ay ilalarawan namin kung paano magrehistro ng isang DLL gamit ang regsvr32.exe, gayunpaman iguguhit ko ang iyong pansin sa katotohanan na kung mayroon kang isang 64-bit na sistema, pagkatapos ay mayroon kang dalawang regsvr32.exe - isa sa folder C: Windows SysWOW64 ang pangalawa ay C: Windows System32. At ito ay iba't ibang mga file, na may 64-bit na matatagpuan sa folder ng System32. Inirerekumenda ko ang paggamit ng buong landas upang regsvr32.exe sa bawat isa sa mga pamamaraan, at hindi lamang ang pangalan ng file, tulad ng ipinakita ko sa mga halimbawa.
Ang unang pamamaraan ay inilarawan sa Internet nang mas madalas kaysa sa iba at binubuo sa mga sumusunod:
- Pindutin ang mga pindutan ng Windows + R o piliin ang "Tumakbo" mula sa menu ng Windows 7 Start (maliban kung, siyempre, nakabukas ang display nito).
- Ipasok regsvr32.exe path_to_file_dll
- Pindutin ang OK o Enter.
Pagkatapos nito, kung ang lahat ay napunta nang maayos, dapat mong makita ang isang mensahe na nagsasaad na ang library ay matagumpay na nakarehistro. Ngunit, na may mataas na posibilidad ay makakakita ka ng isa pang mensahe - Ang module ay na-load, ngunit ang punto ng pagpasok ng DllaptarServer ay hindi natagpuan at nagkakahalaga ng pagsuri na ang iyong DLL ay ang tamang file (tulad ng sinabi ko, isusulat ko ang tungkol dito sa ibang pagkakataon).
Ang pangalawang paraan ay upang patakbuhin ang command line bilang tagapangasiwa at ipasok ang parehong utos mula sa nakaraang talata.
- Patakbuhin ang command line bilang Administrator. Sa Windows 8, maaari mong pindutin ang Win + X, at pagkatapos ay piliin ang nais na item ng menu. Sa Windows 7, mahahanap mo ang command line sa Start menu, mag-click sa kanan at piliin ang "Tumakbo bilang tagapangasiwa".
- Ipasok ang utos regsvr32.exe path_to_library_dll (isang halimbawa na maaari mong makita sa screenshot).
Muli, malamang na hindi mo mai-rehistro ang DLL sa system.
At ang huling pamamaraan, na maaari ring maging kapaki-pakinabang sa ilang mga kaso:
- Mag-right-click sa DLL na nais mong irehistro at piliin ang item ng menu na "Buksan ang."
- I-click ang "Mag-browse" at hanapin ang regsvr32.exe file sa Windows / System32 o Windows / SysWow64 folder, buksan ang DLL.
Ang kakanyahan ng lahat ng inilarawan na mga paraan upang magrehistro ng isang DLL sa system ay pareho, ilan lamang sa iba't ibang mga paraan upang patakbuhin ang parehong utos - kung kanino mas maginhawa. At ngayon tungkol sa kung bakit hindi ka nagtagumpay.
Bakit hindi mairehistro ang DLL
Kaya, wala kang anumang uri ng file na DLL, na kung bakit sinimulan mo ang laro o programa na nakakita ka ng isang error, na-download mo ang file na ito mula sa Internet at subukang magrehistro, ngunit alinman sa entry point na DllRegisterServer o ang module ay hindi tugma sa kasalukuyang bersyon ng Windows, at baka may iba pa, iyon ay, ang pagrehistro ng isang DLL ay hindi posible.
Bakit nangyayari ito (mula rito ay tungkol sa kung paano ayusin ito):
- Hindi lahat ng mga file na DLL ay idinisenyo upang mairehistro. Upang ito ay mairehistro sa ganitong paraan, dapat itong magkaroon ng suporta para sa parehong pag-andar ng DllRegisterServer. Minsan ang pagkakamali ay sanhi din ng katotohanan na ang library ay nakarehistro na.
- Ang ilang mga site na nag-aalok upang mag-download ng mga DLL ay naglalaman ng, sa katunayan, ang mga dummy file na may pangalan na hinahanap mo at hindi maaaring mairehistro, dahil ito ay talagang hindi isang library.
At ngayon tungkol sa kung paano ayusin ito:
- Kung ikaw ay isang programmer at irehistro ang iyong DLL, subukan ang regasm.exe
- Kung ikaw ay isang gumagamit at may hindi nagsisimula sa mensahe na nawawala ang DLL sa iyong computer, tingnan sa Internet kung ano ang file at hindi kung saan i-download ito. Karaniwan, alam ito, maaari mong i-download ang opisyal na installer, na mai-install ang mga orihinal na aklatan at irehistro ang mga ito sa system - halimbawa, para sa lahat ng mga file na may isang pangalan na nagsisimula sa d3d, i-install lamang ang DirectX mula sa opisyal na website ng Microsoft, para sa msvc - isa sa mga bersyon ng Visual Studio Redistributable. (At kung ang ilang mga laro ay hindi nagsisimula mula sa isang agos, pagkatapos ay tingnan ang mga ulat ng antivirus, maaari nitong tanggalin ang mga kinakailangang mga DLL, madalas itong nangyayari sa ilang mga binagong aklatan).
- Karaniwan, sa halip na magrehistro ng isang DLL, ang paglalagay ng file sa parehong folder kasama ang exe executable file na nangangailangan ng library na ito ay na-trigger.
Natapos ko ito, umaasa ako na may isang bagay na naging mas malinaw kaysa noon.