64-බිට් වින්ඩෝස් සඳහා වෙනම “වැඩසටහන් ගොනු (x86)” ෆෝල්ඩරයක් අවශ්‍ය වන්නේ ඇයි?


178

වින්ඩෝස් හි 64-බිට් අනුවාදයක "වැඩසටහන් ගොනු" ෆෝල්ඩරය බිට් 64 වැඩසටහන් සඳහා වන බවත් "වැඩසටහන් ගොනු (x86)" ෆෝල්ඩරය බිට් 32 වැඩසටහන් සඳහා බවත් මම දනිමි, නමුත් මෙය පවා අවශ්‍ය වන්නේ ඇයි?

“අවශ්‍ය” යන්නෙන් මම අදහස් නොකරන්නේ “මයික්‍රොසොෆ්ට් ආයතනය වෙනත් සැලසුම් තීරණ නොගන්නේ මන්ද?” ඇත්ත වශයෙන්ම ඔවුන්ට තිබිය හැකි නිසා. ඒ වෙනුවට, මම අදහස් කළේ, "බිට් 64 වින්ඩෝස් හි වර්තමාන සැලසුම අනුව, බිට් 32 වැඩසටහන් වලට බිට් 64 වැඩසටහන් වලින් වෙනම ඉහළ මට්ටමේ ෆෝල්ඩරයක් තිබිය යුත්තේ ඇයි?" තවත් ක්‍රමයක් තබන්න, "මම කෙසේ හෝ යළි හරවා යැවීමේ යාන්ත්‍රණය මග හැර සියල්ල සත්‍යයට ස්ථාපනය කිරීමට බල කළහොත් කුමක් සිදුවේද C:\Program Files\?"

සුපර් පරිශීලක සහ වෙනත් තැන්වල "බිට් 32 වැඩසටහන් සඳහා එකක්, එකක් බිට් 64 වැඩසටහන් සඳහා ය" යනුවෙන් තරයේ කියා සිටින නමුත් මට සොයාගත හැකි කිසිවක් එයට හේතුව නොදක්වයි. මගේ අත්දැකීම් සිට, එය නොවන බවක් 32-bit වැඩසටහන් නිවැරදි ස්ථානයේ හෝ නැති ස්ථාපනය යන්න ගැටලුවක් ඇත.

වින්ඩෝස් කෙසේ හෝ "ක්‍රමලේඛ ලිපිගොනු (x86)" නැති වැඩසටහනකට වෙනස් ආකාරයකින් ඉදිරිපත් වේද? “වැඩසටහන් ලිපිගොනු” වෙනුවට “වැඩසටහන් ගොනු (x86)” හි ස්ථාපනය කර ඇති වැඩසටහනකට හරියටම වෙනස් දේ පෙන්වන විස්තරයක් තිබේද? නීත්‍යානුකූල තාක්‍ෂණික හේතුවක් නොමැතිව මයික්‍රොසොෆ්ට් නව ෆෝල්ඩරයක් හඳුන්වා දෙනු ඇතැයි සිතිය නොහැක.


13
ඔබේ ප්‍රශ්නයට පිළිතුරු දෙනවා වෙනුවට, මම අසමි - ඔබ \ වැඩසටහන් ගොනු \ පොදු ලිපිගොනු හසුරුවන්නේ කෙසේද?
sgmoore

8
එක්-ලයිනර් පිළිතුර (සහ ඒ නිසා අදහස් දැක්වීමක්): ඕනෑම ෆෝල්ඩරයකින් ඕනෑම යෙදුමක් එහි ගෘහ නිර්මාණ ශිල්පය නොදැන පහසුවෙන් ධාවනය කළ හැකි බැවින්, මෙම වෙන්වීමට අනිවාර්ය හේතුවක් නොමැත . ගෘහ නිර්මාණ දෙකම සමඟ යෙදුම් ද්විත්ව ස්ථාපනය සඳහා සහාය වීම පහසුව පිළිබඳ කාරණයකි . සමහර අවස්ථාවලදී එය සරල ප්‍රතිචක්‍රීකරණය නොවන බැවින් එය වෙනසක් ඇති කරයි. ප්‍රධාන ගැටළුව වන්නේ බිට් 32 යෙදුම් වලට බිට් 64 ඩීඑල් පූරණය කළ නොහැකි වීමයි, එබැවින් ඔබට සාමාන්‍යයෙන් අනුවාද දෙකම එකම ස්ථානයක ස්ථාපනය කළ නොහැක. අනෙක් විකල්පය වන්නේ එක් එක් යෙදුම සඳහා "බින්" ෆෝල්ඩර දෙකක් තිබීමයි.
Sklivvz

1
Yn සයිනෙටෙක් මට x64 ද්විමය ඇති කිරීම සඳහා (x86) යටතේ වැඩසටහන් ස්ථාපනය කර ඇත .. සමහර විට එය භයානක ය.
sinni800

10
මයික්‍රොසොෆ්ට් විසින් “උරුම” වැඩසටහන් ගොනු නාමාවලිය වැඩසටහන් ගොනු (x86) වෙත ගෙනයාම වෙනුවට “වැඩසටහන් ලිපිගොනු (x64)” තුළ බිට් 64 වැඩසටහන් නොතැබුවේ මන්දැයි මම නිතරම කල්පනා කළෙමි
ලෝරන්ස් සී

30
සැබෑ අවුල් 64 / 32bit විභේදනයේ / Windows / SysWOW64 මෙම 32bit ප්රශ්නයකි අතර / Windows / සිස්ටම් 32, 64bit අඩංගු බව ... වේ ගැන
සිදුරු

Answers:


92

කෙටි පිළිතුර: උරුමය සහතික කිරීම සඳහා ස්ථිර අවුලක් ඇති කරන බිට් 64 යෙදුම් සඳහා අවලස්සන නීති පැනවීමකින් තොරව 32-බිට් යෙදුම් පෙර පරිදිම ක්‍රියාත්මක වේ.

එය අවශ්‍ය නොවේ. බිට් 32 ඩීඑල්එල් සහ ක්‍රියාත්මක කළ හැකි දේ 64-බිට් ඩීඑල්එල් සහ ක්‍රියාත්මක කළ හැකි දේවලින් වෙන් කිරීමට සෑම යෙදුමකටම තමන්ගේම ක්‍රමයක් නිර්මාණය කිරීම වැනි වෙනත් විසඳුම් වලට වඩා එය පහසු ය.

ප්‍රධාන හේතුව නම්, බිට් 64 පද්ධති පවතින බව නොදන්නා 32-බිට් යෙදුම් “නිකම්ම වැඩ කරන්න”, යෙදුම් පෙනෙන ස්ථානවල බිට් 64 ඩීඑල්එල් ස්ථාපනය කර තිබුණත්. 32-බිට් යෙදුමකට 64-බිට් ඩීඑල්එල් පූරණය කිරීමට නොහැකි වනු ඇත, එබැවින් බිට් 32 යෙදුමක් (එය බිට් 64 පද්ධති පෙර දිනට යෙදිය හැකි අතර ඒ නිසා 64-බිට් 64 ගොනු ගැන කිසිම අදහසක් නැත. පවා පවතී) 64-බිට් ඩීඑල්එල් සොයා නොගනී, එය පූරණය කිරීමට උත්සාහ කරන්න, අසමත් වී දෝෂ පණිවිඩයක් ජනනය කරන්න.

මේ සඳහා ඇති සරලම විසඳුම නිරතුරුවම වෙනම නාමාවලි වේ. ඇත්ත වශයෙන්ම එකම විකල්පය නම් සෑම බිට් 64 යෙදුමකටම ක්‍රියාත්මක කළ හැකි ලිපිගොනු “සැඟවීමට” 32-බිට් 32 යෙදුමක් නොපෙනේ, එම bin64යෙදුම තුළ ඇති නාමාවලියක් වැනි ය . නමුත් එය පැරණි යෙදුම් සඳහා සහය දැක්වීම සඳහා බිට් 64 පද්ධති මත ස්ථිර කැත බවක් ඇති කරයි.


