Solved

C# Development process question; multiple app files (visual studio)

Posted on 2010-09-05
8
644 Views
Last Modified: 2013-12-17
This is more of a process question in relation to deploying an app.

I created the main app file that runs from a command prompt.  I'd like to add in a couple of more application files to the overall product incluing an interface component.  I don't see an obvious way to add additional programs into the C# interface to compile multiple targets from one project.  What is the process for doing this?  Do I create a project for each application component?

Thanks much.
0
Comment
Question by:sej69
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 33607048
Yes. For a common design goal, you should have one solution file with one or many projects. Once you have a finished solution, you can choose (Re)Build Solution from the Build menu to build all the projects at one time.
0
 
LVL 8

Expert Comment

by:Gururaj Badam
ID: 33607103
You can write your MSBuild script to build your application as you wish to
0
 
LVL 18

Assisted Solution

by:Richard Lee
Richard Lee earned 200 total points
ID: 33610294
A simpler and the most common design used for this scenario is:

1. The core of your application (core functionality) should be isolated in its own Class Library. For example if the console application wanted to start the process it would create an object of say CoreFunc and it would say call the method CoreFunc.Run().

2. Create As many project as need for your different user interfaces (console, winforms, wpf, silverlight, windows service, web service, etc). These projects are all part of the one solution.

Each project will compile unless otherwise told not to & installers can be created or simply deployed from visual studio.

DaTribe
   
0
Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

 
LVL 1

Assisted Solution

by:funazonki
funazonki earned 300 total points
ID: 33611619
If this is really an install question, presumably what you're concerned about is how do you package and deliver the app. Two obvious choices:

1. Use the project Publish menu option. You can get to this by right clicking on the project for your command line app - it should show as one of the menu options in the build-rebuild-clean section of the menu. Publish lets you build a setup app that wll deploy everything you need in the usual way.
2. If you have special requirements (setup directories, include other apps etc) You can add a setup project to your solution and then add the commandline app to the setup project.
0
 

Author Comment

by:sej69
ID: 33611916
I've been playing around with the publish menu but I can't seem to get a good publish so I'm not understanding something completely...

In the project I have 2 command line programs and a user interface.  With the program I want to distribute a .SQL file and a few other misc. files.

I've selected CDROM for deployment and it says it successfully created the deployment.

However, I copied that folder to my test box to install it then run the setup.exe that was created.  The program just runs; it doesn't install.  I see the config file but it's in pre-run form.[appname].exe.config.deploy.  It also seems to want to have all my build directories to go along with it in the "Application Files" folder called [appname]_1_0_0_0, [appname]_1_0_0_1, etc...
0
 
LVL 1

Accepted Solution

by:
funazonki earned 300 total points
ID: 33612051
If you have two apps you want to install, publish probably won't do it. Try right click on the solution, Add|New Project. In the dialogue that pops up expand Other Project Types in the tree view thing on the left, select Setup and Deployment. Select Setup Project. Once you have the new project, drag and drop just the executables to your setup project (it should figure out what dlls you need). If you want to add other files like .sql files, drag and drop those to the setup project as well.

When you build it, it should give you an msi that you can run in the normal way.
0
 

Author Comment

by:sej69
ID: 33612209
Ok, I think I see what's going on...  However I'm using the Express version to see if I like this language and the Express version does not come with the setup wizard project type.  I guess I'll have to bite the bullet and buy the full blown version. THanks!
0
 

Author Closing Comment

by:sej69
ID: 33612226
Thanks; the language is easy to learn but some of the required concepts are not easily found out there.
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question