Groups | Blog | Home
all groups > dotnet framework > november 2006 >

dotnet framework : Split .NET exe file into many smaller ones



Vlado Jasovic
11/28/2006 9:21:54 AM
Hello,

We're developing application in VS2005 using vb.net.

Our application exe file is ~20mb when compiled.
Recently, we have developed auto-update feature that goes on our web-site,
authenticates through WebServices and if neccessary downloads updated
app.exe file. We had to use custom solution vs. ClickOnce for several
different reasons.

Now, problem that we have is that we would like to somehow split this exe
file into 10+ smaller dll files and update them if needed instead of
expecting users to download 20mb file when they only need update that's
100kb.

Any links, suggestions would help.


Thanks,

Vlado

Vlado Jasovic
11/28/2006 10:50:57 AM
Hello Jigar,

I understand that this change will have to involve more than simply running
some utility but we would need some directions as to how to achieve it.

We were looking at having multiple projects within one solution but
cross-referencing would be huge burden.


Thank you for your input.


[quoted text, click to view]

Jigar Mehta
11/28/2006 4:41:23 PM
Hello Vlado,

I think that will involve changes at architecture level. You will have to
design the application like that, your object modal will also reflect that
design. There is no inbuilt option that you can break an EXE into multiple
DLL files by using some utility !

=============
Regards,
Jigar Mehta

Vv> Hello,
Vv>
Vv> We're developing application in VS2005 using vb.net.
Vv>
Vv> Our application exe file is ~20mb when compiled.
Vv> Recently, we have developed auto-update feature that goes on our
Vv> web-site,
Vv> authenticates through WebServices and if neccessary downloads
Vv> updated
Vv> app.exe file. We had to use custom solution vs. ClickOnce for
Vv> several
Vv> different reasons.
Vv> Now, problem that we have is that we would like to somehow split
Vv> this exe file into 10+ smaller dll files and update them if needed
Vv> instead of expecting users to download 20mb file when they only need
Vv> update that's 100kb.
Vv>
Vv> Any links, suggestions would help.
Vv>
Vv> Thanks,
Vv>
Vv> Vlado
Vv>

Jigar Mehta
11/28/2006 5:49:38 PM
Hello Vlado,

If you are using Visual Studio 2005, having multiple projects in one solution
(even different languages!!) and referencing them is not at all a burden.
You can easily do that. Start with modularize your whole project into small
parts and utilities. If you can separate some components, move their coding
into seperate DLL file and provide wrapper if needed.

It should not be so hard.

=============
Regards,
Jigar Mehta

Vv> Hello Jigar,
Vv>
Vv> I understand that this change will have to involve more than simply
Vv> running some utility but we would need some directions as to how to
Vv> achieve it.
Vv>
Vv> We were looking at having multiple projects within one solution but
Vv> cross-referencing would be huge burden.
Vv>
Vv> Thank you for your input.
Vv>
[quoted text, click to view]

Rad [Visual C# MVP]
11/28/2006 8:56:31 PM
Wow, that's a HUGE file!

Rather than split the EXE, I would suggest you refactor your
application such that it is composed of a several projects, each of
which compiles to DLL and the main project becomes the EXE.

Is this an option available to you?

On Tue, 28 Nov 2006 09:21:54 -0600, "Vlado Jasovic"
[quoted text, click to view]
--

Bits.Bytes.
Lloyd Dupont
11/29/2006 12:00:00 AM
Ho come it is so big?
..NET executable are typically very small unless they include resources (i.e.
any kind of file you use such as sound, picture, data model, etc...).
Perhaps you could put these resources in external assembly?
Or even plainly visible?

[quoted text, click to view]

AddThis Social Bookmark Button