52
එකම පද්ධතියේ බිට් 32 සහ බිට් 16 වැඩසටහන් සඳහා ඉඩ ලබා දීම සඳහා ඔවුන්ට මෙම වළලු හරහා පැනීමට අවශ්‍ය නොවීය. ProgramFiles (16)එවැනි හෝ සමහරක් දුටු බව මට මතක නැත . ඊට අමතරව, 32-බිට් වැඩසටහනක් “බිට් 64 ඩීඑල්එල් සොයාගෙන එය පූරණය කිරීමට උත්සාහ කරන්නේ කෙසේද”? අහඹු ඩීඑල්එල් සඳහා දඩයම් කිරීම සඳහා වන වැඩසටහන් මොනවාද %programfiles%? එය හවුල් ඩීඑල්එල් නම්, එය වින්එස්එක්ස් හි යයි; එය බෙදා නොගන්නේ නම්, ඔවුන්ගේම ඩීඑල්එල් කළමනාකරණය කිරීම ක්‍රමලේඛකයා සතු ය. සාධාරණ වුවත් ක්‍රමලේඛකයින්ගේ පහසුව සඳහා එය සිදු කරනු ලැබේ.
සයිනෙටෙක්

30
IIRC Win3.1 සතුව වැඩසටහන් ගොනු නාමාවලියක් නොතිබුණි (හෝ බොහෝ යෙදුම් එය නොසලකා හැර ඇත); එහි ප්‍රති result ලයක් ලෙස ආරම්භ කිරීමට ක්‍රමලේඛ ලිපිගොනු වල දේවල් සොයන කිසිදු පැරණි වින් 16 යෙදුම් නොමැත. ඒ වෙනුවට IIRC හවුල් පුස්තකාල බොහෝ විට කවුළු ෆෝල්ඩරයේම කොහේ හරි කොටු කර ඇත. Win32 වින්ඩෝස් \ පද්ධතිය සහ වින්ඩෝස් \ system32 සහිත වීම එහි පුරාවස්තුවකි.
ඩෑන් ඊස් ෆිඩ්ලිං ෆයර්ලයිට්

15
වින්ඩෝස් 3.1 දිගු ගොනු නාම සඳහා සහය නොදක්වන බැවින් එයට 'වැඩසටහන් ගොනු' ෆෝල්ඩරයක් තිබීමට නොහැකි වනු ඇත.
ඩාර්ත් එග්‍රෙජියස්

14
Ar ජැරෝඩ් රොබර්සන්: තරමක් ආපසු හැරවීමට හේතුව මයික්‍රොසොෆ්ට් පසුගාමී අනුකූලතාව අතිශයින් ඉහළ අගයක් ගන්නා බැවිනි.
ඩේවිඩ් ෂ්වාට්ස්

24
Ar ජැරෝඩ්: ඇත්ත වශයෙන්ම, සෑම සංවර්ධකයෙකුම දන්නා පරිදි, මයික්‍රොසොෆ්ට් පසුගාමී අනුකූලතාව ඉතා ඉහළින් අගය කරයි. වචනාර්ථයෙන් ඔවුන් සතුව ඇති සෑම ඒපීඅයි එකකම ඔවුන් ඉවත් කිරීම ප්‍රතික්ෂේප කරන පැරණි ක්‍රම සහ බොහෝ විට බරපතල දෝෂ නිවැරදි කිරීමට ප්‍රතික්ෂේප කරයි, මන්ද එම ඒපීඅයි සඳහා ලියා ඇති පැරණි වැඩසටහන් බිඳ දැමීමට ඔවුන් බිය වෙති. බොහෝ ඒපීඅයි වලද එය එසේම වේ, නමුත් මයික්‍රොසොෆ්ට් හි දැනට ඇති ඕනෑම තැනකට නොවේ.
බ්ලූරාජා - ඩැනී ප්ලග්ගොෆ්ට්

65

යෙදුමක නැවත ලිවීමකින් තොරව 32bit සහ 64bit අනුවාදය ස්ථාපනය කිරීමට එය ඔබට ඉඩ දෙයි.


ඊළඟ දවසේ මෙම පිළිතුර සහ අදහස් දැක්වීම දෙස බැලීමෙන් පසු, මගේ පිළිතුරේ ප්‍රධාන අධීක්ෂණයක් කළ හැකි බව මට වැටහේ. මම ක්‍රමලේඛන පසුබිමක් ව්‍යාජ ලෙස උපකල්පනය කළ අතර මගේ අදහස් දැක්වීමේදී මම ඔබ ගැන කතා කරන විට , මම අදහස් කළේ පරිශීලකයා නොව ක්‍රමලේඛකයා ය.

මම මයික්‍රොසොෆ්ට් සඳහා වැඩ නොකරන අතර මෙම ෆෝල්ඩර පිටුපස ඇති සැබෑ හේතුව කුමක්ද යන්න පිළිබඳව මට කිසිදු හෝඩුවාවක් නොමැත , නමුත් මම සිතන්නේ මෙම ෆෝල්ඩර තිබීමට හේතුව කෙතරම් පැහැදිලිව පෙනෙනවාද කිවහොත් මට එය තර්ක කිරීමට කිසිදු ගැටළුවක් නොමැත.

එබැවින් අපි එය බිඳ දමමු!

  1. ෆෝල්ඩර නියමයි!

    අපි යම් දෙයකට එකඟ වෙමු. ෆෝල්ඩර නියමයි! අපට ඒවා අවශ්‍ය නැත, සෑම දෘ file තැටියක්ම ඔබේ දෘ hard තැටියේ මූලයට දැමිය හැකි තරම් ගොනු නාම අප සතුව ඇත, එබැවින් ෆෝල්ඩර කිසිසේත් ඇත්තේ මන්ද?

    හොඳයි, ඔවුන් අපේ දේවල් ඇණවුම් කිරීමට අපට උදව් කරයි. දේවල් ඇණවුම් කිරීම විශිෂ්ටයි. දේවල් වඩාත් පහසුවෙන් සැකසීමට එය අපට උපකාරී වේ. ව්‍යුහය අවශ්‍ය යන්ත්‍රයක් සමඟ වැඩ කිරීමේදී මෙය විශේෂයෙන් ප්‍රයෝජනවත් වේ.

  2. දත්ත සහ තර්කනය වෙන් කිරීම විශිෂ්ටයි!

    ක්‍රමලේඛනය තුළ බොහෝ විට දක්නට ලැබෙන ආදර්ශයක් නම්, තර්කනයෙන් දත්ත වෙන් කිරීමයි. ඔබ එක් කොටසක් අවශ්ය දන්නා ආකාරය යමක් කිරීමට ඔබ ඔබ තවත් කොටසක් අවශ්ය දෙයක් කරන්න පුළුවන් සමග .

    මෙය ගොනු පද්ධතිය තුළ ද දක්නට ලැබේ.

    යෙදුම සඳහා ෆෝල්ඩර (තර්කනය) සහ අපගේ වටිනා භාණ්ඩ (දත්ත) සඳහා ෆෝල්ඩර ඇත:

    තර්කනය

    • %WINDIR%
    • %PROGRAMFILES%
    • %PROGRAMFILES(x86)%

    දත්ත

    • %PROGRAMDATA%
    • %HOMEDRIVE%%HOMEPATH%

    එබැවින්, ෆෝල්ඩර නියමයි වගේ පෙනෙන අතර වැඩසටහන් ඔවුන්ගේම කුඩා ෆෝල්ඩරයේ තැබීම අර්ථවත් කරයි. නමුත් 2 ක් ඇත්තේ ඇයි? එය හැසිරවීමට සහ සියල්ල එකම Programsෆෝල්ඩරයකට දැමීමට ස්ථාපකයට ඉඩ නොදෙන්නේ ඇයි ?

  3. ස්ථාපකයන් මැජික් නොවේ

    අද, අපි බොහෝ විට අපගේ විශාල වැඩසටහන් ස්ථාපනය කිරීම සඳහා කුඩා වැඩසටහන් භාවිතා කරමු. අපි මෙම කුඩා වැඩසටහන් ස්ථාපකයන් ලෙස හඳුන්වමු .

    ස්ථාපකයන් මැජික් නොවේ. ඒවා ක්‍රමලේඛකයින් විසින් ලිවිය යුතු අතර ඒවා වෙනත් ඕනෑම යෙදුමක් මෙන් යෙදුම් (විය හැකි දෝෂ සහිතව) වේ. ඒ නිසා මනෝ ක්රමලේඛකයෙක් මුහුණ දීමට සිදු වනු ඇත වත්මන් තත්ත්වය ගේ පෙනුම ඉඩ සමඟ සහ තොරව වත්මන් පද්ධතිය:

    1 වැඩසටහන් ගොනු ෆෝල්ඩරය

    සංවර්ධකයා ස්ථාපකයන් 2 ක් නඩත්තු කරයි. 32bit සඳහා එකක් සහ ඔහුගේ යෙදුමේ 64bit අනුවාදය සඳහා එකක්. 32bit ස්ථාපකය ලියන C:\Program Files\App\අතර 64bit ස්ථාපකය වෙත ලියනු ඇත C:\Program Files\App\sixtyfour\.

    2 වැඩසටහන් ගොනු ෆෝල්ඩර

    සංවර්ධකයා 1 ස්ථාපකය නඩත්තු කරයි. ස්ථාපකය සෑම විටම වෙත ලිවීමට ඇත %PROGRAMFILES%, ඒ අනුව මාර්ගය පුළුල් කිරීමට (ඔබ ඇත්තටම මෙම නඩු සඳහා පරිසරය විචල්යයන් භාවිතා නොකරන, ඔබ භාවිතා කරනවා මෙහෙයුම් පද්ධතිය මත රඳා පවතී SHGetKnownFolderPath සමග FOLDERID_ProgramFilesනිවැරදි මාර්ගය යළි ලබාගැනීම සඳහා).
    සෑම දෙයක්ම ස්වයංක්‍රීයව එහි ස්ථානය සොයා ගන්නා අතර ඔබ ස්ථාපනය කරන සෑම යෙදුමක් සමඟම රටාව සමාන වේ .

  4. අනුකූලතාව අර්ථවත් කරයි

    ඔබ යමක් ඉගෙන ගන්නා විට , සාමාන්‍යයෙන් එයින් ගම්‍ය වන්නේ නිරීක්ෂණය කරන ලද හැසිරීමක් අනුකූල බවය. එසේ නොමැතිනම් නිරීක්ෂණය කිරීමට හා ඉගෙන ගැනීමට කිසිවක් නැත.

    අපගේ කුඩා ගොනු පද්ධතියට ද එය එසේම වේ. සෑම විටම එකම දේවල් එකම ෆෝල්ඩරවලට දැමීම අර්ථවත් කරයි . ඒ ආකාරයෙන්, අපි යමක් සොයන විට බැලීමට කොහෙන්දැයි අපි දැන ගන්නෙමු.

    32/64 යෙදුම් වෙනස සඳහා පද්ධතිය මෙම ඉලක්කය තවදුරටත් ඉදිරියට ගෙන යයි. නම්, ද්විමය පැටවීමේ හැසිරීම සහ ආරක්ෂාව (යම් දුරකට) වල ගැටුම් වළක්වා ගැනීම සඳහා යෙදුම් ස්ථාන 2 කට වෙන් කරනු ලැබේ.

