サイト定義は間違いなく複雑ですが、関連のない環境に展開する必要がある場合は非常に便利です。同じサーバー ファームにとどまっている場合は、サイト定義がやり過ぎかもしれません。ドメイン間を移動する場合 (つまり、テストと本番の場合、調べる価値があるかもしれません)。
サイト定義のもう1つの利点、特に。クライアントに提供する場合は、従来の成果物のように感じます。彼らは、カスタム サイトである一連のファイルを (できればソース管理に) 持っています。IT 部門は、SharePoint UI から作成された XML ファイルよりもはるかに温かい印象を受けると思います。
サイト定義のもう 1 つの利点は、サイトを構成するページをより細かく制御できることです。私見では、サイトテンプレートのサイト定義を介してマスターページとカスタム CSS を簡単に追加できます。
あなたが配信しようとしているサイトの「可動部分」は何ですか? その問いに答えることで、プロジェクトの構造をどう定義するかが決まると思います。
一般的に、あなたは正しい軌道に乗っていると思います。機能とソリューションは必須です。複雑なことをしようとしている場合、私は VSeWSS には近づかないでしょう。それはあなたがコントロールできないほど賢くしようとします。
とはいえ、それはあなたが何をしようとしているのかに大きく依存します。1 つのアセンブリを使用して GAC に展開するソリューションを構築し、vsewss でサポートされている機能のみを構築する場合は、問題ない可能性があります。
ただし、開発したい場合は、VSeWSS 機能フレームワークへのタイマー ジョブの配線が困難になるとします。また、ソリューションに複数のアセンブリが必要な場合。YMMV、しかし私はそれをジャンクして、より柔軟な解決策を見つけなければなりませんでした(こんにちはNANT)。
最終的に行う作業の多くは、XML 構成ファイルの作成とチェック、および再チェックです。MSDN のFeature Schemaリファレンス ページをブックマークしてください。これを読むのに多くの時間を費やすことになります。
最後に、はい、機能としてパッケージ化されたすべてのパーツがあれば、適切なインストール スクリプトを開発できるはずです。最終的に、スクリプトは、サイト構造の作成、ソリューションの追加と展開、および機能のアクティブ化に必要なSTSADM (いくつかの非常に優れた STSADM 拡張機能がここにあります) コマンドを呼び出す必要があります。バッチ ファイルから始めて、必要に応じて複雑にすることができます。