Creating and manipulating packages

As developer you are lazy like hell. As a matter of fact, my main goal every day is to keep my mouseclick below the 1000 ;). Two advantages: my collegues are actually the same and my boss knows that he shouldn’t try to make us click more on daily base :P. Rather then clicking you prefer writing code!
So this occurs: you have to transfer some stuff from one installation to another. And the items are looking quite the same (seems neccesary: you have to filter the items) then you can easily write your own packager.
Look down here:
//Use this namespace:
using Sitecore.IO.Packager;

//Look out here you are actually creatin the place of the package in the constructor:
//You can read the destination from the web.config, have fun :P
Package myPackage = new Package("//data//packages//myPackage.zip");

//We are going to add the items
//This looks like it happends async but actually I haven't found out yet
myPackage.Items.Add( (Sitecore.Data.Items.Item) yourItem, (bool) includeChilden);

//We are going to add the files
//This looks like it happends async but actually I haven't found out yet
myPackage.Files.Add("yourPathToTheFiles//files.ext");

//Close the package so all handles are actually closed:
myPackage.Close();

Is this actually so hard? I guess not. Ofcourse you have to walk trough the items and files but that won’t be so hard to :). Happy packaging!