Caveman_Dick さんが書きました:
「それ以外の場合は、カスタム アクションを作成する必要があります」。
そして、それは一言で言えば違いです。Visual Studio 展開プロジェクトは、基盤となる Windows インストーラーからユーザーを大幅に抽象化し、その機能の大部分を封印します。これは、宣言型のトランザクション プログラミング モデルであるはずの Windows インストーラの設計そのものに反します。
例として、Windows サービスのインストールを考えてみましょう。Windows インストーラーには ServiceInstall テーブルがあります。VDPROJ はこれを公開できないため、壊れやすいカスタム アクションを作成することはできず、インストーラーは洗練されておらず、堅牢性も低くなります。
一方、WiX は非常に薄い抽象化です。基になる Windows インストーラー テーブル データを表す XML XSD 要素と属性がすべてです。ビルド プロセスは、XML を SQL テーブルに変換するだけです。MSIにできるなら、WiXにも(99%)できます。
VDPROJ は恐ろしい間違いであり、Microsoft は最終的にそれを認めて殺してしまいました。現在、WiX には UI デザイナーがいないため (私は CodePlex で作成しました)、InstallShield Limited Edition (無料) も検討することをお勧めします。
ISLE と WiX を組み合わせて使用することで、両方の長所を活かすことができます。