මට තවමත් එය ලැබෙන්නේ නැත. මෙය නිෂ් .ල බව පෙනේ

ඔබ කිසි විටෙකත් එක දෙයක් අමතක නොකළ යුතුය. මිනිස්සු ඇදහිය නොහැකි තරම් මෝඩය. මෙයට පරිශීලකයින්, සුපිරි පරිශීලකයින් සහ විශේෂයෙන් ක්‍රමලේඛකයින් ඇතුළත් වේ.

අපගේ පද්ධති පවා භාවිතයට ගත හැකි වන පරිදි ගොනු පද්ධති යළි හරවා යැවීම වැනි දෑ අපට අවශ්‍ය වන්නේ මේ නිසා ය .

ක්‍රමලේඛකයින් එතැනට ගොස් පැටවීමට උත්සාහ කරන C:\Windows\system32\awesome.dllඅතර ඔවුන් බිට් 32 හෝ 64 පද්ධතියක් මත ධාවනය වන්නේද යන්න ගැන තැකීමක් නොකරයි. ඔවුන් 64bit DLL පටවා හුදෙක් බිඳ වැටීමට උත්සාහ කරනු ඇත. සමහර ක්‍රමලේඛකයන්ට සමහර ඔෆිස් ඩීඑල්එල් භාවිතා කිරීමට අවශ්‍යයි, ගැටළුවක් නැත, එය සොයා ගත හැකි ස්ථානය ඔවුන් දනී! C:\Program Files\Microsoft\Office\14.0\wizards.dll... සහ තවත් කඩාවැටීමක්!

32bit යෙදුම විසින් මේ සියලු ඉල්ලීම් වේ හරවා අයදුම් අනතුරු මග හරවා ගැනීමට 32bit සගයන් බවට.

එවැනි පද්ධතියක් තැනීම සඳහා අපට ස්ථාවර ෆෝල්ඩර නම් කිහිපයක් අවශ්‍ය වේ. මෙම නැවත හරවා යැවීම සඳහා ෆෝල්ඩර ව්‍යුහයක් නොමැති නම්, ඔබ එය ක්‍රියාත්මක කරන්නේ කෙසේද?

හරි, දැන් මට තේරුණා. නමුත් C:\Program Files\x86\එසේනම් ඇයි භාවිතා නොකරන්නේ ?

දැන් අපි දාර්ශනිකයි ...

මම කෙසේ හෝ නැවත හරවා යැවීමේ යාන්ත්‍රණය මග හැර සෑම දෙයක්ම සත්‍යයට ස්ථාපනය කිරීමට බල කළහොත් කුමක් සිදුවේද C:\Program Files\?

බොහෝ දුරට කිසිවක් නැත (වෙනත් යෙදුම් එම යෙදුම සඳහා ස්ථාවර ස්ථානයක් මත රඳා නොපවතින තාක්).

මෙම WOW64 යාන්ත්රණයක් කොකු බවට CreateProcessහා එය 32 හෝ 64 ටිකක් නම් තීරණය කිරීමට යෙදවිය රූපය මත (මෙම ක්රියාකාරී වන ෆෝල්ඩරයක් පරීක්ෂා වඩා සංකීර්ණ) වඩා නවීන, චෙක්පත් ඉටු කරනු ඇත.

ඔව්, නමුත් මම කිව්වේ, සියලුම යෙදුම් වගේ!

  • මම ඩීසල් සහ ගෑස් යන දෙකම මගේ මෝටර් රථයට දැමුවහොත් කුමක් සිදුවේද?
  • ප්‍රත්‍යාවර්ත හා සෘජු ධාරාව යන දෙකම එකම රේඛාවක භාවිතා කිරීමට මා උත්සාහ කළහොත් කුමක් සිදුවේද?
  • මම මගේ බළලා සහ මාළු දෙකම එකම මින්මැදුරක තබා ගත්තොත් කුමක් සිදුවේද?

සමහර ප්‍රශ්න වලට පිළිතුරු අවශ්‍ය නොවේ. එය සිදු කිරීමට අදහස් නොකෙරේ, එය නොකරන්න. මෙහි ලබා ගත හැකි කිසිවක් නැත. එවැනි වෙනසක් නිසා ඇතිවිය හැකි ගැටළු ප්‍රමාණය සෑම විටම කෙනෙකුට මෙයින් දැකිය හැකි ප්‍රතිලාභ ඉක්මවා යයි.


3
නමුත් මුල් හේතුව එයද? මම යෙදුමට ස්ථාපනය කල නොහැක C:\Program Files\App32සහ C:\Program Files\App64?
ස්ටීවන් ජෙනිංස්

4
Te ස්ටෙෆෙන් ජෙනිංස්: නමුත් ඒ සඳහා ඔබ විසින්ම තීරණයක් ගත යුතුය. එය දැන් ක්‍රියාත්මක වන ආකාරය නම් ක්‍රියාවලිය ස්වයංක්‍රීය වීමයි, මන්ද යත් SHGetSpecialFolderPathස්ථාපනය කරන ස්ථානය තීරණය කිරීම සඳහා යෙදුමක් ඇමතූ විට ලබා දිය යුතු ෆෝල්ඩරය වින්ඩෝස් දන්නා බැවිනි .
ඩර් හොච්ස්ටැප්ලර්

6
Yn සයිනෙටෙක්: %PROGRAMFILES%මුලින්ම ස්ථාපනය කරන්නේ ඇයි ? 32bit අනුවාදය පරිශීලකයින්ගේ ඩෙස්ක්ටොප් සහ 64bit ප්‍රතිචක්‍රීකරණ බඳුනට දැමිය යුත්තේ ඇයි? එය කළ හැකි නිසා, එය හොඳ අදහසක් යැයි අදහස් නොකෙරේ. කණගාටුයි, මම ඔබේ තර්කය අනුගමනය නොකරමි.
ඩර් හොච්ස්ටැප්ලර්

