Originally Posted by nbs11
Simply renaming adb to adb.exe will not do anything because exe and a unix executable file are totally different things.
It'll work if you use mono to run SuperOneClick.exe.
If you're not sure how mono works. C# appliations are just-in-time compilation (JIT) which means it can be recompiled as long as you have a valid framework for your operation system. It's very similar to Java. Microsoft has made the win32 framework (.NET Framework) and a group of developers have made an open source one that wroks with Mac and Linux.
I'm using the System.Diagnostics.Process.Start() command to call an external executable. In version v1.5, I'm looking for a hardcoded string "adb.exe". If you try to run the program in Mac with Mono it'll work fine but it'll look for the adb.exe file. By simply replacing adb.exe with the mac file, (and renaming it to match the string in my application), it'll work.
For example, if I used the command "echo test". It works fine in windows natively and also works in mac and linux (because they natively support the 'echo' command)
You can see more about it here:
Regardless, I recompiled a v1.5.1 for mac and linux support with the code snippet showing how minor and quick the changes were.