У меня был некоторый опыт использования CAB пару лет назад, и я пришел к выводу, что он слишком сложный и имеет крутой курс обучения. Таким образом, преимущества, которые он предлагал, просто не стоили того, чтобы с ним работать. Однако, не верьте мне на слово, попробуйте следовать за некоторыми из их лабораторий и посмотрите, что вы думаете.
Джереми Миллер написал отличную серию постов в блоге о создании собственной CAB
http://codebetter.com/blogs/jeremy.miller/archive/2007/07/25/the-build-your-own-cab-series-table-of-contents.aspx
это стоит посмотреть, так как вы можете просто взять оттуда то, что вам нужно.
Я бы посоветовал продолжить ваш проект, а не строить каркас заранее. По мере развития проекта вы должны находить возможности для реорганизации кода в базовые классы и эффективного извлечения инфраструктуры из вашего приложения.
Таким образом, вы получите фреймворк, который отвечает вашим потребностям, и который будет понятен каждому в команде разработчиков. Что бы вы ни делали, не создавайте рамки заранее - там лежит путь к гибели: -)