Օգտագործողները հարցնում են, թե ինչպես պետք է գրանցել dll ֆայլ Windows 7-ում և 8.-ում: Սովորաբար, այն բանից հետո, երբ նրանք հանդիպում են սխալների հետ, ինչպիսիք են «Ծրագիր գործարկելն անհնար է, քանի որ անհրաժեշտ dll- ը հասանելի չէ համակարգչում»: Մենք կխոսենք այս մասին:
Փաստորեն, համակարգում գրադարան գրանցելը այդքան էլ դժվար գործ չէ (ես ցույց կտամ մեկ մեթոդի երեք տարբերակ), - ըստ էության, անհրաժեշտ է ընդամենը մեկ քայլ: Միակ նախադրյալն այն է, որ դուք ունեք Windows ադմինիստրատորի իրավունքներ:
Այնուամենայնիվ, կան որոշ նրբերանգներ. Օրինակ, նույնիսկ հաջող DLL գրանցումը պարտադիր չէ ձեզ փրկել «գրադարանը համակարգչում չէ» սխալից, և RegSvr32 սխալ է հայտնվում այն հաղորդագրության հետ, որ մոդուլը համատեղելի չէ այս համակարգչում գտնվող Windows- ի տարբերակի հետ կամ մուտքի կետը DLLRegisterServer չի գտնվել, դա չի նշանակում, որ դուք ինչ-որ բան սխալ եք անում (ես կբացատրեմ, թե սա ինչ է հոդվածի վերջում):
ՕՀ-ում DLL գրանցելու երեք եղանակ
Նկարագրելով հաջորդ քայլերը, ես ենթադրում եմ, որ դուք գտել եք այնտեղ, որտեղ ցանկանում եք պատճենել ձեր գրադարանը, և DLL- ն արդեն գտնվում է System32 կամ SysWOW64 պանակում (և հնարավոր է, որ ինչ-որ այլ տեղ, եթե այն այնտեղ լինի):
Նշում. Ներքևում մենք նկարագրելու ենք, թե ինչպես կարելի է գրանցել DLL ՝ օգտագործելով regsvr32.exe, սակայն ձեր ուշադրությունը հրավիրում եմ այն փաստի վրա, որ եթե ունեք 64-բիթանոց համակարգ, ապա ունեք երկու regsvr32.exe ՝ մեկը ՝ թղթապանակում C: Windows SysWOW64 երկրորդը `C: Windows System32: Եվ դրանք տարբեր ֆայլեր են, 64-բիթանոցը գտնվում է System32 թղթապանակում: Ես խորհուրդ եմ տալիս օգտագործել regsvr32.exe- ի ամբողջական ճանապարհը յուրաքանչյուր մեթոդից և ոչ միայն ֆայլի անվանումը, ինչպես ցույց եմ տվել օրինակներում:
Առաջին մեթոդը նկարագրվում է ինտերնետում ավելի հաճախ, քան մյուսները և բաղկացած է հետևյալից.
- Սեղմեք Windows + R ստեղները կամ ընտրեք «Գործարկել» Windows 7 Start- ի ընտրացանկից (եթե, իհարկե, եթե դրա էկրանը միացված չէ):
- Մտնեք regsvr32:exe path_to_file_դլլ
- Սեղմեք OK կամ Enter:
Դրանից հետո, եթե ամեն ինչ լավ անցավ, դուք պետք է տեսնեք հաղորդագրություն, որում ասվում է, որ գրադարանը հաջողությամբ գրանցված է: Բայց, մեծ հավանականությամբ դուք կտեսնեք մեկ այլ հաղորդագրություն - Մոդուլը բեռնված է, բայց DllRegisterServer մուտքի կետը չի գտնվել, և արժե ստուգել, որ ձեր DLL- ը ճիշտ ֆայլ է (ինչպես ասացի, ես այս մասին կգրեմ ավելի ուշ):
Երկրորդ ճանապարհը հրամանի տողը գործավարելն է և նախորդ պարբերությունից նույն հրամանը մուտքագրելը:
- Գործարկեք հրամանի տողը որպես ադմինիստրատոր: Windows 8-ում կարող եք սեղմել Win + X- ը, այնուհետև ընտրել ցանկալի ցանկը: Windows 7-ում դուք կարող եք գտնել հրամանի տողը Start Start- ի ընտրացանկում, սեղմեք աջը դրա վրա և ընտրեք «Գործարկել որպես ադմինիստրատոր»:
- Մուտքագրեք հրամանը regsvr32:exe path_to_library_դլլ (օրինակ, որը դուք կարող եք տեսնել էկրանի նկարում):
Կրկին, հավանական է, որ դուք չեք կարողանա գրանցել DLL համակարգը:
Եվ վերջին մեթոդը, որը կարող է նաև օգտակար լինել որոշ դեպքերում.
- Աջ սեղմեք այն DLL- ի վրա, որը ցանկանում եք գրանցել և ընտրեք «Բացեք» ընտրացանկի կետը:
- Կտտացրեք «Նայեք» և գտնեք regsvr32.exe ֆայլը Windows / System32 կամ Windows / SysWow64 թղթապանակում, դրա հետ բացեք DLL- ն:
Համակարգում DLL գրանցելու բոլոր նկարագրված եղանակների էությունը նույնն է, նույն հրամանը գործելու մի քանի տարբեր եղանակներ `ում համար դա ավելի հարմար է: Եվ հիմա այն մասին, թե ինչու չեք հաջողության հասնում:
Ինչու չի կարելի գրանցել DLL- ն
Այսպիսով, դուք չունեք որևէ տեսակի DLL ֆայլ, այդ իսկ պատճառով խաղը կամ ծրագիրը սկսելու ժամանակ սխալ եք տեսնում, դուք ներբեռնում եք այս ֆայլը Ինտերնետից և փորձում գրանցվել, բայց կամ մուտքի կետը DllRegisterServer- ը կամ մոդուլը համատեղելի չեն Windows- ի ներկայիս վարկածի հետ, և գուցե այլ բան, այսինքն ՝ DLL գրանցելը հնարավոր չէ:
Ինչու է դա տեղի ունենում (այսուհետ `այն, թե ինչպես շտկել այն).
- Ոչ բոլոր DLL ֆայլերը նախագծված են գրանցվելու համար: Որպեսզի այն գրանցվի այս եղանակով, այն պետք է ունենա աջակցություն նույն DllRegisterServer գործառույթի համար: Երբեմն սխալի պատճառ է հանդիսանում նաև գրադարանն արդեն գրանցված լինելու փաստը:
- Որոշ կայքեր, որոնք առաջարկում են ներբեռնել DLL- ներ, իրականում պարունակում են խնամքի ֆայլեր, որոնք փնտրում եք և չեք կարող գրանցվել, քանի որ իրականում դա գրադարան չէ:
Եվ հիմա այն մասին, թե ինչպես շտկել այն.
- Եթե ծրագրավորող եք և գրանցում եք ձեր DLL- ը, փորձեք regasm.exe
- Եթե դուք օգտվող եք, և ինչ-որ բան չի սկսվում այն հաղորդագրությունից, որ DLL- ը բացակայում է ձեր համակարգչում, ինտերնետում փնտրեք, թե որն է ֆայլը, և ոչ թե որտեղից այն ներբեռնելու համար: Սովորաբար, դա իմանալով, դուք կարող եք ներբեռնել պաշտոնական տեղադրիչը, որը կտեղադրի բնօրինակ գրադարանները և դրանք կգրանցի համակարգում, օրինակ `d3d- ով սկսվող անունով բոլոր ֆայլերի համար, պարզապես տեղադրեք DirectX- ը Microsoft- ի պաշտոնական կայքէջից, msvc- ի համար` msvc- ի համար - Visual Studio- ի վարկածներից մեկը: (Եվ եթե որոշ խաղ չի սկսվում հեղեղից, ապա նայեք հակավիրուսային հաշվետվություններին, դա կարող է ջնջել անհրաժեշտ DLL- ները, դա հաճախ տեղի է ունենում որոշ փոփոխված գրադարանների հետ):
- Սովորաբար, DLL- ը գրանցելու փոխարեն, գործարկվում է նույն թղթապանակում ֆայլերի տեղադրումը exe գործադիր ֆայլով, որը պահանջում է այս գրադարանը:
Ես եզրափակում եմ դա, հուսով եմ, որ ինչ-որ բան ավելի պարզ է դարձել, քան եղել է: