DLL ongelma

Discussion in 'PC:n pelit' started by Tomppa26, Sep 5, 2014.

  1. Tomppa26

    Tomppa26 Regular member

    Joined:
    Jun 30, 2014
    Messages:
    193
    Likes Received:
    3
    Trophy Points:
    28
    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 D:(pelin 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.
     
  2. Daword

    Daword Regular member

    Joined:
    Jul 29, 2009
    Messages:
    1,940
    Likes Received:
    23
    Trophy Points:
    48
    oletko luonut normaalin pikakuvakkeen?
    voit myös katsoa mitä dll tiedostoa se herjaa?
     
  3. xbkrypt0n

    xbkrypt0n Active member

    Joined:
    Jun 16, 2010
    Messages:
    3,154
    Likes Received:
    120
    Trophy Points:
    73
    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.
     
  4. R4ndom1

    R4ndom1 Regular member

    Joined:
    Jun 6, 2013
    Messages:
    588
    Likes Received:
    52
    Trophy Points:
    38
    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ä.
     
  5. xbkrypt0n

    xbkrypt0n Active member

    Joined:
    Jun 16, 2010
    Messages:
    3,154
    Likes Received:
    120
    Trophy Points:
    73
    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.
     
  6. R4ndom1

    R4ndom1 Regular member

    Joined:
    Jun 6, 2013
    Messages:
    588
    Likes Received:
    52
    Trophy Points:
    38
    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.
     
  7. xbkrypt0n

    xbkrypt0n Active member

    Joined:
    Jun 16, 2010
    Messages:
    3,154
    Likes Received:
    120
    Trophy Points:
    73
    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.
     
    Last edited: Sep 15, 2014
  8. R4ndom1

    R4ndom1 Regular member

    Joined:
    Jun 6, 2013
    Messages:
    588
    Likes Received:
    52
    Trophy Points:
    38
    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.
     
  9. Tomppa26

    Tomppa26 Regular member

    Joined:
    Jun 30, 2014
    Messages:
    193
    Likes Received:
    3
    Trophy Points:
    28
    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ä.
     
    Last edited: Sep 16, 2014
  10. pateboe

    pateboe Regular member

    Joined:
    Jun 14, 2008
    Messages:
    413
    Likes Received:
    20
    Trophy Points:
    28
    Nyt on pakko kysyä. Onko pelit aitoja? :rolleyes:
     
  11. 1pertti

    1pertti Senior member

    Joined:
    Sep 10, 2008
    Messages:
    9,178
    Likes Received:
    1,225
    Trophy Points:
    243
    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.
     
  12. xbkrypt0n

    xbkrypt0n Active member

    Joined:
    Jun 16, 2010
    Messages:
    3,154
    Likes Received:
    120
    Trophy Points:
    73
    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.
     

Share This Page