quote:
I do not recommend doing that! Although it _might_ be user-friendly at first sight, it actually isn't. This is because such frameworks can be updated and what not. You must realy be carefull if you do that and you must use proper methods to determine version numbers and what not. It isn't so strait forward as you might think at all! Code to do this all automatically is long and consists of many many checks and stuff. Not to mention the simple fact that some people do not want this kind of auto-install stuff going on without their consent!!! For all they know you are installing on older version of the framework (or even stuff you shouldn't install)...
That's a good point. I know all this and I really tried to be as user friendly as possible. The method I use to get the framework version is not a simple one. I does loop trough a couple of registry values to get the latest installed version. It does work with all the versions know at the moment (at least the version I did test with). If the framework isn't found, a new page is showed in the installer. It tells the user the framework isn't found, and that its recommended to install it. The user can uncheck the box, get's another warning when clicking yes, but can choose to not install the framework.
If it is checked the file is downloaded from the microsoft server, and it's the file microsoft marks as the right file for redistributing. Then it is installed.
About the versions, it isn't possible to overwrite a newer version in this method. If my check does fail, I'm sure the dotnetfx.exe file also does a check to see if there are already newer versions installed. And, if there are newer (stable) versions, the file may be updated once I think.
So, I think we have the same thougts about it, but instead of sending the user to the microsoft download center to download that file, I let my setup do it. It is a choice I made and I did think about it...
About that windows messenger thing, thanks for that registry key. I'll test a couple of things at the windows 98 machine tomorrow, I hope i can finally find the problem.