Why we need a Setup project?


Setup projects are used to create a installer package for the applications we developed. Setup project will generate .EXE and/or .MSI files which can be installed on server or client machines. By deploying an application, service, or component, we distribute it for installation on other computers, devices, or servers.

Example:-
1. Windows Forms Application
2. Windows Service Application

How to create a Setup Project?


To work with Setup Projects in Visual Studio 2019, we need to install an extension "Microsoft Visual Studio Installer Projects".

Extension: Microsoft Visual Studio Installer Projects


This extension provides the same functionality that currently exists in Visual Studio 2015 for Visual Studio Installer projects.
To use this extension, we can either open the Extensions and Updates dialog, select the online node, and search for "Visual Studio Installer Projects Extension," or we can download directly from below link.

Once installing the extension and restarted Visual Studio, we will be able to open existing Visual Studio Installer projects, or create new ones.

NOTE: This extension is designed to work with Visual Studio 2017 and Visual Studio 2019.

See below ink for more details and to download the extension.
https://marketplace.visualstudio.com/items?itemName=visualstudioclient.MicrosoftVisualStudio2017InstallerProjects#overview