Idea to drasticly reduce footprint

  • Thread starter Thread starter Andrew Burns
  • Start date Start date
A

Andrew Burns

So I had an idea and wondered if anyone else has already tired this or
can think of a reason that it might not work.

My device is single purpose (i.e. it runs my app only and not anything
else like a kiosk or IE, MSTSC, etc.) the problem is my app is a .NET
app so the footprint hit is huge. However I know I am not using all the
features of the framework so I know a lot of fat can be trimmed.

So my idea is this: let FBA run as usual and get the unit up and
running. Then do a filemon log (including boot time) and perform every
possible action with my app (for printer and database access, etc) take
the filemon log and delete everything that does not appear on it.

Ideas? Am I missing something major here?
 
Andrew,

Your idea would work just fine if and only if you spend some [lots of] time
testing your application after you deleted all the files (libraries, exes,
drivers, help files, etc.). The clue here is your embedded application
testing. You can delete any files at run time but then you should go through
all the features of the app as it is really easy to miss something with such
huge beast like .Net.

Btw, with .Net (especially if you plan to do the boot looging) the filemon
log will be amasinly huge. It is likely goingt o be so huge that you won't
be able to preview it manually. (but it should be relatively easy to write
an app or script to processs the log automatically)

Many of us have gone through the approach you describe in order to opmize
our runtimes. Maybe not the entire boot logging (too laborous) but at least
logging of some applications or pieces at run time.

There is another approach you may want to consider. Run your application at
run time through Dependency Walker tool(www.dependencywalker.com). Use the
tool's Profiling feature. When you play with the app functionality long
enough the log will contain info about all loaded PE modules (.net
assembles, exe/dlls, etc.). Everything else, which didn't get to the log,
you can try to delete and, of course, test the app again.

KM
 
KM
Thank you for the response.

I was indeed thinking about writing a small tool to walk for me.
I am not necessarily concerned with my app but with the dependencies
that .NET pulls in. From my device/app point of view I would easily be
able to use MiniLogon but can not because .NET Requires Explorer which
requires WinLogon, etc.

Thanks for the response, if I get time to try it out I will let you
know how it went.
 
Back
Top