Tuesday, March 17, 2009

Clarification on FAH-MUCI

I (the guy who coded FAH-MUCI) would like to clarify abit more on FAH-MUCI.
Firstly and most importantly, FAH-MUCI Beta 0.1 is called a beta for a reason. As such, critical bugs are bound to occur, some of which I am aware of.
Secondly, FAH-MUCI has not been installed on any system other than my personal testing PC.
Anyway, user MTM reported (http://foldingforum.org/viewtopic.php?f=47&t=6221&hilit=team+149135&start=15#p89825):
  • It did not detect any previous folding clients ( I have six, yet their installed clients have machineid 1 to 4 )
  • Installing as service ( didn't notice before ) isn't bad on it's own, but their uninstaller doesn't remove them.
  • It does contain premade config files, no additional processes where executed during installation.
Yes, we do monitor online forums regularly.
Time to reveal more about the code and to start a buglist:
  • The installer is supposed to look for FAH processes that are running (as of now, i have no idea how to make it search the entire computer for existing, non-running folding@Home clients), and they must have common names, which are currently coded as fah.exe, fah-console.exe, fah504-console.exe, fah502-console.exe, folding@home.exe, folding@home-win32-gpu.exe, and folding@home-win32-x86.exe. [UPDATE] The code works perfectly for the above-mentioned filenames. In the next release, i’ll add a search for existing, non-running FAH clients in its common installation locations
  • Yes, i know the service doesn’t uninstall itself. Darn i should’ve warned =X (regarding the description, i said it used the client’s service installation, i didn’t say it uninstalled properly)
  • The configuration process itself is interesting. Currently it uses the NSIS ExecCmd plugin (http://nsis.sourceforge.net/ExecCmd_plug-in) to use the stdin function to read lines off an input txt file, and feed it into the folding@home console client that it runs with -configonly (how could i get it to use the service function in the console client, that cannot be accessed any other way? =P). If there was a client.cfg you would’ve seen a message about it being copied in. Like i’ve mentioned before, the current input txt file is fixed for the simple reason that i have not created additional pages for users to select advanced options. Therefore, it doesn't “modify any data files” as specified in the EULA. Okay, i know its still a fixed configuration, but i mentioned under “what to expect in future releases” that i’m going to add it.
  • Installer messes up if there is no C: drive.
  • Installer should ask for admin privileges if there are none.
Btw i did try a certain program named MaxFAH before. And it didn’t even seem to install anything properly. Hmmph. But it was labelled *WIP*, like how i labelled mine beta, so that should be pardonable!
People just love to jump to evil conclusions about Team FTL no matter what. Of course, MTM has a right to check whether my code (which is written in a different language from his) used code from his program, even though it wouldn’t work if it did so. BTW MTM, i really respect the work you put into your own installer, it really is better than mine and i’m just experimenting around here, since you took years to come up with such a complex code and i took 1 day to come up with such a simple, incomplete code. [EDIT] I’m so glad i helped you to find a bug like you found for mine.
But then, that’s what this blog is for.
Oh. And by the way? By the way, these installers violate EULA:
http://devel.bluetentacle.co.uk/index.php?page=gui-based-installer
http://www.overclockers.com.au/folding/fah_installer.htm
Don’t believe me? read this: http://folding.stanford.edu/English/License
“You may not alter the software or associated data files.”. The OCAU and GUI-based installers create and edit client.cfg files which are strictly speaking, against the EULA. This is also the reason why they have been removed from the list of 3rd-party installers at the Folding Forum. I encourage you to clarify this at the Folding Forum if you are unsatisfied with the explanation.
Oh, heck, i should just release the source code.
Nope. Haha.