配布する場合は生のexeファイルではなくインストーラーファイルで配布するべきなのでしょうか?
「べき」なんて決まりはありません。
OSSや特定の人が利用する程度のものであれば、zipに圧縮してそれを配布するのは珍しくないです。
そもそも、インストーラーが必要な状況と言うのはどういった時なのでしょうか?
は
実行すると、規約や、インストール画面で何らかのファイルをコピーしたり、設定したりを経て使えるようになります。
をしたい場合など。
別に自分で設定用のツールを作って同梱しても問題はありません。
なお、商用製品であればライセンスに同意してもらうプロセスが必要になったり、標準的なインストール方法に則るという意味で、インストーラを作成した方が望ましいです。
Wikipedia - Microsoft Windows Installer
マイクロソフトはサードパーティーに対しWindows Installerをインストーラフレームワークのベースとすることを推奨している。これは、インストーラの動作をWindows Installerに合わせることで、インストールされた製品のデータベースの一貫性を保つためである。(ただし、商用製品であっても独自のインストーラを利用しているものは沢山あります。)
アプリを「インストールする」目的は、そのアプリを「使える状態にする」事です。
不特定多数に広く配布するものであればあるほど、例えば圧縮ファイルの解凍方法がわからないユーザーが居ることを想定する必要があるなど、考慮しなければならないケースが増えます。
また、ネットワークを通じて配布した場合、そのファイルに代替データストリームにZone.Identifierが付与され、zipの場合は解凍するソフトウェアによっては解凍後のファイルにもその情報が受け継がれ、それがトラブルの原因にもなったりします。(exeはダイアログが表示されて実行許可をできても、そこから読み込まれるDLLがアクセスできない場合とかがある)
インストーラで配布する場合は、そのインストーラにデジタル署名を行うことで、Windowsが出すUACのダイアログ上で発行元の存在を保証し、ネットワークから取得したものであってもユーザーに安心してそのインストーラの実行を許可してもらう、ということでセキュリティを担保する、という意味もあります。
その他、そのアプリケーションが何らかのミドルウェアを使う場合は、そのインストールが事前に済んでいないといけないなど、動作の前提条件もありますが、それをユーザーの手作業に任してしまうのもリスクの一つになります。
また、Microsoft Store等を使って配布するストアアプリの場合は、MSIX形式でパッケージ化する必要があります。
MSIX ドキュメント