4
Yn සයිනෙටෙක්: ඔව්, එය කළ හැකි ආකාරය පිළිබඳ හොඳ උදාහරණයක් ඔබ ලබා දුන්නා. එය සිදු කළ හැකි වූයේ කෙසේ දැයි තවත් හොඳින් හොඳ උදාහරණයක් එය මාර්ගය වන්නේ වේ ඇත්තටම දැන් සිදු වෙමින් පවතී. ගොනුවක්% PROGRAMFILES% ට ලිවීම සහ එය නිවැරදි ෆෝල්ඩරයේ අවසන් වන බවට සහතික වීම එක් දෙයකි. කුමන ෆෝල්ඩරය නිවැරදිදැයි ඔබම පරීක්ෂා කර බැලීම තවත් එකකි. කලින් ප්‍රවේශයේ වාසිය ඔබ සැබවින්ම නොදකිනවා නම්, මට ඔබට ඒත්තු ගැන්වීමට නොහැකි වනු ඇත. ප්‍රශ්නය වූයේ ෆෝල්ඩර 2 ක් ඇත්තේ මන්ද යන්නයි. මම හිතන්නේ මගේ පිළිතුර ඒ සම්බන්ධයෙන් සාධාරණයි.
ඩර් හොච්ස්ටැප්ලර්

3
Li ඔලිවර්සල්ස්බර්ග්, නැත. ෆෝල්ඩර දෙකක් ඇයි ප්රශ්නය වන්නේ, අවශ්ය , එහි නැත ඇයි වේ . ඇත්ත වශයෙන්ම, ඔහු එය නිර්භීත විය: මෙය පවා අවශ්‍ය වන්නේ ඇයි? එය අවශ්‍ය වන්නේ මන්දැයි ඔබ පැහැදිලි නොකළ අතර මා දුන් ආදර්ශය (සහ ඔබේම උපහාසාත්මක උදාහරණය පවා) පෙන්නුම් කරන්නේ එය එසේ කළ යුතු නැති බවයි .
Synetech

14

ටීඑල්; ඩීආර්:

සාරාංශගත කිරීම සඳහා, නැත, එය අවශ්ය නොවේ ; ඔවුන්ට තනි ෆෝල්ඩරයක් භාවිතා කළ හැකි අතර, නැත, වින්ඩෝස් එක් ස්ථානයකින් හෝ වෙනත් ස්ථානයකින් ක්‍රියාත්මක වන වැඩසටහනකට වෙනස් ආකාරයකින් ඉදිරිපත් නොවේ.


හොඳයි, සෑම කෙනෙකුම මේ පිළිබඳව ඔවුන්ගේ මතයන් විසි කරන බවක් පෙනේ, එබැවින් මම මගේ 2 in ට විසි කරන්නෙමි. මයික්‍රොසොෆ්ට් විසින් බිට් 32 සහ බිට් 64 වැඩසටහන් සඳහා වෙනම ඉහළ මට්ටමේ ෆෝල්ඩර සෑදීමට තීරණය කළේ ඇයිද යන්න පිළිබඳව තවත් සමහරු දැනටමත් අනුමාන කර ඇත , එබැවින් මම එම කොටස අත්හරිමි (හොඳම හේතුව ඩේවිඩ්ගේ පැහැදිලි කිරීම එය ක්‍රමලේඛකයන්ට පහසුව). ඇත්ත වශයෙන්ම එසේ වුවද, මෙය පවා අවශ්‍ය වන්නේ මන්ද යන question ජු ප්‍රශ්නයට එය එතරම් අවධානය යොමු නොකරයි. , පිළිතුර අනුමාන වශයෙන්: එය එසේ නොවේ .

ඒ වෙනුවට, මම ප්‍රශ්නයේ ප්‍රධාන ආයතනය අමතන්නෙමි

වින්ඩෝස් කෙසේ හෝ "ක්‍රමලේඛ ලිපිගොනු (x86)" නැති වැඩසටහනකට වෙනස් ආකාරයකින් ඉදිරිපත් වේද?

ඇත්තටම නැහැ, නමුත් වැඩ ඇති ස්ථානය හැකි හැසිරීම බලපාන, නමුත් ඔබ සිතන්නේ මාර්ගය ගැන.

ඔබ වැඩසටහනක් ක්‍රියාත්මක කරන විට, වින්ඩෝස් එය ක්‍රියාත්මක කිරීමට අවශ්‍ය පරිසරයක් සකසයි (මා අදහස් කළේ මතකය, ආමන්ත්‍රණය ආදිය අනුව පරිසර විචල්‍යයන් පමණක් නොවේ). මෙම පරිසරය ක්‍රියාත්මක කළ හැකි අන්තර්ගතය මත රඳා පවතී (32-බිට් සහ 64-බිට් වැඩසටහන් අභ්‍යන්තරව වෙනස් වේ). ඔබ 64-බිට් පද්ධතියක 32-බිට් වැඩසටහනක් ධාවනය කරන විට, එය බිට් 32 උප පද්ධතියක් තුළ ක්‍රියාත්මක වන අතර එය බිට් 32 පරිසරයක් අනුකරණය කරයි. එය හැඳින්වෙන්නේ WoW64 (WoW64 සඳහා කි්රයා වින්ඩෝස් 64-bit මත වින්ඩෝස් ) සහ 16-bit යෙදුම් භාවිතා එක්ස්පී තුළ ධාවනය කරනු ලබන ආකාරය හා සමාන වේ NTVDM .

ඔබ පරිපාලක වරප්රසාද ඇතිව හෝ නැතිව වැඩසටහනක් ක්රියාත්මක කරන විට, එය දිවෙන ආකාරය බලපාන, නමුත් ස්ථානය යුතු (උදාහරණයක් සමහර රියදුරන් වැනි ස්ථානය පරායත්ත උදාහරණ කිහිපයක් ඒවා වුවත්) එය බලපාන්නේ නැත.

(මම පිළිතුරු අතර අනෙක් දවස, වෙනත් පරිගණකයක් භාවිතා කරන්නේ මගේ පියවර අස්වසන මගේ බ්රවුසරයේ ඉතිහාසය මත විශ්වාසය තැබිය නොහැකි ය එසේ නමුත් මෙම ශිරාන් ප්රශ්නය මම අවසන් මේ SO ප්රශ්නය මට ඇති වන ගූගල් PROCESSOR_ARCHITEW6432 කිරීමට ඉවහල් වන මෙම SO ප්රශ්නය හා මෙම මයික්‍රොසොෆ්ට් බ්ලොග් පළ කිරීම .)

කොහේ හෝ තැනක, %processor_architecutre% ඔබ විධාන විමසුමක් ක්‍රියාත්මක කරන්නේ කොතැනින්ද යන්න මත පදනම්ව පරිසර විචල්‍යය විවිධ ප්‍රති results ල ලබා දෙන්නේ කෙසේද යන්න පිළිබඳව මම ස්ටැක් ඕවර්ෆ්ලෝ පෝස්ට් එකක් කියවා ඇත්තෙමි (මම නිශ්චිත උපුටා ගැනීම සොයා ගැනීමට උත්සාහ කරමි).

විධාන විමසුමේ 32-බිට් හෝ 64-බිට් අනුවාදය ක්‍රියාත්මක වී ඇත්ද යන්න පිළිතුර විය (එනම්, සිට System32\හෝ SysWoW64\). වෙනත් වචන වලින් කිවහොත්, ස්ථානය වැඩසටහනේ හැසිරීමට බලපාන බවක් පෙනෙන්නට තිබුණද, එය සිදුවන්නේ වැඩසටහනේ විවිධ අනුවාදයන් ඇති නිසා මිස වින්ඩෝස් ෆෝල්ඩරයට විශේෂ ආකාරයකින් සලකන නිසා නොවේ.

මෙය අර්ථවත් වන්නේ ක්‍රියාත්මක කළ හැකි ගොනුවේ අන්තර්ගතය එය 32-බිට් හෝ 64-බිට් ද යන්න නියම කරන බැවිනි, එබැවින් ඔබට එකම වැඩසටහනේ (උදා, foobar32.exeසහ foobar64.exe) 32-බිට් 64 සහ බිට් 64 පිටපතක් එකම ෆෝල්ඩරයක තැබිය හැකිය. ඒවා ක්‍රියාත්මක කරන්න, ඒවා නිවැරදිව පටවනු ලැබේ (64-බිට් අනුවාදය දේශීයව ක්‍රියාත්මක වන අතර 32-බිට් එක WoW64 අනුකරණ ස්ථරයේ ක්‍රියාත්මක වේ).

