I have an application which will be generic,

I want that user can customize my application as per his/her requirement via downloading some files (Patch files) via internet and can get the application customize as per his own way.
This will perfectly work when Generic application is already present on device and user is downloading patch files.

My question is how can I know at any time (downloading, installing) patch files that generic application is present on user's device or not?

One more thing this patch file should be added/updated to the application's private directory. Is it possible?