I'm finishing a .NET project, and getting ready to distribute it. At this point, the only thing I care about is that it will work on whatever computer it's used on.
I used a program called Dependency Walker to see what DLLs, etc. I might need to include with the EXE. When I ran Dependency Walker and then opened my EXE within it, I got a HUGE list of files in a tree structure. I've never used Dependency Walker before, but it seems like a simple program to use, so I think I did it correctly.
Anyway, my program should be VERY simple, in terms of dependencies. It's just using a few built-in file/stream input/output library functions, the open and save dialog windows, and other than that, the only exotic thing it uses at all is the AesManaged class.
Note that I make no assumptions about the target computer this program will run on, either its hardware or software, except that it's using some version of Windows (by the way, is FAT32 compatible with all versions, even new ones?).
So I have a few questions:
1. Why would there be a TON of files listed, or is it just being super-picky? Do I really need to include ALL that, or just like 1 or 2 DLLs, maybe for the AesManaged?
2. I was thinking of including the .NET runtime installer with it, in case a recipient doesn't have it installed. I'm allowed to do that, right?
3. I have the .NET runtime installer version 3.5 and 4.5. Which one corresponds to projects built using Visual Studio 2012 Express?
4. Is there anything else I'm overlooking?