If you are using VS 2010, Installshield LE will suffice as it is integrated into VS 2010. If you have access to the Installshield IDE, there is nothing better for your packaging needs.
There are two ways to pack:
a) The LEGACY way b) The Windows Installer way, Basic MSI is the keyword here.
The LEGACY method involves creating your own scripts for:
a) Installing the files to their locations b) Writing registry entries, if needed c) Registering COM components, if needed d) Creating shortcuts etc...
Tools that can be used for the LEGACY approach:
a) NSIS - very good and has a scripting language of its own. b) Installshield - has a project type called Installscript Project. Installscript is the scripting language to be used.
The Windows installer path is a bit more complicated than LEGACY. You need to learn the basics of MSI technology, which can be complex. The created package has .msi as an extension. This file is a database that the developer configures, and the Windows installer takes care of all other things. This is called the TRANSACTIONAL installation procedure. Even the user interface presented during installation is configured in the database using tables such as Dialog, Controls, etc.
Tools that can be used for the Windows Installer approach:
a) Installshield - has a project type called Basic MSI b) Wix - Opensource and xml based. You configure appropriately named xml files and various utilities in the Wix package will help you to create an MSI package.
source share