This matches my experience. Ages ago I was successful with the Borland tools to produce anything non-trivial. Eventually I worked a few months on a project with C# which included an installer. Somehow this seems very standardized but I was surprised to see that you had to register every single file in an xml file. On the upside, this would result in a really clean uninstall. So maybe part of this is also to prevent brittle software like in the past.