ෆ්‍රී පැස්කල් මඟින් ඔබට ඩොස් සහ වින්ඩෝස් අනුවාද දෙකම ස්ථාපනය කිරීමට ඉඩ ලබා දෙන අතර ඒවා එකම ෆෝල්ඩරයකින් ගමන් කරයි : %programfiles%\FreePascal. එය ක්රියාත්මක ගොනු තබා විසින් විවිධ ආකෘතීන් කළමනාකරණය ( .exe, .sys, .dll, .ovrවෙනම ෆෝල්ඩර සහ ආදිය පින්තූර, මූලාශ්රය-ගොනු, වැනි හුවමාරු සම්පත් ගොනු, ආදිය)) මෙම 32- සඳහා ද සිදු කළ නොහැකි බව කිසිම තාක්ෂණික හේතුවක් වන අතර, වැඩසටහනක 64-බිට් අනුවාද. ඩේවිඩ් පැවසූ පරිදි, ක්‍රමලේඛකයා ඒවා වෙනම තබා තිබේ නම් එය පහසු වේ (එනම්, විචල්‍යයන් භාවිතා කරමින් එක ගොනු කට්ටලයක් පමණක් ඇති බව පෙනේ).


පළිගැනීම අඩු කිරීම! මුවහාහා! සුසුම්ලන්න
සයිනෙටෙක්

ඡන්දය ප්‍රකාශ කිරීම අමුතුයි: \. BTW හොඳ පැහැදිලි කිරීම +1.
avirk

11

තවත් හේතුවක් නම්, බොහෝ වැඩසටහන් ඔවුන්ගේ වැඩසටහන් ස්ථාපනය කර ඇති ස්ථානයට යොමු කිරීම සඳහා% PROGRAMFILES% වැනි පාරිසරික විචල්‍යයන් භාවිතා කිරීමයි. බිට් 64 වැඩසටහන් සඳහා, එය සාමාන්‍ය ස්ථානයට යයි. බිට් 32 වැඩසටහන් සඳහා, එය නව Program Files (x86)ෆෝල්ඩරයට හරවා යවනු ඇත .

අවම වශයෙන් විෂුවල් ස්ටුඩියෝ හි නව .නෙට් දේවල් සමඟ වුවද, ඔවුන් සතුව දැන් App.Local විචල්‍යය ඇත, මේ සඳහා වන සම්පූර්ණ අවශ්‍යතාවය ඉවත් කරයි.


4
එය එය පැහැදිලි නොකරයි. පරිසර විචල්‍යය හරියටම භාවිතා කරන්නේ කවුද? වැඩසටහනක් 32-බිට් හෝ 64-බිට් දැයි සැලකිලිමත් වන්නේ ඇයි?
සයිනෙටෙක්

4
Yn සයිනෙටෙක් - වැඩසටහන් වල කතුවරයා පරිසර විචල්‍යය භාවිතා කරයි. එය සැලකිලිමත් වීමට හේතුව dlls වෙත යොමු වීමයි. 64-බිට් ක්‍රියාවලියක් තුළ ඔබට 32-බිට් ඩීඑල් එකක් පැටවිය නොහැක.
රාම්හවුන්ඩ්

