Elikkäs, kasasin oman koneeni, asensin windows 7 home 64-bit ja kaikki ohjelmat yms toimii, paitsi pelit. En ole vielä yhtäkään peliä saanut toimimaan ilman dll ongelmaa. Ongelma korjaantuu kun käynnistää pelin hakemiston kautta, eli siis minulla Dpelin nimi- käynnistys). Jos laittaa pelin asennuksen yhteydessä pikakuvan työpöydälle peli herjaa jotain dll tiedostoa. Mistä tää tällänen johtuu? Esimerkkejä peleistä. The sims 3 Farcry 3 Mafia 2 GTA san andreas NFS most wanted CS source/Half-Life 2 Nämä nyt ekaks olen asentanu, kaikki pelit toimii, mutta työpöydälle on turha mitää noista laittaa.
Vanhemmat pelit saattaa tarvita vanhempia DirectX tiedostoja ja niitä ei oletuksena Vistasta uudemmissa käyttöjärjestelmissä tule mukana. Jos ei vielä ole asennettuna, niin asenna vanhempien DirectX versioiden tuki koneeseen: http://www.download.fi/jarjestelma/jarjestelmalaajennukset/directx_redistributable.cfm Huom! Tuon ajaminen ei siis vielä asenna vanhojen DX versioiden tukea käyttöjärjestelmään vaan se purkaa asennustiedostot valitsemaasi kansioon. Itse asennus pitää erikseen käydä käynnistämässä dxsetup.exe -tiedostosta kansiosta johon purit/purat tiedostot.
Katso löytyykö windowsin system32 kansiosta kyseisiä kirjastoja, jos ei niin asenna directx uudelleen. Jos sieltä löytyy ne, kokeile kopioida ne pelin asennuskansioon. Voit myös ladata ne dll:t netistä, mutta en suosittele, koska niiden mukana voi tulla vähän sitä sun tätä.
Tuota purkkafixiä ei kannata tehdä. Jos ne todellakin ovat siellä esim. system32 -kansiossa eikä peli sieltä niitä löydä, niin ympäristömuuttuja PATH on jostain syystä nollautunut ja sinne pitää lisästä tuo polku. Järjestelmä > Järjestelmän lisäasetukset > Ympäristömuuttujat... > Järjestelmämuuttujista löytyy Path ja siellä pitäisi lukea arvona mm. (voi ja pitääkin lukea siis paljon muutakin siellä): %SystemRoot%\system32;%SystemRoot% Nuo jos jostain syystä path-ympäristömuuttujasta puuttuvat, niin muidenkin ohjelmien kanssa tulee olemaan ainakin jossain vaiheessa paljon ongelmia. Puolipiste ; erottaa eri polut toisistaan ja prosenttimerkkien % sisällä oleva sana on aina jokin ympäristömuuttuja.
Windowsin oletusasetuksilla käyttöjärjestelmä etsii automaattisesti sitä dll:ää system32 kansiosta ja sitä kutsuvan exe:n kansiosta. Sillä ei ole mitään väliä onko se dll system32 kansiossa vai pelin asennuskansiossa. Windows maailmassa ohjelmien asennuskansiohin tungetaan kaikki kirjastot, joita ei normaalisti löydy system32 kansiosta, ja näin saattaa koneen kovolla olla monia kappaleita samasta kirjastosta. DX kirjastot löytyy yleensä oletuksena system32 kansiosta, joten niitä ei tungeta pelin asennuskansioon.
Miksi sitten yleensä edes ehdotit tuota kopiointia? Asennuskansioon ohjelman tai pelin mukana tulee yleensä (ei aina) kaikki ohjelman/pelin tarvitsemat tiedostot tai ohjelma/peli olettaa, että ne löytyvät jo käyttöjärjestelmästä valmiina. Ohjelmat/pelit eivät myöskään automaattisesti etsi noita tiedostoja mistään system32-kansiosta tai muualtakaan vaan olettavat, että ne ovat yleisesti käytettävissä ilman tarkempaa tiedostosijainnin määritystä (siksi on path ympäristömuuttuja). EDIT: Yksi mikä tulee mieleen, kerta pelit toimivat suoraan kansiosta mutta ei pikakuvakkeesta on se, että pikakuvakkeen työkansio on määritelty joksikin muuksi kuin pelin asennuskansioksi. Silloin peli ei tietysti löydä mitään dll tiedostoja eikä mitään muitakaan pelin tarvitsemia tiedostoja... tai sekin voi olla, ettei tässä ole edes kyse mistään pikakuvakkeista vaan pelin .exe tiedosto on kopioitu suoraan työpöydälle. Pikakuvakkeen mistä tahansa tiedostosta voi luoda vetämällä tiedoston työpöydälle pitäen pohjassa Control (Ctrl) ja Vaihto (Shift) näppäimiä. Pelkästään Vaihtoa pohjassa pitämällä tiedosto siirretään ja pelkästään Controllia pohjassa pitämällä tiedosto kopioidaan.
Eivät ohjelmat itse etsi niitä, dll on osa ohjelmaa (joka on yleensä kolmannen osapuolen kehittämä), ja se ladataan muistiin kun käyttöjärjestelmä avaa exe:n (ellei se ole jo muistissa jonkun muun prosessin käytettävissä). Windowsin oletusasetuksilla käyttöjärjestelmä etsii sovelluksen tarvitemia kirjastoja/dll:iä system32 kansiosta ja sovelluksen asennuskansiosta. Peleissä tulevat "dll virheet" tulee yleensä siitä ettei directx:ää ole asennettu.
Siis ihan niinkuin kymmenenvuotta aikasemminki, siitä mistä peli käynnyistyy ja toiminu aina, painanu hiiren oikealla, luo pikakuvake työpöydälle. Tän uuden koneen kanssa ja win 7 64-bit kans ei toimi. Tosin pitää ihan ajatuksen kanssa virkeänä lukea noita juttuja jos meinaa pelit saada työpöydällä kulkemaan, niin ehkä nopempi ku menee oma tietokone-d-pelit ja tällee.. Tai sitten peli itse luo pikakuvan työpöydälle niinkuin usein on. Ei toimi. Ja eikö noi dll tiedostovirheet voi korjata ihan manuaalisesti vaikka ilman internetyhteyttä, eli ei mitään dll fixer ohjelmia tms? Ja niinkuin yksi ammattilainen sanoi, voi tulla mukana vaikka ja mitä.
Hyvin huteralla mutu-pohjalla eli itse asiassa täydellisen tietämättömänä kyselen asioita tietäviltä, voisiko em. ongelmat johtua siitä, että pelit on ilmeisesti asennettu D-asemalle ja saattavat sitten tavoitella "vääräbittistä" dll-tiedostoa. Vai eikö? Tällaisiin ajatuksiin johdatti se, että Windows oletuksena asentaa 64-bittiset sovellukset Program files -kansioon ja 32-bittiset Program files (x86) -kansioon. Tällöin sovellus ei voi osua "vääräbittiseen" dll-tiedostoon.
Jos kansio ei ole kirjoitussuojattu, niin ei pitäisi edes antaa tuota vaihtoehtoa vaan ihan normaalin "luo pikakuvake" ja se pikakuvake tulee samaan kansioon missä pelikin on. Ei voi. Pelit voi asentaa ihan mihin haluaa ja ne kyllä sieltä toimivat. Todella harva peli vaatii oletuskansioon asentamisen toimiakseen. Tässähän pelit siis ilmeisesti toimivat muuten normaalisti, paitsi etteivät käynnisty itse luodusta pikakuvakkeesta.