... so just going back to telling the user to take manual action, from bitter experience, is not the solution.
Surely not – but that's not what I would expect; what I propose would be as simple as the following:
– user downloads EasyBCD-installer
– user starts the installer
–> the installer will first check whether the necessary .NET is installed or not
––> if yes, the installer can install EasyBCD and that was it – the user does not have to do anything else ...

––> if no, the user gets informed (.NET 2.0 not found – what to do?) and can choose
–––> whether to quit and install .NET by himself – the user has to be told what he would have to install exaclty (exact version etc.)
=> program quits and does not install anything at all (even not some program pieces)
–––> or the user lets the EasyBCD-installer download and install .NET (and of course that should not be the wrong version ...)
=> program downloads and installs .NET first (and stops in case there is some problem with downloading or installing .NET) – and if that is done, it restarts with the EasyBCD-installer (again whith the .NET-check to be on the safe side – and then of course the question would not come again as .NET 2.0 should be installed now).
–––> third option could be to ignore the warning (of missing .NET) and install EasyBCD anyway; but i don't know whether that's so useful – maybe .NET is installed and not recognized; and if that third option would not be there, EasyBCD could not be installed even if it would run (to avoid that people shout: "that software is not installable")
I don't think that this would be too complicated or cause too much troubles for the user
Btw: as for now, first EasyBCD is installed, and afterwards .NET downloaded – what results in the problem that EasyBCD was not completely installed and therefore also is not uninstallable as important pieces are missing (uninstaller entry in program list of system etc.).