Solved

Deploying vb.net app

Posted on 2004-04-23
8
659 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
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
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
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

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Automated testing suggestions? 2 47
Not seen Link button 5 39
Help with converting xml file to excel using VB.NET 3 20
No Data for DropDown List 2 25
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…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

778 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