Questions about the Build routine

DominicB

Active member
Joined
May 2, 2008
Messages
30
Programming Experience
Beginner
Hi all

I'm using VB.Net 2008 Express, and I've built a small single .exe app that is 55k in size. If I use Build to create an installer, then that .exe file is 456k in size. Where has the extra 400k come from? I understand there will be an overhead but 400k seems excessive.

Secondly, will my app only run on machines that have the .Net framework installed? If so will the installer install this at the same time? Is this done via the internet?

Sorry for the seemingly stupid question, but my app runs fine on my machine (which has VB.net and C++.Net installed on it) and I don't have access to a second machine to try it on.

Thanks for reading. Have a nice evening.

DominicB
 
It is the setup application and embedded install scripts, it includes your application and all local assemblies you may have referenced and perhaps DB if oyu have included one in project, it also includes a bootstrapper that checks for prerequisites and install them before the main app install.

There is a prerequisites dialog where you can configure checking for .Net Framework and where that should be installed from if missing (like a Unc, internet, local path). I think it has prereqs checked by default for .Net version and Window Installer, plus SQL Compact/Express if you use these.
 
Hi JohnH

OK, thanks for that. It all sounds sensible enough.

I've just been thinking about this and I want to include a simple help file - I'll probably go for a .chm file, 'cos I already know how to pull one together. However, how can I include the .chm file in the .exe that the Build routine creates?

Thanks for your thoughts

DominicB
 
Add it to project with "Add Existing Item..." and set properties "Build action"=Content and "Copy to output"=Copy If Newer.
 
Hi JohnH

OK. Thanks for that. I used Project > Add New Item and it seemed to compile OK, and use the object, but further testing is required. Not sure what you meant by this though :

and set properties "Build action"=Content and "Copy to output"=Copy If Newer.

I actually looked in Project > Properties but couldn't see what you were referring to. Was I in the wrong place?

Thanks again for the pointers.

DominicB
 
Select the file node after added and look at the properties window (same as for controls).
 
Hi JohnH

Select the file node after added and look at the properties window (same as for controls).
Yeah, I have real problems with this context sensitive issue (you've been through it with me before) - I will get used to it. I think I've got the hang of this install thing now, I was just a bit taken aback as I can take a .exe file of my app straight out of my VBExpress2008 directory and run it from anywhere on my PC but not from anyone elses PC : I guess all the prerequisite files must be readily available as part of my VB.Net, which is where the install routine comes in...

Once more question if I may.
The install routine comprises three seperate objects; the setup.exe file, a .application file (which is apparently an application manifest file) and a directory (Application Files). It seems that all three objects are required for the install routine to run, I've never seen an install routine like that before. Is this right?

Thanks again for all the hand holding.

DominicB
 
All the files that ClickOnce deployment generates are needed for the target system to run the setup. That you can take the assembly exe and run it from different locations means that there are no other dependencies, possibly other than external files/databases and maybe other GAC references, which means in theory others can just install the .Net Framework 3.5 (default version for VB 2008) and also run your exe. But it is a good practice to use proper deployment procedures. A Setup project or third-party msi installer can produce a single installation file, but the free Express versions does not have such included, only ClickOnce.
 
Hi JohnH

OK. Thanks for all that. I usually use ClickTeam's install creator to create installation files - it's slicker than the VB.Net 2008 Express Publish routine and it works well. However with the complexities of the dependancies and prerequisites etc I'll just have to rely on the VB.Net Publish thing for now and put up with the fact that it doesn't roll all the files it needs into one compressed archive.

Thanks again for sharing your knowledge.

DominicB
 
Back
Top