Nüüdseks olete loodetavasti näinud minu funktsiooni 64-bitises Windowsis viimases väljaandesPC Pro. Ja võib-olla saite mõningast mugavust minu vinge kinnitustest, et te ei pea rakenduste ühilduvuse pärast liiga palju muretsema. Peaaegu kogu kaasaegne 32-bitine tarkvara peaks Windowsi 64-bitises väljaandes installima ja laitmatult töötama.
Muidugi, alati, kui kirjutate midagi sellist, palute probleeme.
kuidas näidata Google'i lehtedes kalle
Muidugi, just siis, kui meie septembrinumber jõudis ajalehelettidele, avastasin sellePC ProSisemine CMS-klient töötas ainult - arvasite ära - 32-bitise Windowsiga. Püüdes oma 64-bitiselt töölaualt uut arvustust luua, saadi puuduliku COM-klassi tehase kohta ainult ebaselge viga.
Lippude lehvitamine
Väike kaevamine paljastas probleemi. Mõni ulakas arendaja oli kirjutanud täiesti kehtiva 32-bitise .NET-i rakenduse, kuid oli unarusse jätnud selle märkimise konkreetselt 32-bitise koodina. Seetõttu käitas 64-bitine Windows seda 64-bitises režiimis, põhjustades vigu, kui tarkvara ei pääsenud oodatud 32-bitistele süsteemiressurssidele.
Õnneks on see lihtne probleem lahendada. Microsofti oma CorFlagid käsurea tööriist - osa .NET Frameworkist - võimaldab teil muuta täidetavate failide päisemärke, sealhulgas seda, mis määrab, kui rakendust tuleb käivitada 32-bitises režiimis. Selle lipu määramine meie andmebaasirakenduse jaoks oli lihtne kirjutamise küsimus CorFlags application.exe / 32bit +
Jasiin- üks 32-bitine rakendus, mis töötab ideaalselt 64-bitises Windowsis. Tasub proovida, kui teil on kunagi sarnane probleem.
kas saate kasutada PS4-s ebakõlasid?
Milline programmifailide kaust?
Sel teemal olen siin seotud probleemiga, millega me kokku puutusime, kui hakkasime 64-bitist Vistat töötavaid arvuteid üle vaatama. Sel juhul oli tülikas tarkvara keegi muu kuiPC Proreaalse maailma võrdluspakett. Kõik näis olevat ideaalselt installitav, kuid testide käivitamisel ei leitud ressurssi vigu.
Hakkasin probleemi jälitama SysInternalsi hädavajaliku abiga Protsessi jälgimine kasulikkust ja taaskord osutus seletus halastavalt lihtsaks (tegelikult nii lihtne, et tundsin end natuke rumalana, kuna polnud seda ise välja töötanud).
Erinevaid faile ei leitud, kuna 64-bitises Windowsis on programmifailide kaust reserveeritud ainult 64-bitistele rakendustele. 32-bitised programmid installitakse kausta nimega Program Files (x86). Meie testskriptid hõlmasid kodeeritud teid, mis ebaõnnestusid, kuna meie 32-bitised rakendused ei olnud tavapärases asukohas.
twitter, mis võib teile huvi pakkuda
Sellise probleemiga kokku puutudes saate selle hõlpsalt lahendada, eemaldades selged viited C: Program Files -ile ja kasutades selle asemel% ProgramFiles% (see tark keskkonnamuutuja peaks lahendama kas Program Files või Program Files (x86) sõltuvalt kas sellele helistav protsess on 64- või 32-bitine). Kui te ei pääse teede muutmise juurde allika juurde, on kiire ja räpane lahendus 32-bitiste failide käsitsi kopeerimine programmifailidesse. Kui olin selle teinud, jooksid meie võrdlusalused probleemideta.
Nii et teil on see olemas: 32-bitised rakendusedtegematöötab 64-bitises Windowsis ... kuid mõnikord peate nende käivitamiseks ümber töötama mõne programmeerija eelduse!