Regularly (but luckily not often) I am confronted with a support question that boils down to installing DMX on a too old version of DNN. So I'll just make a note of how this works to clear up any confusion.
Any .net assembly (i.e. dll) can depend on other assemblies from which it can then use 'methods' to do its thing. A DNN module typically depends on DotNetNuke.dll from which it gets information about users, modules, portals, etc. When the module assembly is compiled the compiler makes a note of the version of the assemblies it depends on. So in the latest version of DMX (04.03.00) it notes that it was compiled with reference to DotNetNuke 4.6.2. Now, when the .net processor runs the module code it will enforce that the assembly DotNetNuke.dll is version 4.6.2 or higher. It is assumed that programmers can rely on 'upward compatibility' meaning when I ask for a 'User.Username' from dotnetnuke in version X, that that call will still work on versions higher than X. As a programmer I cannot assume it is present in versions lower than X. So the call to User.Username could potentially fail if used in conjunction with DNN version lower than X and my whole module might fail to work. This is why the .net processor will require DNN v 04.06.02 or higher to be present in the bin directory of your website.
What does this mean for you, the DMX admin? Well, you have to always check the communication surrounding a new DMX release for information regarding the minimum DNN version. That will tell you if you need to upgrade your DNN first.
Kind regards,
Peter Donker
Bring2mind