Thanks. I was thinking of RunOnce, but I've not had the opportunity to use it before. I'm pretty sure the .NET framework will have something in there too, but now that I think of it, it really shouldn't be a problem for my setup to run while it's tidying up.
And how could I use ExecWait since the .NET install will ask for a reboot? If the user hits reboot from there, my installer will never get a return value. Plus, in that case, all my installer's files will be left laying around. Is there any way to tell where the current working directory is?
I'm thinking I could write a small file or reg key the first time through that saves the current working directory and whether the .NET install was attempted. If on the second time through, the file exists and .NET still isn't on the machine, throw an error. Does that sound like the way to go?