Joe,
Thank you for the kind feedback. Of course, now I have to make it suck less. I would enjoy having a tool used in your project.
A better GUI will have to come later but I bolted on a giant "New File Mask" button so the list of masks is now expandable. I guess that makes it future proof! I also replaced the logo. Nothing fancy but it will do for the moment.
You are correct that it was running in a single thread. The files are copied in a background thread now. Try it out if you have a moment and let me know what you think.
Still no profiles... I had looked at the XML files used by UnLeashIt and they seem simple enough. If I do add profiles, it should not be a problem to make the XML compatible. Still, even without profiles all you need to do to deploy mojoPortal is select your directories and click the deploy button.
http://www.moneybuddy.ca/releaseit/ReleaseIt.exe
I am very flattered that you would ask me to help with a project. Obviously you have not seen my code. :-) It is an interesting proposal and I agree that it would make mojoPortal much more accessible. I also admire your committment to cross-platform. Sadly, I have a shortage of time myself and I not a professional developer.
I imagine that your project idea has the potential to grow quite complicated. Were you thinking that the zip files would be embedded in the installer or would it grab them off the web? A quick and dirty solution would be to just extract the files into a directory without officially "installing" them. To do an actual install on Windows would mean getting them into "Add/Remove Programs" in the control panel. On Linux you would need first to detect what package manager to use (eg. apt-get/deb on Ubuntu or RPM stuff on Suse/Red Hat. On both systems you would need to test for dependencies with .NET or Mono and again figure out how each system handles those packages.
The configuration stuff would be very useful of course. In fact, this would be useful even without the rest of the installer. II can see using it when compiling from source as well as a stand-alone tool. Perhaps a profiles idea like from UnLeashIt would work so that connection strings and the like can be easily restored into a mojoPortal installation. I would have used this myself a few times recently. Some of the same complexity as above exists of course. Would you just want to assume IIS on Windows and Apache on Linux or would the web server have to be detected?
If someone was going to do this, I think it might make sense to break it into pieces. For example, you could start with a tool that just automated the process of downloading an extracting the correct zip files. This would have saved somebody like me from downloading the wrong files for Mono for example. Next, you could build a tool to automate some of the configuration. Next you can start combining tools. For example, you could integrate some of the configuration automation into a tool like ReleaseIt for developers. The full blown installation soup to nuts stuff can come after the building blocks are in place.
Maybe I am thinking about it in the wrong way but I think this way you could at least make progress and have something better in baby steps. The enemy of a good plan is the dream of a perfect one they say and I worry about doing too much at once. Along the way, a user of one of the partial tools might actually become interested enough to help improve them. Eventually it could be quite slick. What are your thoughts?
Of course, I should make sure I finish my own projects though before I sign up for more.