[Answering follow-up questions placed in the comment to Application for FlashDisk or Pen Drive
- XP SP3 is good to install .NET Framework v.2.0 to v.4.0.
With Mac OS X and Linux, you will need Mono, absolutely required. With Mac OS X, you might want to use Mono + Monobjc.
Besides, for convenience of testing and debugging, it's good to have Mono on Windows development machine.
- I have no idea where you want what services or client parts. In general, the situation is pretty simple:
You can develop distributed application and use CLR and develop applications compatible with .NET and Mono, and freely combine Mono or .NET on different or even same machine. If two parts of distributes applications communicate, any of those part can be executed under either .NET or Mono, on any of the supported platforms.
By the way, it's not clear what do you mean "off-line"? Do you mean local network only, or no network at all? If there is no network, your client and server parts are on the same machine. Well, this is possible, of course.
- I never tried. Theoretically speaking, it could be possible, but can be more or less difficult. You need to learn all aspects of setup, draw your conclusions and try to see if it is possible.
The problem is: your host system does not "know" what's on a removable drive. The binding to the installed software is usually done through the system Registry. You could think of something like "temporary installation" (Registry only), but I'm not sure there is enough documentation to implement such exotic settings. I also don't know where do you want to use client or server part of the RDBMS and what should it mean "offline".
For ASP.NET Web applications, you can also use Mono. You should use Apache HTTP server with the module named "mod_mono". Please see:
Both are also multiplatform and Open Source.