You can have CruiseControl.net call either PowerShell or Batch file. More info on the CruiseControl.net config to call PowerShell or Batch file can be found here.
From the PowerShell or Batch file you can use PSExec to install MSI file for a remote server. As for running database scripts on remote server you can use SqlCmd .