1
හා කොහොමද කරන්නේ %programfiles%, %programfiles(x86)%හෝ %programw6432%එහි වෙනසක්? ඕනෑම හවුල් ඩීඑල්එල් එකක් තනි වින්එස්එක්ස් ඩිරෙක්ටරියට යන අතර බෙදා නොගත් ඩීඑල්එල් ක්‍රියාත්මක කළ හැකි ඒවා සමඟ තිබේ. මෙය වැදගත් වන්නේ කිසියම් හේතුවක් නිසා ඔබ එකම වැඩසටහනේ 32-බිට් සහ 64-බිට් සංස්කරණ දෙකම ස්ථාපනය කර ඇත්නම් පමණක් වන අතර, එසේ වුවද, ඔබ 32-බිට් 32 ඩීඑල්එල් 32-බිට් ක්‍රියාත්මක කළ හැකි සහ 64-බිට් 64 ඩීඑල්එල් සමඟ තබා ගනී. 64-බිට් ක්‍රියාත්මක කළ හැකි. ඔබට මෙය එසේ කළ හැකිය: %programfiles%\CoolApp\bin\32සහ% programfiles% \ CoolApp \ bin \ 64`, ඉහළ මට්ටමේ ෆෝල්ඩර වෙන් කරන්නේ ඇයි?
සයිනෙටෙක්

Yn සයිනෙටෙක් එය නිසැකවම කරයි; % programfiles% කාලයක් තිස්සේ පැවතුනි. ඔබ බිට් 64 වැඩසටහනක් බිට් 64 පරිගණකයක ස්ථාපනය කරන්නේ නම්, එක් ස්ථානයක් තිබීම එම බිට් 32 යෙදුමට ගැටළු ඇති කරයි. WoW ට බිට් යෙදුම් 32 ක් සඳහා% programfile% (x86) අනුවාදයට සහ 64 සඳහා x86 නොවන අනුවාදයට හරවා යැවිය හැකිය.
ඇන්ඩි

ව්‍යාජ යළි හරවා
යැවීමක් නොතිබුනේ

8

බිට් 32 සිට 64-බිට් දක්වා මෙම මාරුව සඳහා මයික්‍රොසොෆ්ට් විසඳුම වී ඇත්තේ බොහෝ බිට් 32 යෙදුම් සඳහා උරුම සහාය එක් කිරීමයි. වෙනත් වචන වලින් කිවහොත්, බොහෝ බිට් 32 යෙදුම් 64-බිට් මෙහෙයුම් පරිසරය තුළ ක්‍රියාත්මක වේ. 64-බිට් ගෘහ නිර්මාණ ශිල්පය මත ක්‍රියාත්මක වන අනෙකුත් මෙහෙයුම් පද්ධතිවලට බිට් 32 යෙදුම් පැටවීමට හෝ ක්‍රියාත්මක කිරීමට නොහැකි බව මතක තබා ගන්න.

සංක්‍රාන්තිය පහසු කිරීම සඳහා, මයික්‍රොසොෆ්ට් විසින් නියම කර ඇත්තේ සියලුම බිට් 32 යෙදුම් සුපුරුදු පරිදි වැඩසටහන් ගොනු (x86) ෆෝල්ඩරයට පටවා සාමාන්‍ය වැඩසටහන් ගොනු ෆෝල්ඩරයේ සත්‍ය 64-බිට් යෙදුම් සමඟ මිශ්‍ර වීමට වඩා.

මූලාශ්රය

"මම කෙසේ හෝ නැවත හරවා යැවීමේ යාන්ත්‍රණය මග හැර සෑම දෙයක්ම සැබෑ C: \ Program Files to වෙත ස්ථාපනය කිරීමට බල කළහොත් කුමක් සිදුවේද?"

කිසිවක් නැත. වැඩසටහන් නාමාවලි දෙක සංවිධානය සඳහා පමණි, නැතහොත් ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් වැනි 32-බිට් 32 සහ 64-බිට් අනුවාද දෙකකින් යුත් වැඩසටහන් වෙන් වෙන්ව තබා ගැනීම. නමුත් ඔබට "වැඩසටහන් ගොනු" තුළ 32-බිට් වැඩසටහනක් සහ "වැඩසටහන් ගොනු x86" හි 64-බිට් වැඩසටහනක් ස්ථාපනය කළ හැකි අතර කිසිවක් සිදු නොවනු ඇත.

විකී පවසයි:

සමහර යෙදුම් ස්ථාපකයන් ස්ථාපන මාර්ගයේ ඇති ඉඩ ප්‍රතික්ෂේප කරයි. 32-බිට් පද්ධති සඳහා, වැඩසටහන් ගොනු ෆෝල්ඩරයේ කෙටි නම Progra ~ 1 වේ. 64-බිට් පද්ධති සඳහා, 64-බිට් වැඩසටහන් ගොනු ෆෝල්ඩරයේ කෙටි නම Progra ~ 1 (32-bit පද්ධති වලට සමාන වේ); 32-බිට් වැඩසටහන් ගොනු (x86) ෆෝල්ඩරයේ කෙටි නම දැන් Progra ~ 2 වේ.


1
හෙහෙ. ලස්සන ලිපියක්. එම ලිපියේ අදහස් හරියටම මෙහි ඇති ඒවාට සමාන ය. නරකම දෙය නම්, එම ලිපිය මීට වසර දෙකකට වඩා වැඩි කාලයකට පෙර සිට වන අතර එයින් පෙන්නුම් කරන්නේ මෙම ප්‍රශ්නයට අළුත් දෙයක් නොවන අතර එයට තවමත් බලයලත් ලෙස පිළිතුරු දිය නොහැකි නම්, එය කිසි විටෙකත් සිදු නොවනු ඇතැයි මම සිතමි. හොඳයි, මම හිතන්නේ අපි හැමෝම කරදර වීම නවතා බෝම්බයට ආදරය කිරීමට ඉගෙන ගත යුතුයි, අහ්, මම අදහස් කළේ එය සමඟ ජීවත් වීමටයි. +1 ලිපිය පෙන්වා දීම සහ මෙම ප්‍රශ්නය මෙතරම් කාලයක් තිස්සේ පැවති බව පෙන්වීම සඳහා.
සයිනෙටෙක්

1
Yn සයිනෙටෙක් ස්තූතියි! ඔව්, ලිපි සබැඳිය තැබීමේ අදහස ඔබට ලැබී ඇති ආකාරයටම වේ. මෙය ඉතා පැරණි කාල ප්‍රශ්නයක් නමුත් IDK මිනිසුන්ට තවමත් එය ලබා ගැනීමට නොහැකි වූයේ මන්ද? කෙසේ වෙතත් MS විසින් මෙම ගැටළුව සඳහා KB හෝ ප්‍රලේඛනයක් ලිවිය යුතුය :)
avirk

ඔව්, ඔවුන් එසේ කළ යුත්තේ, විශේෂයෙන් එය ඉල්ලන්නේ සංවර්ධකයින් පමණක් නොවන නිසා, සාමාන්‍ය පරිශීලකයින් පවා ඒ ගැන පුදුම වන බැවිනි. අවාසනාවට මයික්‍රොසොෆ්ට් හි ලේඛන බොහෝ විට එතරම් හොඳ නැත.
සයිනෙටෙක්

Yn සයිනෙටෙක් යූප්! MS ප්‍රලේඛනය බොහෝ විට උරා ගනී. නමුත් ඔව්, ඔවුන් හොඳ ලිපි කිහිපයක් ද ලියා ඇති අතර ඒවා ගණන් කළ හැකි බව මට විශ්වාසයි;)
avirk

6

හේතුව, සංවර්ධකයින් සඳහා වැඩසටහනක් බිට් 64 දක්වා ඉහළ නැංවීමයි. 32-බිට් ප්‍රකාරයේදී සම්පාදනය කිරීමේදී එක් ඩිරෙක්ටරියක් තුළ සහ 64-බිට් මාදිලියේ සම්පාදනය කිරීමේදී වෙනත් ඩිරෙක්ටරියක් තුළ වැඩසටහන පරීක්ෂා කිරීම සඳහා ඔවුන්ට කිසිදු අභිරුචි කේතයක් ලිවිය යුතු නැත; ඒවා පරික්ෂා C:\Program Filesකර බැලූ විට 32-බිට් මාදිලිය යටතේ ධාවනය වන විට මෙය ස්වයංක්‍රීයව C:\Program Files (x86)බිට් 64 වින්ඩෝස් මගින් වෙනස් වේ . ඒ හා සමානව, රෙජිස්ට්රි ඇතුළත් කිරීම් 32-බිට් සහ 64-බිට් වැඩසටහන් අතර හුදකලා වේ.

මෙය වැඩි අවධානයක් යොමු නොකර ඔවුන්ගේ සම්පාදන මාදිලිය 64-බිට් ලෙස වෙනස් කරන සංවර්ධකයින් නොදැන සිටීම ගැටුම් වලක්වන අතර පරිශීලකයින්ට ඔවුන්ගේ 32- හා 64-බිට් අනුවාද දෙකම ස්ථාපනය කිරීමට අවශ්‍ය යැයි සිතන සංවර්ධකයින් සඳහා විශාල වැඩ ප්‍රමාණයක් වළක්වයි. මෘදුකාංග එකවර.


අනුවාදය දෙකම එකවර ස්ථාපනය කිරීමට ඕනෑම වැඩසටහනකට අවශ්‍ය වන්නේ ඇයි? එක් උදාහරණයක්: Photoshop සහ IE වලට දේශීය .dll ගේ දිගු ඇත. ඔබට එකම ක්‍රියාවලියේදී 32- හා 64-බිට් කේත මිශ්‍ර කළ නොහැක, එබැවින් 32-බිට් අනුවාදය සඳහා ඇඩෝන 64-බිට් අනුවාදය සමඟ භාවිතා කළ නොහැක, සහ අනෙක් අතට. මේ අනුව, Photoshop / IE හට අනුවාද දෙකම ස්ථාපනය කිරීමට ඉඩ දිය යුතුය, නැතහොත් පවතින ඇඩෝන වල විශාල පදනම බිඳ දැමීමේ අවදානමක් ඇත.


2
+1 සාමාන්‍ය පරිශීලකයින්ට අනුවාද දෙකම තිබිය යුත්තේ මන්ද යන මූලික ප්‍රශ්නයට ඔබ ආමන්ත්‍රණය කර ඇත.
සයිනෙටෙක්

5

"වැඩසටහන් ගොනු (x86)" මත ක්‍රියාත්මක වන වැඩසටහන් WOW64 උප පද්ධතිය භාවිතා කරයි (වින්ඩෝස් 64-බිට් මත වින්ඩෝස් 32-බිට් යනු x64 ගෘහ නිර්මාණ පද්ධතියක් හරහා x32 යෙදුම් ධාවනය කිරීමට අදහස් කරන ධාවක සහ ඒපීඅයි සමූහයකි):

WoW64 උප පද්ධතිය සැහැල්ලු අනුකූලතා ස්ථරයකින් සමන්විත වන අතර එය වින්ඩෝස් හි 64-බිට් 64 අනුවාදවල සමාන අතුරුමුහුණත් ඇත. නවීකරණය නොකළ 32-බිට් වින්ඩෝස් යෙදුම් 64-බිට් පද්ධතියක ධාවනය කිරීමට අවශ්‍ය අතුරු මුහුණත් සපයන 32-බිට් පරිසරයක් නිර්මාණය කිරීම එහි අරමුණයි. තාක්ෂණික වශයෙන්, WoW64 ක්‍රියාත්මක කරනු ලබන්නේ ගතික සම්බන්ධක පුස්තකාල තුනක් (DLLs) භාවිතා කරමිනි:

  • Wow64.dll, වින්ඩෝස් එන්ටී කර්නලයේ මූලික අතුරුමුහුණත වන අතර එය දර්ශක සහ ඇමතුම් සිරස් හැසිරවීම් ඇතුළුව බිට් 32 සහ 64-බිට් ඇමතුම් අතර පරිවර්තනය වේ.
  • Wow64win.dll, එය බිට් 32 යෙදුම් සඳහා සුදුසු ප්‍රවේශ ස්ථාන සපයයි
  • Wow64cpu.dll, එය ප්‍රොසෙසරය 32-බිට් සිට 64-බිට් මාදිලියට මාරු කිරීම ගැන සැලකිලිමත් වේ

බිට් 64 පද්ධතියට බිට් 32 යෙදුම් "අනුකරණය" කිරීමට අවශ්‍ය වේ, වින්ඩෝස් විසින් වැඩසටහන් ගොනු ෆෝල්ඩර දෙකක් "වෙන් කිරීමට" අවශ්‍ය වන්නේ එබැවිනි.


7
නමුත් එය විවිධ ෆෝල්ඩර වලට දැමිය යුත්තේ ඇයි? PE ශීර්ෂය දෙස බැලීමෙන් ක්‍රියාත්මක කළ හැකි ගෘහ නිර්මාණ ශිල්පය තීරණය කිරීමට වින්ඩෝස් දැනටමත් පූර්ණ හැකියාවක් ඇත. ක්‍රියාත්මක කළ හැකි දේ පටවන විට එයට සුදුසු පරිසරය පැටවිය නොහැක්කේ ඇයි?
සයිනෙටෙක්

1
වැඩසටහනක් විවෘත කිරීමේදී ක්‍රමලේඛ අනුවාද දෙකකින් පරිශීලකයින්ට අවශ්‍ය ගෘහ නිර්මාණ ශිල්පය පහසුවෙන් පෙන්වීම මයික්‍රොසොෆ්ට් හි තේරීමක් යැයි මම සිතමි. මම අදහස් කළේ, මෙම ෆෝල්ඩර දෙක නොතිබුනේ නම් සහ එය පරිශීලකයින්ට විනිවිද පෙනෙන නම් (එය ස්වයංක්‍රීයව මාරු වුවහොත්), බිටු 32 හෝ 64 යෙදුමක් ධාවනය කරන්නේ දැයි ඔවුන් නොදනී, කුමන වැඩසටහන විවෘත කළ යුතු දැයි ඔවුන් නොදනී බිටු 64 ක් ධාවනය කරන්නේ නම් ..
ඩියෝගෝ

1
IE හි 64-බිට් අනුවාදය භයානක බවට කීර්තියක් ඇත.
සැමුවෙල් එඩ්වින් වෝඩ්

1
මතක සීමාවන් ඉක්මවා යාමට තරම් විශාල දත්ත කට්ටල සමඟ ඔබ වැඩ නොකරන්නේ නම් එම්එස් ඔෆිස් 32 භාවිතා කිරීමට නිර්දේශ කරයි. Office64 සමඟ වැඩ කිරීම සඳහා ද්විමය ඇඩෝන නැවත සකස් කිරීමේ අවශ්‍යතාව මම විශ්වාස කරමි; සාමාන්‍ය භාවිත අවස්ථා වලදී කිසිදු ප්‍රතිලාභයක් ලබා නොදීම මෙම තීරණය පිටුපස ඇත.
ඩෑන් ඊස් ෆයිඩ්ලිං ෆයර්ලයිට්

1
වැඩසටහන් ගොනු (x86) ෆෝල්ඩරයට පැහැදිලිවම ස්ථාපනය කර ඇති 64-බිට් වැඩසටහනක් සාමාන්‍යයෙන් පරිපූර්ණව ක්‍රියා කරනු ඇති බව මම සිතමි (සහ බොහෝ විට අනෙක් අතට). ක්‍රියාත්මක කළ හැකි ආකාරය තීරණය කිරීම සඳහා වින්ඩෝස් ෆෝල්ඩරයේ පිහිටීම භාවිතා නොකරයි.
හැරී ජොන්ස්ටන්

5

මෙහි සහ අන්තර්ජාලය හරහා පිළිතුරු තරමක් වෙනස් වීම සිත්ගන්නා කරුණකි. මෙම වැදගත් ප්‍රශ්නයට නිවැරදි පිළිතුරක් සොයා ගැනීම අභියෝගයක් වී තිබේ. අන්තර්ජාලයේ තරමක් අසත්‍ය තොරතුරු ඉදිරිපත් වී ඇති අතර එය ව්‍යාකූලත්වයට හේතු වේ.

මම සැලකිය යුතු පර්යේෂණ ප්‍රමාණයක් සිදු කර ඇති අතර පහත දැක්වෙන නිගමනයකට එළඹ ඇත.

  • යෙදුමක් ගබඩා කර ඇති තැන එය කිසිදු වෙනසක් නොකරයි. ධාවන වේලාවේදී, වින්ඩෝස් විසින් යෙදුම 32-බිට් හෝ 64-බිට් දැයි තීරණය කරන අතර සුදුසු ඩීඑල්එල් සහ රෙජිස්ට්‍රි අංශය ස්වයංක්‍රීයව භාවිතා කරයි.

මෙය ස්වයංක්‍රීයව සිදුවන අතර යෙදුම ගබඩා කර ඇති ස්ථානයෙන් ස්වාධීන වේ. වෙනම බිට් 32 සහ 64-බිට් ෆෝල්ඩර තිබීමේ වේගය, විශ්වසනීයත්වය හෝ වෙනත් ක්‍රියාකාරී ප්‍රතිලාභයක් නොමැත.

පෙරනිමි ෆෝල්ඩර දෙකකට වෙන් කිරීමට එකම හේතුව ('වැඩසටහන් ගොනු' සහ 'වැඩසටහන් ගොනු (x86)') ඔබට එකම වැඩසටහනේ අනුවාද දෙකක් තිබේ නම් (32-බිට් සහ 64-බිට් අනුවාදය), එය a අතිච්ඡාදනය වන ගොනු වෙන වෙනම තබා ගැනීමට සරල ක්‍රමය. මෙම අවස්ථාවෙහිදී පවා, සියලුම ගොනු නාමයන් අද්විතීය වන තාක් කල්, ඒවා කිසිදු ප්‍රතිවිපාකයක් නොමැතිව එකම ෆෝල්ඩරයේම පැවතිය හැකිය.

ඉහත නිගමනයට අවවාදයක් ඇති අතර එය දුර්වල ලෙස කේතනය කරන ලද යෙදුම් වලින් එකකි. යෙදුමකට කිසියම් මාර්ගයක් තදින් කේතනය කර ඇත්නම්, එය භාවිතා කරන්නේ එම මාර්ගය පමණි. රීතියක් ලෙස, මාර්ග කිසි විටෙකත් යෙදුමකට තදින් කේත නොකළ යුතුය, නමුත් ඉඳහිට ක්‍රමලේඛකයෙකු මෙම වැරැද්ද කරයි. මෙම අවස්ථාවේදී, වැඩසටහන දෘ c කේත මාර්ගය භාවිතා කරනු ඇත; යෙදුම ස්ථාපනය කර ඇති නාමාවලිය එය ඇත්ත වශයෙන්ම ගොනු සොයන ස්ථානයට බලපාන්නේ නැත.


3

ෆෝල්ඩර වෙන් කිරීම නිසා ස්වදේශික 64-බිට් යෙදුම් සහ WoW64 අවශ්‍ය වන ඒවා වෙන් කර තබා ගත හැකිය.

මෙය ප්‍රයෝජනවත් විය හැකිය - ඔලිවර්සල්ස්බර්ග් දැනටමත් පෙන්වා දී ඇති පරිදි - ඔබ වෙබ් බ්‍රව්සරයක 64-බිට් 32 සහ බිට් 32 ස්ථාපනය කිරීමට අදහස් කරන්නේ නම් (නිදසුනක් ලෙස), සමහර ප්ලගීන සහ ඇඩෝන ලබා ගත හැක්කේ එක් අයෙකුට පමණි දෙක.

ෆෝල්ඩර වෙන් කිරීමට සිදුවීම රෙජිස්ට්‍රි යළි හරවා යැවීම වැනි ශිල්පීය ක්‍රම භාවිතා කරමින් මෙම වෙන් කිරීම ස්වයංක්‍රීය කරයි .

ස්ථාපකය මඟින් රෙජිස්ට්රි කියවීමෙන් වැඩසටහන් ගොනු ෆෝල්ඩරය තීරණය කිරීමට උත්සාහ කරයි යැයි සිතමු, උදා: RegQueryValueEx .

ඕනෑම අවස්ථාවක, එය රෙජිස්ට්රි යතුර කියවීමට උත්සාහ කරයි

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

එය සාමාන්‍යයෙන් පෙන්වා දෙයි C:\Program Files.

කෙසේ වෙතත්, ස්ථාපකය බිට් 32 යෙදුමක් නම්, රෙජිස්ට්රි යළි හරවා යැවීම රෙජිට්රි යතුරට හේතු වේ

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion

සාමාන්‍යයෙන් පෙන්වා දෙන ඒ වෙනුවට කියවිය යුතුය C:\Program Files (x86).

මෙම විශේෂිත ෆෝල්ඩර නාම භාවිතා කර ඇත්තේ ඇයිද යන්නට පිළිතුරු දිය හැක්කේ මෙම තේරීම කළ පුද්ගලයින්ට පමණි. ඔබට අවශ්‍ය නම් සෑම විටම පෙරනිමි ෆෝල්ඩරවල නම් වෙනස් කළ හැකිය.

වින්ඩෝස් කෙසේ හෝ "ක්‍රමලේඛ ලිපිගොනු (x86)" නැති වැඩසටහනකට වෙනස් ආකාරයකින් ඉදිරිපත් වේද?

මම එය සැක කළා. බොහෝ ස්ථාපකයන් ඔබට අභිරුචි ස්ථාපන ෆෝල්ඩරයක් තෝරා ගැනීමට අවසර දෙයි, එබැවින් වැඩසටහනක් ස්ථාපනය වන්නේ කොතැනද යන්න ගැටළුවක් නොවේ .


කණගාටුයි, මම "අවසරය" "තහනම්" සමඟ මිශ්‍ර කළෙමි
වර්න්ෆ්‍රයිඩ් ඩොම්ෂයිට්

3

මට මෙහි ඇති ව්‍යාකූලත්වය විශ්වාස කළ නොහැක .. පළමුව මම පූර්ණ කාලීන සංවර්ධකයෙක්.

පැරණි 32-බිට් යෙදුම් සහ නව 64-බිට් යෙදුම් දෙකම ඩීඑල්එල් භාවිතා කරන අවස්ථාව විසඳීම සඳහා එම්එස් මෙය සිදු කළේය. පැරණි ක්‍රමය වෙනස් කළ නොහැක (System32, Program Files, ආදිය) එය නැවත සකස් කළ නොහැකි පැරණි වැඩසටහන් බිඳ දමනු ඇත.

එබැවින් එම්එස් විසින් බිට් 64 විශේෂිත වැඩසටහන්, එකලස් කිරීම් සහ පුස්තකාල ගබඩා කිරීම සඳහා ෆෝල්ඩරයක් නිර්මාණය කරන ලද අතර එමඟින් නව වැඩසටහන් නිසි පුස්තකාල සමඟ සම්බන්ධ විය හැකි අතර පැරණි වැඩසටහන් සාමාන්‍ය පරිදි ක්‍රියාත්මක වේ.

.Net DLLs එකම යන්ත්‍රයේ වෙනත් අනුවාද සමඟ සමපාත විය හැකිය. උදාහරණයක් ලෙස, ඔබට පුස්තකාලය 1.1.1, පුස්තකාලය 1.0.2, පුස්තකාල 1.1.0 යනාදිය තිබිය හැකිය. මෙය නිශ්චිත බිට් ප්‍රමාණයකට (32 හෝ 64) පමණි. වෙනම ෆෝල්ඩර භාවිතා නොකරන්නේ නම්, සෑම එකලස් කිරීමකටම 32 සහ 64 බිට් අනුවාදයක් තිබිය යුතුය. එකම එකලස් කිරීමේ බහු සංස්කරණ දැනටමත් අඩංගු නාමාවලියක් මෙය දැඩි ලෙස අවුල් කරයි.

මේ සියල්ල සංවර්ධක දේවල්. පරිශීලකයෙකු ලෙස මට එය සමඟ ගනුදෙනු කළ යුත්තේ වින්ඩෝස් 7 64 හි 32-බිට් වැඩසටහනක් සමඟ වැඩ කරන විට පමණි. තවද මම කැමති බිට් 32 අනුවාදයක් සහ එකම යෙදුම 64-බිට් තුළ ධාවනය කිරීමේ හැකියාව තිබීමයි. මම බිට් 64 කින් සම්පාදනය කළ යුතු 32-බිට් යෙදුමක වැඩ කරන විට, මම කරන්නේ සම්පාදකයාට එසේ කිරීමට පවසන්න. Dll නම් සහ අනෙක් සියල්ලම එලෙසම පවතී.

වින්ඩෝස් 95/98 සමඟ මෙය නොතිබීමට හේතුව එම පද්ධති බිටු 32 ධාවන කාලයක් අනුකරණය කිරීමයි; එය අව්‍යාජ 32-බිට් මෙහෙයුම් පද්ධතියක් නොවේ. එය බිට් 32 ක්‍රියාත්මක කිරීම ව්‍යාජ ලෙස නම් කර ඇත.

මෙන්න හොඳ අර්ථ දැක්වීමක්: http://searchwinit.techtarget.com/definition/thunk


1
කොහොමද කරන්නේ ProgramFiles(x86)` avoid clutter? There are still both 32- and 64-bit versions of files, so avoiding clutter doesn't make sense. There is no difference between putting them in \ 32 \ blah` හෝ \blah\32; කෙසේ වෙතත්, ඔවුන් වෙන් කරනු ලැබේ. ඕනෑම දෙයක් නම්, වර්තමාන ක්‍රමය මඟින් යෙදුමේ සංරචක වෙන් කරයි (තවද යෙදුම් කිහිපයක් CommonFilesසම්පත් සඳහා භාවිතා කරන බැවින් ඒවා අනවශ්‍ය ලෙස අනුපිටපත් කරයි . ඊට අමතරව, යෙදුම් ඔවුන්ගේ ඩීඑල්එල් පොදු බාල්දියකට දමන්නාක් මෙන් ඔබ ශබ්ද නගා ඇත. යෙදුමක් තබා ගැනීමට පහසුය 32-බිට් ඩීඑල්එල් 32-බිට් එක්සෙස් සහ එය 64-බිට් ඩීඑල්එල් 64-බිට් එක්සෙස් සමඟ ඇත.
සයිනෙටෙක්

