Macal Report post Posted November 28, 2007 Hi all. This post is from a guilmate, Eleuterio, who do not have yet permision to star a topic. I know about this problems and can be bigger than my mate says, but this problem to concerm more players. Thanks ____________________________________________________ Hello. I'm new, is this my first post in the forum. I apologize my ignorance (and my poor english too) I played without problems in EL 1.4.0 . I was always grateful for the "POOR MAN" option, because my old hardware. I think this was a new probe of Open Source spirit. But the 1.5.0 Windows-EL client can't run over win 9x OS's. When i attempt to run the new client I get the following msx box "El archivo EL.exe esta vinculado a un shell32.dll:SHGetFolderPathA de exportacion que no existe" Since, however my ignorance in the ms universe, in other conflicts with function calls i can do some "sollutions", i do a search about this topic, with no positive answers. I extract here some information from ms sites : http://support.microsoft.com/kb/227051/EN-US/ states "Important: SHGetFolderPath is new to the Windows 2000 API. If you call SHGetFolderPath from an application that can be installed on a previous version of Windows, then you will need to redistribute the file SHFolder.dll with your application." http://support.microsoft.com/default.aspx?...733&GSSNB=1 ....To use SHGetFolderPath on Windows 95 or Windows 98, you must redistribute the SHFolder.dll file along with the migration DLL. There are any sollution? Can any people help me? TIA PD: Win98 is not a good OS, ok, but is the only graphic sollution for very old hardware. Linux/x11 systems are much more demanding. In this third world (i'm from argentina) there are wery much people without new hardware access. Quote Share this post Link to post Share on other sites
The_Piper Report post Posted November 28, 2007 I think, you postet your solution already: http://support.microsoft.com/default.aspx?...733&GSSNB=1 ....To use SHGetFolderPath on Windows 95 or Windows 98, you must redistribute the SHFolder.dll file along with the migration DLL. which is downloadable here: http://www.microsoft.com/downloads/details...;displaylang=en Piper Quote Share this post Link to post Share on other sites
Entropy Report post Posted November 28, 2007 There are quite a few small Linux Distros, that do not require very new computers. Try http://www.edubuntu.org/ , if you can not make Win98 to work with the game. Quote Share this post Link to post Share on other sites
Curia Report post Posted November 30, 2007 Hello, I am also running Windows 98 and I can't get EL to work either. My brother Lumino was the one trying to fix it so I will turn it over to him, -Curia Hi guys, Lumino here, so I've been at this for some time. Here's what I did... First, I went to that link Piper indicated. Downloaded it, extracted, and got an .exe and a readme, ran the .exe which was supposed to install the shfolder.dll in the windows system dir. EL still didn't work. Then I went to a dll downloading site (was linked there by radu) and downloaded the shfolder.dll, tried placing it in the EL directory (with no luck) and then in the c:\windows\system directory, but I wasn't allowed to do the latter since you can't replace a file in use and the current shfolder.dll was in use. But I did open the current and the new files and they seemed identical although it is entirely possible that there were subtle differences. I tried going into command prompt and tried "regsvr32 shfolder.dll", got a "bad file name" error. I'm totally at a loss--Curia's computer seems to have the new shfolder.dll installed but EL still runs with the same error saying that the shgetfolderpatha() function isn't working. The exact text of the error message is: "The EL.EXE file is linked to missing export SHELL32.DLL:SHGetFolderPathA." I hit OK, and the following error message is below the first one: "C:\Program Files\Eternal Lands\el.exe A device attached to the system is not functioning." Any thoughts? Quote Share this post Link to post Share on other sites
robotbob Report post Posted December 1, 2007 This post is directed towards the devs part and not directly a solution for users but: (there is a comment, it is a known issue: * FIXME: A handler should be coded for Windows 98 backwards compatability!!"_ instead of just calling: if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, 0, locbuffer)) This most likely will be solve by dynamically loading SHFolder.dll \ SHGetFolderPath with LoadLibrary & GetProcAddress instead of the static linking to shell32.dll (which breaks win98). I don't have win98 running in any form, so I have no way to confirm it. With that said, its hard to support and OS that the creator, microsoft, doesn't even support themselves. Quote Share this post Link to post Share on other sites
Snosrap Report post Posted December 1, 2007 I am getting the same message on my second computer which runs windows 98se: The EL.EXE file is linked to missing export SHELL32.DLL:SHGetFolderPathA." I too went to the download Piper mentioned with same no result. Help please. Snos Quote Share this post Link to post Share on other sites
robotbob Report post Posted December 1, 2007 (edited) It will take a change to elpathwrapper.c, imho. No amount of tweaking on a win98 users part can solve the linking problem. (unless I missed something on msdn) Edited December 1, 2007 by robotbob Quote Share this post Link to post Share on other sites
The_Piper Report post Posted December 1, 2007 After reading some posts here and thinking a little bit about them, i dont think, EL should support such an old OS like Windows 95/98. Sorry, guys, thats my very personal opinion, if you have an older machine, you might want to think about to move on to a Linux distribution and use that instead of windows. You can get a Linux distribution for less money than a newer Windows OS. Some computer magazines publish CD's with a free Linux distribution, you can download it from the internet, which would cost you the price you pay for your bandwidth of course. Or you can buy/get for free a Linux system on CD's/DVD's from somewhere, like Unbuntu. Google is your friend. Or any other search engine you like Yes, that would need an install of Linux on your comp, but Linux can be installed without erasing Windows, all you need is enough free space on your HD. Maybe you (everybody who is still running an outdated Microsoft OS, like 95/98) want to give it a try. If you have enough free space on your disc, you (hopefully) should not lose any data, but can try to play EternalLands under some Linux versions. First idea to find out where to get a Linux version for (nearly) free is: try google. If someone has some experices with slower comps and Linux, please post your solution here Piper Quote Share this post Link to post Share on other sites
Entropy Report post Posted December 1, 2007 Well, right now we do not have the resources to make another Win98 branch to support Win98 users. However, it is an open source client, so you might want to ask one of your friends to take a look at it, and give you a binary without that function. Quote Share this post Link to post Share on other sites
Lumino Report post Posted December 1, 2007 I thought you can't modify the client without special permission? Or does this count as special permission? Lum Quote Share this post Link to post Share on other sites
Entropy Report post Posted December 1, 2007 That counts as special permission. Making stuff work doesn't require extra permisison anyway, so long as it doesn't add new features that are not approved. Quote Share this post Link to post Share on other sites
ttlanhil Report post Posted December 3, 2007 (edited) If that's the only problem, then compiling without NEW_FILE_IO should fix it... Although you will also lose other functionality. If the only problem is that call itself, then you could also edit io/elpathwrapper.c go to the first function: const char * get_path_config(void) and replace the lines if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE, NULL, 0, locbuffer)) && (strlen(locbuffer) < MAX_PATH + 5)){ with if(0){ Which will make it always fall over to using the local directory. For that matter, perhaps someone should check MSDN for the code for an OS version check; and add some code so it always fails over in old OSes Edited December 3, 2007 by ttlanhil Quote Share this post Link to post Share on other sites
Eleuterio Report post Posted December 3, 2007 [i apologize inconveniences, it's a automatic translation with little human work, because my poor English] My first post was also a provocation. This is the reason for this long delay. I wait to read many post that confirm the big number of 9x users. I think it is time to try an answer. THE PIPER put two posts here :in the first, in his arrogant ignorance (of rich child?), he said : "you posted your solution already:..". A true nonsense !!! I do not answer this. When another people clarifies the situation, in his second post, arbitrarily defined his interlocutors at convenience, and write a lot of lines who answer.....nothing.. Entropy, the official word from EL (i think) ,give me this solution: ...probe edubuntu . Good, i can not play (properly play) the game over x11 with 128mb ram and 500mhz micro ..i do many probes... i do not open any Window manager, only a simple x window with only a console (xinit)...I open another text virtual terminal, run top and kill a lot of processes , but... There are not for me another solution than win$9x (perhaps because my ignorance?)...i sorry... i love linux and free software too.... The second Entropy post is specifically, strict:..."we do not have the resources to make another Win98 branch to support Win98 users..." and sugest we do the work But...RESOURCES ??? ...I'm not a developer, i have not a cross compiler system installed; I have, not enought knowlledge for do this work, but I think this is simple for the developer team....but if you want, you can read the solution give at the same problem for the LyX team(..to at least fire up under Win98), about two years ago: http://www.mail-archive.com/lyx-devel@list...g/msg81176.html There is another valid possibility. In this hypothesis you thik: I want to kick off all this sptupid people who have't enought money for new hardware!...I hate poor and 3world's men!...This is our company (capitalist) policy!!... You can justific: ...free means free for freedom, not free for money...blah, blah, blah...(is good for this forget the original "free highways..." RHS reference example...) Well...Is this your thought?...you have rights... but be honest whit us please!! TIA Quote Share this post Link to post Share on other sites
The_Piper Report post Posted December 4, 2007 THE PIPER put two posts here :in the first, in his arrogant ignorance (of rich child?), he said : "you posted your solution already:..". A true nonsense !!! I do not answer this. When another people clarifies the situation, in his second post, arbitrarily defined his interlocutors at convenience, and write a lot of lines who answer.....nothing.. Well, so i am an arrogant rich child. Fine, i wont use that term when applying for a new job, but if you find, that describes me, its fine for me You posted the link to that *.dll from Microsoft which may be the solution for Windows 98 users. Maybe you should read a little bit more about that, i am not an expert for microsoft DLL's, but if it's even mentioned in some Microsoft documents how to solve problems with that DLL, it might be worth to read on. Or, just ttlanhil's solution. Compile without NEW_FILE_IO, if you can compile a CVS client. The second Entropy post is specifically, strict:..."we do not have the resources to make another Win98 branch to support Win98 users..." and sugest we do the workBut...RESOURCES ??? I am not Entropy, but i say it right now into your face: Windows 98 is from.. 1998 and now we have 2007. I, personally, see no sense in supporting an operating system which isnt even supported by Microsoft since years. In my very personal opinion it is much more important that EternalLands is running under Vista than on Windows 98 or even 95. Look forward, not backward. And thats why i said, try to install a small Linux distribution, you can get that for nearly free, and your chances to play EternalLands are way bigger than with Windows 98. Piper Quote Share this post Link to post Share on other sites
robotbob Report post Posted December 4, 2007 There is another valid possibility. In this hypothesis you thik: I want to kick off all this sptupid people who have't enought money for new hardware!...I hate poor and 3world's men!...This is our company (capitalist) policy!!... You can justific: ...free means free for freedom, not free for money...blah, blah, blah...(is good for this forget the original "free highways..." RHS reference example...) Well...Is this your thought?...you have rights... but be honest whit us please!! TIA If you would have read, he just said they don't have the time to support an OS almost a decade old the creator of which doesn't support. BUT I or others would have compiled you a binary that would run on Win98, thats until you went completely off the deep end with the "I'm a crazy anti market wack job and now will throw a piss fit, because they recommend I pursue a new free OS instead of my M$ 9 year old shitfest" You may want to repost something like "Can anyone make me a binary that will run on my Win98, I would be grateful, TIA" P.S. (Find someone you can trust, its not wise to be handed non offical binaries from anonymous sources, always preferable to compile it yourself) Quote Share this post Link to post Share on other sites