User already exists error
The reason for this is that when a database is created by someone who isn't a member of the sysadmin fixed server role their account is setup as the database owner.  Your user will need to be granted the rights to change the database owner to another owner.  However this then creates a new problem, because that user isn't a member of the database owners group any more you'll now need that user to be a member of the security admin fixed server role so that it has the rights to change the permissions within the database.

The better option hear would be to have the customer (or whoever is installing the software) to be a member of the sysadmin fixed server role while the software is being installed, or at least require that they are using a different account than the applications account and that the account has database create and security admin permissions at the instance level.