I guess by "installer" we're thinking different things. I was actually thinking of CF code that runs against source files to deploy those source files to the web. More like a CF-based "bootstrap" that takes a collection of source code and preps it to run... rather than a regular InstallShield installer for CF-based software. I wholly agree that this would be a _bad_ idea... and your comment about installers makes more sense.
Actually, I've run into something like your sourceless deployment comment, using encrypted CF to distribute SQL Surveyor. I've gone in to fix a bug and had to go back to source, edit, test, edit, test, recompile, redeploy... it does get to be a pain.
It's another tradeoff, since every IT decision that gets made is basically based on the idea of "the lesser of 2 evils" anyway...
It doesn't seem to matter what aspect of IT, or even life, you're involved in... there's always tradeoffs and *something's* always a pain. ;)
Laterz,
J
So your installer would run in the browser and install your CF source code to the current site. All you'd modify is maybe some folder names and so on. Then again, I see your point with the rest of what you said.
No offense taken J
With the exception of a _single_ entry in the CF mappings table, I can currently deploy my application with little more than an xcopy. There's no reason it needs to be more complex than that, and no reason it should. I don't want to have to run an installer every time I install an instance of my app, nor do I want to have to run an uninstaller to clean it up afterwards. If you're deploying any more than a few instances of an app, installers get extremely tedious. In fact, in a highly-secured environment, you frequently can't even obtain the execute permissions to run an installer! And let's not forget our brethren who use shared hosting – there's no _chance_ they're going to be able to log into a server and run a setup routine.
Besides, why would you want to have to modify source code in order to get the application to run for every deployment? Personally, I want all of my deployed code to be _exactly_ the same. I don't want different versions floating around, even if they differ only by an internal path. In fact, if you're doing a source-less deployment, then modifying the source like this during deployment isn't even always possible.
Finally, building an installer for a CF app is more complexity than I need or want – especially in a language that makes everything else so easy. I have personally built numerous non-CF, installer-based applications, but you can't expect every CF developer to do the same. In fact, I'd wager that it's over the heads of a large portion of CF's developer base.
Roland
--
---------------
-------------------------------------
Buy SQLSurveyor!
http://www.web-relevant.com/sqlsurveyor
Never make your developers open Enterprise Manager again.
