That Silverlight feature tries to solve bandwidth problems, avoiding downloading modules that your application will not use in that moment. The main requirement for this environment is that
all the modules required by your application should be hosted in the Web Server, so your
Silverlight application will be able to download them.
If I understaned correctly, you are trying to know when you are deploying your WPF application (using ClickOnce) the modules that it will be use, to only download/install these. I think that it
is not usually possible to define in this step. A possible workaround could be creating different ClickOnce installers based on the modules that the application will use (for example, if you are loading different modules based on Authentication (Roles), you
can create an installer for Administrators users and other for Common users). Or perhaps, you can implement a Shared folder on your network and host all the required modules by your application on it. Then, you can configure your module catalog to use a configuration
file to define the modules that your application will be use specifying the full path for each module.
In this way, you can simulate a similar environment like the Silverlight remote module loading feature: All the required modules are hosted in a “Server” and your application will “download” only
the required modules from it. You should take into account that this solution downloads every time the different modules from the Shared Folder. If you are thinking on implement something like this, probably, you find useful the following article in the documentation:
Populating the Module Catalog from a Configuration File
If you are interested in modifying or extending the Composite Application Library (CAL), the best way to do that is creating a custom Module Loader class to implement something similar to
the XapModuleTypeLoader class (defined inside the Modularity folder of the Composite.Silverlight project).
First of all, you should package your modules’ Dlls in a zip file or similar (a possible way to implement this is using any command-line zip tool and executing it in the post build event
of your modules).
Then you should implement the custom Module Loader class. It should implement the IModuleTypeLoader interface and should be able to:
Download the Zip file from an specific location.
Extract the content (you can find a lot of C# class to manage zip files surfing the web).
Load the packaged assemblies (your modules).
Also perhaps, you may want to read how the Prism-v2’s team recommends deploying WPF applications using ClickOnce:
Deploying WPF Applications with ClickOnce
Please, let me know if this helps.