There is the native tool in WIX package:
From my experience:
Used the following command line:
heat dir "C:\Folder" -cg SGroup -dr INSTALLDIR -out HeatFiles.wxs -gg -sfrag -srd
It generates single component for a file even if all files are located in the same folder. Later, I plan to do upgrades for the original msi, so it can be difficult to maintant the file with such big list of components. Also, when you need to do an update for the original msi the component GUIDs are changed. It may cause issues during installation of the update.
I prefer to use Mallow tool:
It was originally developed for WIXv2
But there is the newest version for Wix v3.
Uses the following command line:
mallow -d "C:\Folder" -t files.wxs -w INSTALLDIR -a SourceDir
It generates single component for all files in a folder. It allows to change original file and preserve component GUIDs - this is very usefull when you create update for your msi. In this case it adds change log in the top of the file.
you need to use the folowing command line:
mallow -d "C:\Folder" -s files.wxs -t files.wxs -w INSTALLDIR -a SourceDir