use the SQL Comparison SDK from Redgate (who I work for). This allows you programmatic access to the SQL Compare technology.
There must be a characteristic of a particular schema version you can check to determine which one it is? If so, you could run the appropriate script against that version to bring it to the next. Your installer just needs to include a chain of such migration scripts that get run in succession to take it to the next incremental version. Ideally you'd have version information embedded in the schema either via an extended property or in a version table, which gets updated upon successful application of a migration script.