DCSIMG
Starting from the End: Deployment - Sparkling- Leo's Blog

Sparkling- Leo's Blog

Development Life Cycle

Starting from the End: Deployment

So you have your application and want to install it. They all the requirements about OS and the expected behaviour are connected to the real world and your deployment need to be able to do the job easily.

I have worked with some tools trying to check the different issues related to deployment, and there are many differences between applications.

  • If you work with Smart Clients or Web, or Services, etc.
  • If you need files, XML, Databases
  • If you need to install third party components or Framework
  • If you need to check Pre-requisites
  • If your deployment is for simple users, or Professional Services, needs UI, advanced issues, etc
  • If you want to support Web download and version checking
  • If your deployment is automatic connected to a Build
  • If you need to support OEM's and masquerade your deployment
  • If you have money for the tools or look for the chip one
  • If you have an integrator/developer that do the work for you

And there are probably a million of other needs or questions

Basically you arrive to the fact that deployment is a piece of code plus relevant mechanism, then you want to define requirements and even a small design, and even test the deployment, using different OS, etc.

Once there were 2 worlds: Installshield (IS) world and Open source tools world (InnoSetup)

Both of them claim the victory, the first one said I am the best tool, full dedicated to the issue

The second said, we have solved many situations, and we are free

From the developer point of view IS had a clear supremacy, the deployment developer environment, with real code and debugging vs. The open source has just scripts, so was more integrator oriented that are usually ready to work more with scripts that developer.

Then Microsoft entered with the Windows Installer (MSI)and change the roles, because at last we are talking about windows, so who can install an application in windows better than Microsoft?

IS deployment was based in a executable called setup.exe that works as a single unit, and reading the setup instructions and the code you wrote is ready to install the application without special needs of installations for it, it meant that this setup has the minimal references to external libraries, just C++ code.

The MSI was designed as a ORM database, they could do this in a user friendly way, but in fact they focused in the infrastructure and provided through Visual Studio some ways to deploy.

For those that worked with IS was not easy to move to this technology, even that IS try even now to make the MSI project transparent.

Using the opensource application had no change, the MSI infrastructure is not used at all.

It seems that the change that MSI brought make life more complicated that the simple projects before, the bad news are that is not finished, the good news are that more and more companies are making good deployment tools based on MSI.

MS is focused more in the infrastructure, giving others the opportunity to specialize, but the fresh wind come from others like the WIX project, combining the elasticity of XML with the power of MSI

In the next article:

A compare between the tools and what can you do to keep it simple (As you wish), quick (As the Team leader wish), and cheap (As the PM wish)

Comments

Yulia said:

ליאו

תתחדש על הבלוג :)

# December 27, 2009 8:52 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: