<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Why design-time components shouldn&#8217;t have install EXEs</title>
	<atom:link href="http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/</link>
	<description>Life, .NET, and Cats</description>
	<pubDate>Sun, 12 Oct 2008 06:38:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Joe White&#8217;s Blog &#187; Blog Archive &#187; A &#8220;Hello world&#8221; (un)DelphiX application</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-6341</link>
		<dc:creator>Joe White&#8217;s Blog &#187; Blog Archive &#187; A &#8220;Hello world&#8221; (un)DelphiX application</dc:creator>
		<pubDate>Sun, 02 Mar 2008 19:29:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-6341</guid>
		<description>[...] is available in two forms: as an installer, and as a RAR file. Component installers are a huge pain, and probably wouldn&#8217;t work with Turbo Delphi anyway. So I recommend downloading the RAR. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] is available in two forms: as an installer, and as a RAR file. Component installers are a huge pain, and probably wouldn&#8217;t work with Turbo Delphi anyway. So I recommend downloading the RAR. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn Oster</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5758</link>
		<dc:creator>Shawn Oster</dc:creator>
		<pubDate>Mon, 07 Jan 2008 20:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5758</guid>
		<description>Joe: Actually, I *have* automated it as well as I think I can by using Subversion and the excellent MultiInstaller which extracts, compiles and registers components that are inside of zip files.  When I get a new EXE installer I run it, commit the new files into svn and roll that into the MultiInstaller build.&lt;br&gt;&lt;br&gt;I'm not saying it can't be done, just that it's silly and a huge waste of time for both component developers and users to not have a unified, structured, standard way to distribute and install components.&lt;br&gt;&lt;br&gt;I'd be very curious to see a Mere-Moments guide to your process of installing components using just version control in an automated way.  The parts that give me headaches are correctly registering the library paths as well as getting the bpls built.  I generally consider it a Bad Idea to commit bin artifacts into source control so those bpls need to get built somehow, and some components can have up to 5 or 6 different packages that need to be compiled.  Perhaps I'm missing something but I fail to see how proper source control and a few registry entries will get those bpls built for me in an automated fashion.&lt;br&gt;&lt;br&gt;Anyway, I look forward to your ideas on this, I've beat my head against it for so long that it'll be good to have some fresh perspectives.  My goal is to someday just have a nice CruiseControl script that can fully build out a build environment.&lt;br&gt;&lt;br&gt;Oh, and the 4 page install guide is for our new developers that should know how to install components manually.  We make them go through it at least once so they know how.
