Solved

Deploying vb.net app

Posted on 2004-04-23
8
674 Views
Last Modified: 2009-07-29
I have a client / server vb.net application

The application has a few third party user controls that were created in .net.

The application has only one active x control that was not created in .net (maybe vb6 or c++)

Once I get everything working on my computer, how do I distribute the application?  How do I create a setup.exe to install this app on other people's computers?

If I didn't have the active x control designed with older, non-dot-net technology, then could have I simply copied the .exe file and copy the .dll assemblies onto the other person's computer?  Where would I copy the assemblies to?
0
Comment
Question by:dhilwala2001
[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 41

Assisted Solution

by:graye
graye earned 300 total points
ID: 10905760
Let's start at the beginning....

Yes, the .Net stuff was designed to be as easy an "xcopy deployment", yet it still supports a "Package and Deployment" wizard (using the VB6 terminology).  The new Setup Wizard actually just adds another Project to your Solution (more new terms... Project and Solution).  This Setup Project is a new, and may take a bit of poking around until you're comfortable finding the things you need.  It usally does a pretty good job of figuring out if you've got 3rd-party or non-.Net Active X controls... and automagically adds those components to the Project.

Practically everything in .Net is an assembly... so don't get hung up on that term.   Compiled EXEs and DLLs are all assemblies.  I'm sure you've read something about putting assemblies in the Global Assembly Cache (GAC).... but if you read further, you'll discover that Microsoft never intended you to install normal application assemblies in the GAC.  (In fact, there are very few.... VERY FEW.... reasons that anyone would ever want to install something in the GAC in a deployment scenario).

Unless your project has some unique need (like perhaps a change to assembly permissions), I'd stick with just the normal Setup Wizard and go from there.
0
 
LVL 10

Assisted Solution

by:EBatista
EBatista earned 100 total points
ID: 10907125
as graye already says, the assamble is the .exe or .dll that your project generates, just have to add to the answer that you can place it in the folder that you wish, of course, to do the copy and past installation you have to have in the client the .net framework installed, which is not added to the setup project by wizard, generally it has to be installed in a provious step, also if you are using components like the Crystal Report carried with VS .NET it is better to create the setup project cos you will need to add the keycode manually.

regards
0
 

Author Comment

by:dhilwala2001
ID: 10910384
So all I need to do is distribute my .exe?
Will all the .net components be embedded within the .exe (third party controls)?

So what does this normal Setup Wizard do, and how do I access it?

Put yourself in my shoes.  I know very little about assemblies.  I know how to write good code, and I added third party compenents to my project via adding components....  The program works on my computer just fine, and now I want to distribute.

Now, could anyone give me concrete steps I can take:

For example,
Step 1:       Go to this menu and do this
Step 2:      Go to that menu and click here, and to this that and the other....

Thanks...
0
SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

 
LVL 41

Assisted Solution

by:graye
graye earned 300 total points
ID: 10910574
No, you will need to distribute a few components with your application (the components are *not* embedded in the exe).

Better than a step by step example.... it'd make better sense if you'd just open up Visual Studio and play with the Setup Wizard some (really! I'm not trying to be rude).

From your existing solution, add a new project....   Pick the category called "Setup and Deployment Project", then pick "Setup Wizard".

Poke around and get the feel for it.   The GUI is a bit strange at first... lot of tabs across the top with nothing on the pages.  After a few minutes, you'll get the hang of it.

As I was trying to explain in my original note, the Setup Wizard usually does a good job of picking all of the components that need to be included in the distribution "kit".   So, unless you're project is somehow strange, I'd just go with the wizard.  I'd bet if you just took all of the defaults, everything would work just fine.

Try it and see...

0
 

Author Comment

by:dhilwala2001
ID: 10910591

Well, its suppose to create an .msi file, but it doesn't !!!

I am suppose to compile it and it is suppose to generate an .msi file.

Is that all there is to it?

Does that .msi file have everything it needs to install -- all of the components and all ?

Why is it not generating an .msi file?

I tried to compile on both my educational copy and my work copy of visual studio, and on both, no .msi file is generated when I complie the project.  I have an extremely simple application that just says "hello world"

I chose all of the options (check boxes) for deployment, but upon compilation, it refuses to make an .msi file.

HOPE YOU CAN HELP ME!

THANKS!!!
0
 
LVL 2

Assisted Solution

by:DonRameshSachin
DonRameshSachin earned 100 total points
ID: 10910702
0
 
LVL 41

Accepted Solution

by:
graye earned 300 total points
ID: 10912887
Yes, you do need to Build the new Setup project...  

Let's assume that you added a "Setup1" project to an existing solution called "WindowsApplication1".   When you look at the Build menu, you'll see... "Build Solution" and either "Build WindowsApplicaiton1" or "Build Setup1" (depending on which project is "active").   The "Build Solution" will build all of the projects in your solution... which is what you want... the orginal WindowsApplication1 project followed immediately after the Setup1 Project.

To have a finer control on the build action, just click on the appropriate project in the Solutions Explorer to make it "Active".  The build menu will now build that project by default.

Practice makes perfect

0
 
LVL 41

Expert Comment

by:graye
ID: 10912899
oops, I forgot to mention that the *.msi file is gonna be located in either the Debug or Release directory of the Setup1 project (*not* the directory of the WindowsApplication1 project)

I usually create my Setup project as a subdirectory of the main project... so I don't get confused on what's what
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

751 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