The framework can t be installed from within an MSI setup project. you can specify that it is a prerequisite but can only hope that the use will go through with the installation. If you are running a simple application you might get away with embedding the framework basic files in to your installation package.
Then comes SQL2005. If you can settle with SQL2005 express then the proper DLLs will be added to your project and no installation needs to be done. If you do need a standard edition then you can execute the SQL installation with predefined flags.
Creating a database is a little more tricky as the user should specify the database location and have the SQL server have privileges on that folder. I would strongly recommend NOT to create the database & run the scripts in the setup project but do it as a wizard the first time the program is executed.
The more you add up to the setup project the harder it will be to roll-back everything if something goes wrong in the installation.
Gilad.