The long Exec is installing .NET 3.5, and out script is based off this one: http://www.blackhillsoftware.com/blog/2006/06/26/using-innosetup-with-the-dotnet-fra
Exec
You can simply hide the installer wizard form by calling
WizardForm.Hide; Exec(...); WizardForm.Show;
though I agree that this is not really pretty.