I have an Inno script that checks for the .Net 4.0 Client Framework and will run the 4.0 FW WebInstaller (bundled in my installer, ran from temp directory) if the end user does not have the 4.0 FW installed. This works fine, but when I test it on an XP VM that does not have the 4.0 FW installed, I notice that it does not show the 4.0 FW installer on the screen, I can see it running in the taskmanager but it does not show any kind of progress or the 4.0 installer's window at all, thus it looks like my installer is hanging. I would like it to show the 4.0 FW installer window, but I don't know what I need to add to my script to do that.

Code:
[Files]
Source: "dotNetFx40_Full_setup.exe"; DestDir: {tmp}; Flags: ignoreversion deleteafterinstall

[Run]
Filename: {tmp}\dotNetFx40_Full_setup.exe; Description: Install Microsoft .Net Framework 4.0;    Parameters: /q /noreboot; Flags: skipifdoesntexist; Check: ShouldInstalldotNET40

[Code]
var dotNET40Missing: Boolean; // Is the .NET 4.0 Framework missing entirely?

function InitializeSetup(): Boolean;
begin
    // Test the presence of .NET 4.0
    if (not(RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'))) then
        dotNET40Missing := True;

    Result := True;
end;

function ShouldInstalldotNET40(): Boolean;
begin
    Result := dotNET40Missing;
end;