Create a C++ dll (VC++ 2005) that exports __stdcall Navigate method and supports DownloadComplete event. The dll will encapsulate Firefox browser. The browser itself will not be shown. No third party components (except Mozilla source) will be used.
Running/installing embedded firefox browser will not require administrative privileges (e.g. No DCOM, no launching of processes, no registry access).
No installation (including Firefox) should be required except copying the dll and supporting files (if any).
Supporting files, if any, should either a part of Firefox installation or have to be copyright free with full source code.