Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Publish Program in Visual Studio

I'm new to using Visual Studio, and I'm trying to figure out how to 'publish' my program so I can move it other's computers and run it from there. I'm not sure if it makes a difference, but there are three projects in my solution. And if I publish it, will I still continue to be able to develop the original files etc?

Thanks a lot!

like image 981
keynesiancross Avatar asked Jan 07 '11 13:01

keynesiancross


1 Answers

Ok, so you've written your code, debugged it and now you want to distribute it...

When you build a solution using Visual Studio the compiled output of each project is produced in a folder which is either specified manually, or, by default, in a bin folder relative to the projects root folder. Within this folder are subfolders which hold the output for a corresponding build (for instance the Debug folder contains the Debug compilation output).

If you have three projects then, for example, let's assume one is an executable application and the other two are dynamic link libraries on which the application project is dependent, the compiled output from the latter two projects will automatically be copied to the applications compiled output folder, meaning you only need to ship what is in this folder (along with anything else you actually know is required).

For a (rough) folder graph to try and visualise what I'm saying:

SolutionFolder\
    ApplicationProjectFolder\
        Bin\                  <- contains overall output
            Debug\            <- the compilation you develop with
            Release\          <- the compilation you distribute (after testing)
    DynamicLinkLibrary0Folder\
        Bin\
            Debug\            <- automatically copied to 'ApplicationProjectFolder\Bin\Debug'
            Release\          <- automatically copied to 'ApplicationProjectFolder\Bin\Release'
    DynamicLinkLibrary1Folder\
        \Bin
            Debug\            <- as above
            Release\          <- as above

You can continue to work on your code after distributing, yes, of course, but you can hardly expect the users of the application to have your latest changes without redistributing the whole thing, or updating/patching et cetera.

Of course, this solution is the simplest form - ideally you'd want an installer project as part of the solution, which is the final distributable end-product.

As I said above, it seems you may need to know a heck of a lot more than this to proceed competently and confidently, and I could explain further details on each aspect mentioned here, no doubt, but it has to stop somewhere. Hope this gets you started, though.

like image 163
Grant Thomas Avatar answered Sep 19 '22 00:09

Grant Thomas