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.

5 comments:

MtM said...

Cecked that statement, indeed it aborted when running client where found :)

Checking for non running clients is going to be hard, I would advice doing a registry check for PandeGroup or Folding@Home.

If you use the execcmd plugin, you could easilly use the nullsoft installer to allow people to use their own name and team. It would alleviate allot of the bad attention your team has gotten with the virus installer on the p2p sites/torrents. The problem still is though, I don't see any process being started. And, it takes longer then your installer lasts to configure the clients, trust me I would know how to write to their standardin, it's what I been doing a long time ;)

maxFAH did work, but I never completed it. Wait a couple of days and come to the folding forums to see if it still 'doesn't work'.

MtM said...

Addendum:

[quote]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.
[/quote]

I'll be polite and not mention my code consists of allot more then just something which unzips x number of clients based on the processor count, nor did it take years I said the idea is years in the making. The code itself has been started from scratch to many times already.

Your 'code' doesn't seem to be anything but a nullsoft script, and as said, I can not see it opening any child processes, even if it did, if you just wrote to standardin an not check standardout, that's not really fool proof.

you're to do list is an exact copy of my maxFah program, doesn't matter, if you pull it off I would be just as happy ;)

Team FTL said...

Ah yes i did read your site on the installer you're working on. Here's how i did it anyway:

ExecCmd::exec /TIMEOUT=1000 '"$INSTDIR\2\Fah.exe -configonly" <2.txt'

THe ExecCmd opens the console in a hidden manner and reads off the information for stdin from a text file. I'm currently working on creating option windows during the installer for configuration, so that the installer can write the options to the stdin text file which is then fed from ExecCmd to the console =X. the stdin text file (in this case, 2.txt) is then deleted after configuration.

Thanks for the idea on searching for installations~ regarding the service i think i'd be able to call a plugin to search for the FAH service and uninstall it and build it into the installer.

Team FTL said...

Personally I only saw your website only yesterday when you started bugging me.

Your comments about me ripping off your codes and ideas are both offensive and inaccurate, but I guess that's just your personality. I appreciate the feedback and ideas, but please don't push your arrogance too far.

In any case i wish you good luck in your program, since you say that it would be functional in a few days time.

wowfoldingfan said...

Wouldnt it make sense for everyone working on fah installers to work together? Particularly if the ultimate goal is to expand the folding userbase.