I have come to see an Installer class item in Visual studio. Why they have maintain an seperate item for Installer. Do they create any custom installers ?
The Installer class can be used to configure items such as performance counters and message queues as part of the installation of your code. They can be included with any assembly and the most basic way to install components related to an assembly is to use InstallUtil yourassembly.dll which would contain your code and custom installers. It is good practice to provide an uninstall option for anything added in this manner.
See here fore more information http://msdn.microsoft.com/en-us/library/z3xc61bs(VS.80).aspx
I also use them to override behavior in the base installer class, such that I can run validations based on input in the MSI wizard, create files and folders, etc.
For Windows Services, I think they are required.
One thing I use an installer class is for NGEN (native images) which speed up startup. The installer class calls NGEN.exe to put it in the native images.