</description>
		<content:encoded><![CDATA[<p>Joe: Actually, I *have* automated it as well as I think I can by using Subversion and the excellent MultiInstaller which extracts, compiles and registers components that are inside of zip files.  When I get a new EXE installer I run it, commit the new files into svn and roll that into the MultiInstaller build.</p>
<p>I&#8217;m not saying it can&#8217;t be done, just that it&#8217;s silly and a huge waste of time for both component developers and users to not have a unified, structured, standard way to distribute and install components.</p>
<p>I&#8217;d be very curious to see a Mere-Moments guide to your process of installing components using just version control in an automated way.  The parts that give me headaches are correctly registering the library paths as well as getting the bpls built.  I generally consider it a Bad Idea to commit bin artifacts into source control so those bpls need to get built somehow, and some components can have up to 5 or 6 different packages that need to be compiled.  Perhaps I&#8217;m missing something but I fail to see how proper source control and a few registry entries will get those bpls built for me in an automated fashion.</p>
<p>Anyway, I look forward to your ideas on this, I&#8217;ve beat my head against it for so long that it&#8217;ll be good to have some fresh perspectives.  My goal is to someday just have a nice CruiseControl script that can fully build out a build environment.</p>
<p>Oh, and the 4 page install guide is for our new developers that should know how to install components manually.  We make them go through it at least once so they know how.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim McKeeth</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5757</link>
		<dc:creator>Jim McKeeth</dc:creator>
		<pubDate>Mon, 07 Jan 2008 15:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5757</guid>
		<description>Zip is on its way out.  7Zip is the future.  Faster and better compression, and completely free (open source).  &lt;a target="_new" href="http://www.7Zip.com/" rel="nofollow"&gt;http://www.7Zip.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Why WinRAR is better then Zip&lt;br&gt;&lt;a target="_new" href="http://www.codinghorror.com/blog/archives/000798.html" rel="nofollow"&gt;http://www.codinghorror.com/blog/archives/000798.html&lt;/a&gt;&lt;br&gt;Why 7Zip is better then WinRAR&lt;br&gt;&lt;a target="_new" href="http://www.codinghorror.com/blog/archives/000799.html" rel="nofollow"&gt;http://www.codinghorror.com/blog/archives/000799.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Zip has server us well, but it is past its prime.
</description>
		<content:encoded><![CDATA[<p>Zip is on its way out.  7Zip is the future.  Faster and better compression, and completely free (open source).  <a target="_new" href="http://www.7Zip.com/" rel="nofollow">http://www.7Zip.com/</a></p>
<p>Why WinRAR is better then Zip<br />
<br /><a target="_new" href="http://www.codinghorror.com/blog/archives/000798.html" rel="nofollow">http://www.codinghorror.com/blog/archives/000798.html</a><br />
<br />Why 7Zip is better then WinRAR<br />
<br /><a target="_new" href="http://www.codinghorror.com/blog/archives/000799.html" rel="nofollow">http://www.codinghorror.com/blog/archives/000799.html</a></p>
<p>Zip has server us well, but it is past its prime.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bert Derijckere</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5756</link>
		<dc:creator>Bert Derijckere</dc:creator>
		<pubDate>Mon, 07 Jan 2008 12:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5756</guid>
		<description>When we made the switch to Delphi 2007 (from 5 and 7) I was put in charge of testing all of our ThirdParty components.  Since we have had sooooo many problems with different versions of thirdparty packages and even our own components,  I quickly decided to put everything in subversion.&lt;br&gt;I've put all source and compiled BPLs en DCUs.  I decided to register the compiled BPLs en DCUs with Delpi and the source just in the Browsing path.  This way, everyone uses the exact same versions of the components.&lt;br&gt;Then I created a simple program that reads in an XML file that specifies which packages are available (with a name, list of BPLs, List of Source Paths, list of DCU paths).  This list is then shown as a TCheckListBox, so you can just select which packages you want installed/uninstalled.&lt;br&gt;So, when everyone else moved to Delphi 2007, they just had to do a checkout and run my little installer (takes 1 second to install all packages) and they were good to go.&lt;br&gt;&lt;br&gt;Maybe CodeGear should make a publicly available installer that works in the same way?
</description>
		<content:encoded><![CDATA[<p>When we made the switch to Delphi 2007 (from 5 and 7) I was put in charge of testing all of our ThirdParty components.  Since we have had sooooo many problems with different versions of thirdparty packages and even our own components,  I quickly decided to put everything in subversion.<br />
<br />I&#8217;ve put all source and compiled BPLs en DCUs.  I decided to register the compiled BPLs en DCUs with Delpi and the source just in the Browsing path.  This way, everyone uses the exact same versions of the components.<br />
<br />Then I created a simple program that reads in an XML file that specifies which packages are available (with a name, list of BPLs, List of Source Paths, list of DCU paths).  This list is then shown as a TCheckListBox, so you can just select which packages you want installed/uninstalled.<br />
<br />So, when everyone else moved to Delphi 2007, they just had to do a checkout and run my little installer (takes 1 second to install all packages) and they were good to go.</p>
<p>Maybe CodeGear should make a publicly available installer that works in the same way?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicholas Brooks</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5755</link>
		<dc:creator>Nicholas Brooks</dc:creator>
		<pubDate>Mon, 07 Jan 2008 10:21:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5755</guid>
		<description>Totally agree.  In fact, I've been messing around today checking in Report Builder into svn.  Would've loved to just have a zip of the source.  Thank goodness for VMWare.  Not looking forward to InfoPower (ugh!).&lt;br&gt;&lt;br&gt;We're in the process of linking all third-party code to our projects in svn.  That way, all a developer needs on their workstation, is Delphi and svn.  The problem with this, which Shawn touched on, is that its ridiculous having to load/unload the design time components, especially when we have quite a few projects.  We'll probably have to write a little script that does the loading/unloading of the components (modify registry) but that requires Delphi to be closed.
</description>
		<content:encoded><![CDATA[<p>Totally agree.  In fact, I&#8217;ve been messing around today checking in Report Builder into svn.  Would&#8217;ve loved to just have a zip of the source.  Thank goodness for VMWare.  Not looking forward to InfoPower (ugh!).</p>
<p>We&#8217;re in the process of linking all third-party code to our projects in svn.  That way, all a developer needs on their workstation, is Delphi and svn.  The problem with this, which Shawn touched on, is that its ridiculous having to load/unload the design time components, especially when we have quite a few projects.  We&#8217;ll probably have to write a little script that does the loading/unloading of the components (modify registry) but that requires Delphi to be closed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe White</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5754</link>
		<dc:creator>Joe White</dc:creator>
		<pubDate>Mon, 07 Jan 2008 02:35:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5754</guid>
		<description>Hadi: I never said it was bad to offer an installer. I said it was bad to ONLY offer an installer. Make the source (or DCUs) available separately, for those who don't want the installer crap.&lt;br&gt;&lt;br&gt;Shawn: So why haven't you automated it? If you use their installers, it *will* take you four pages and at least half a day to get everything set up. But if you *don't* use their installer every time you set up a new computer -- if you use your revision control well -- then setting up a new computer is as simple as setting your PATH correctly and importing one or two Registry keys.&lt;br&gt;&lt;br&gt;In fact, I think that merits another Mere-Moments Guide. I'll start working on one.
</description>
		<content:encoded><![CDATA[<p>Hadi: I never said it was bad to offer an installer. I said it was bad to ONLY offer an installer. Make the source (or DCUs) available separately, for those who don&#8217;t want the installer crap.</p>
<p>Shawn: So why haven&#8217;t you automated it? If you use their installers, it *will* take you four pages and at least half a day to get everything set up. But if you *don&#8217;t* use their installer every time you set up a new computer &#8212; if you use your revision control well &#8212; then setting up a new computer is as simple as setting your PATH correctly and importing one or two Registry keys.</p>
<p>In fact, I think that merits another Mere-Moments Guide. I&#8217;ll start working on one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shawn Oster</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5753</link>
		<dc:creator>Shawn Oster</dc:creator>
		<pubDate>Sun, 06 Jan 2008 19:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5753</guid>
		<description>In one regard I agree yet in another I *highly* disagree, I may even have to say vehemently.&lt;br&gt;&lt;br&gt;Part of what I constantly struggle with is how to quickly deploy a build environment, going from a fresh install to a Delphi that can build our products with *minimal* user intervention.  Many components won't work unless you modify the library path and also need to be built/compiled and so if we only had a .zip that means hand adding all the paths into the library and hand building, which becomes a huge pain when you have at least a dozen or more components you need installed.  A zip file may be nice for the solo developer but it's hell when you step up to teams or the corporate level and start caring about automation and solid testing.&lt;br&gt;&lt;br&gt;So while I agree that it's better to have something that you can commit into version control there still needs to be some level of automation in installing it in order to build out full dev machines quickly.&lt;br&gt;&lt;br&gt;For years I've wanted CodeGear to create a unified component packager/installer that bundles components correctly and in a way that is both versionable as well being able to worked into an automated script.  Instead, because there is no standard and no solid guidelines from CodeGear, we have this hodge-podge of random zip files, massive installers, home-grown third-party utilities and everything in between.  Our corporate install document that we give to new developers trying to setup Delphi is 4 pages long and there are at least 6 distinct methods in which various components are installed.  It basically sucks.
</description>
		<content:encoded><![CDATA[<p>In one regard I agree yet in another I *highly* disagree, I may even have to say vehemently.</p>
<p>Part of what I constantly struggle with is how to quickly deploy a build environment, going from a fresh install to a Delphi that can build our products with *minimal* user intervention.  Many components won&#8217;t work unless you modify the library path and also need to be built/compiled and so if we only had a .zip that means hand adding all the paths into the library and hand building, which becomes a huge pain when you have at least a dozen or more components you need installed.  A zip file may be nice for the solo developer but it&#8217;s hell when you step up to teams or the corporate level and start caring about automation and solid testing.</p>
<p>So while I agree that it&#8217;s better to have something that you can commit into version control there still needs to be some level of automation in installing it in order to build out full dev machines quickly.</p>
<p>For years I&#8217;ve wanted CodeGear to create a unified component packager/installer that bundles components correctly and in a way that is both versionable as well being able to worked into an automated script.  Instead, because there is no standard and no solid guidelines from CodeGear, we have this hodge-podge of random zip files, massive installers, home-grown third-party utilities and everything in between.  Our corporate install document that we give to new developers trying to setup Delphi is 4 pages long and there are at least 6 distinct methods in which various components are installed.  It basically sucks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hadi Hariri</title>
		<link>http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5752</link>
		<dc:creator>Hadi Hariri</dc:creator>
		<pubDate>Sun, 06 Jan 2008 18:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2008/01/06/why-design-time-components-shouldnt-have-install-exes/#comment-5752</guid>
		<description>Don't understand why it's bad to offer an installer. There are still many developers that do not work much with packages and don't know how to go about installing them. &lt;br&gt;&lt;br&gt;If source code is offered, you can just install it anyway you want after the initial installation. However, for different reasons some component vendors don't even offer source (like Atozed) and therefore it doesn't make sense to not provide an automatic installer that takes care of the registering of the design-time packages and path modifications.&lt;br&gt;
</description>
		<content:encoded><![CDATA[<p>Don&#8217;t understand why it&#8217;s bad to offer an installer. There are still many developers that do not work much with packages and don&#8217;t know how to go about installing them. </p>
<p>If source code is offered, you can just install it anyway you want after the initial installation. However, for different reasons some component vendors don&#8217;t even offer source (like Atozed) and therefore it doesn&#8217;t make sense to not provide an automatic installer that takes care of the registering of the design-time packages and path modifications.<br />
</p>
]]></content:encoded>
	</item>
</channel>
</rss>