ඔහ්, සහ 95/98 සම්බන්ධයෙන්, ඒ ගැන කිසිවක් කීවේ කවුද? එක්ස්පී හි පවා බිට් 16 උප පද්ධතියක් (එන්ටීවීඩීඑම්) තිබුණි.
Synetech

මම හිතුවා ඔයාට පැහැදිලි කිරීමක් ඕනේ කියලා. යෙදුම් කිහිපයක් පොදු ෆයිල්ස් භාවිතා කරනවාද? මට විවිධ යෙදුම් 35 ක් ඇත. System32 නාමාවලියට වඩා හවුල් සංරචක ගබඩා කිරීමට එය ආරක්ෂිත ස්ථානයකි. යෙදුම් කිහිපයක් මෙය භාවිතා කරන බවට ඔබේ ප්‍රකාශය විවාදාත්මක ය. ඔබව උපුටා දක්වමින්: "එකම පද්ධතියේ බිට් 32 සහ බිට් 16 වැඩසටහන් සඳහා ඉඩ ලබා දීම සඳහා ඔවුන්ට මෙම වළලු හරහා පැනීමට අවශ්‍ය නොවීය. ක්‍රමලේඛන ලිපිගොනු (16) හෝ එවැනි සමහරක් [...] දැකීම මට මතක නැත. සාධාරණ වුවත් ක්‍රමලේඛකයින්ගේ පහසුව සඳහා එය සිදු කරනු ලැබේ. හොඳයි, ඔව් .. ක්‍රමලේඛකයින් එසේ කරයි. අපි අයදුම්පත් ලියන්නේ සියල්ලට පසුවය.
ජේසන් ලොක්

