I've done a fair amount of research and testing and have been unable to come up with a solution. Here's my problem:

A product I'm working on has thousands of old reports that use a .ttx file as their datasource. If you right click on the report in Visual Studio and go to Database -> Set Datasource Location, the Current Datasource is something like "C:\ttx folder\somefile.ttx". I add a XSD to the project and then select it under Project Data\ADO.NET Datasets\Crystal_Reports.NewDataSet click "Update" to swap it in for the new ttx.

My question is, is there some way I can do this whole operation programmatically? Most of the information I've found is related to connecting directly to a database and because of the nature of the product the user can not be allowed to do this. I do a SetDataSource(DataSet) where I've populated DataSet myself depending on what the report is. Then I use XSD files to define the datastructure and use that for the Datasource.