Let’s separate what you are trying to accomplish here from the solutions offered so far. Why do you want to use Chef to create an installer? What is the goal of that exercise?
I ask because Chef is an automation framework, it’s not quite the right tool to be using to create a package of any sort. You definitely want to look at projects like our own Omnibus or FPM for building packages.
Habitat is a very new thing and while it creates “packages” they definitely aren’t on the same order as what you think of as packages or the goal of the initial question. Habitat is a packaging solution for future looking packaging where the automation travels with the application.
If you’re just starting with Chef, then building an installer based on it is not the best path or even a good one at all. I’d do some reading about the individual solution and figure out which one best fits the needs you have currently.