Warren, as I've spent some time on this please do not hesitate to ask questions. I'm currently building a package which will be used for initial installations for our customers.
I've used a mix of the wiki site and rssFeed/utilities projects when I was looking into this.
In order to create a new section you need to add a row to the UmbracoApp table.
Something like this
Code:
INSERT INTO [umbracoApp]
([sortOrder]
,[appAlias]
,[appIcon]
,[appName]
)
VALUES
(99
,'mySection'
,'myIcon.gif'
,'My Section'
)
To add the first level treenodes I add a line to the umbracoAppTree table
Code:
NSERT INTO [umbracoAppTree]
([treeSilent]
,[treeInitialize]
,[treeSortOrder]
,[appAlias]
,[treeAlias]
,[treeTitle]
,[treeIconClosed]
,[treeIconOpen]
,[treeHandlerAssembly]
,[treeHandlerType])
VALUES
(0
,1
,0
,'mySecion'
,'helloWorld'
,'Hello World'
,'folder.gif'
,'folder_o.gif'
,'umbracoMySectionDll'
,'myClass.MyMethod')
The second level tree nodes are created by the umbracoMySectionDll which has a a class called myClass and a method called MyMethod. The MyMethod must implements the umbraco.interfaces.ITree interface. If you do not have access to Visual Studio 2005 you can use Sharp Develop which is an open source C# IDE. You can download it here
http://www.icsharpcode.net/OpenSource/SD/Download/.
The SQL scripts are executed by the user control called when adding the package. I also recommend that during installation you check that the the tree and app entries doest not exsist in the tables before adding them, just incase someone tries the import twice. I suggest that you create an undo/uninstall sql script from the beginning as this will help you test the installtion with less hassle, besides this will also help you creating an uninstall function.
Good luck,
Harald Schult Ulriksen.