හහ්?
Synetech

මෙය නැවත කියවා බලන්න .. ඔහු එය ඔහුගේ පිළිතුරු වලින් වඩා හොඳින් කීවේය - superuser.com/a/442253/142951 . ඔබ සංවර්ධකයෙකු නොවේ නම් ඔබට අරමුණ නොපෙනේ.
ජේසන් ලොක්

0

එය කිසිසේත් අවශ්‍ය නොවේ. උදාහරණයක් ලෙස මගේ වැඩකරන පරිගණකයේ එක් එක් යෙදුම C:\MyPrograms\අපගේ තොරතුරු තාක්ෂණ දෙපාර්තමේන්තුව විසින් ස්ථාපනය කර ඇති යෙදුම් වලින් වෙන් කර තැබීම සඳහා ෆෝල්ඩරයේ ස්ථාපනය කරමි.

ඇත්ත වශයෙන්ම, මෙය එක් යෙදුමක (32 සහ 64 බිට්) අනුවාද දෙකම ස්ථාපනය කිරීමට මා වළක්වයි, නමුත් මෙය මගේ නඩුවේ කිසිදු ගැටළුවක් නොවේ.

ඔබ වැඩසටහනක් දියත් කරන සෑම විටම පළමු ඩීඑල්එල් C:\Windows\System32\ntdll.dllක්‍රියාත්මක වේ. මෙම වැඩසටහන ඔබේ වැඩසටහන 32 හෝ 64 බිට් යෙදුමක්ද යන්න තීරණය කරයි. ඒ මත පදනම්ව ඔබව නැවත හරවා යවා ඇති WoW64අතර එය දැනටමත් පිළිතුරු කිහිපයක සඳහන් වේ.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.