A good start is my article on using EZSetup to build your setup.exe from the .CAB as this covers all the basics. You should then read the posts in the general developer forum on this site as they go in to most of the other issues such as dll's & multiple processor types. Note that you can treat ARM / XScale PocketPCs as one type assuming no XScale only stuff so it's only MIPS & SH3 you would want to cover in addition. There are also 4 posts in the GapiDraw forum which may help.