create a setup for my project

Posted on 2004-08-21
Last Modified: 2013-11-14
I created a visual basic application. Now i want to distribute it. I need to create an installers so that i can deploy my project on to different computers. i want to bundle my files into cab files and supply it. i tried the makecab.exe but i can only put one file onto the cab file. how to bundle many files into one cab files and how rto extract them. Also if i create an installer in vb, for running that installer somefiles are necessary on the target computer(like dlls ) how do i overcome that and create an instllaer.Please reply me soon
Question by:bijesh
LVL 14

Expert Comment

ID: 11858157
Have you tried the Package and Deployment wizard which is shipped with VB ? That does exactly what you are looking for.
LVL 49

Accepted Solution

Ryan Chong earned 250 total points
ID: 11858195
Else try use other installer packager like below:

Inno Setup (Free)


Nullsoft Scriptable Install System

Ghost Installer

Installer Vise



Expert Comment

ID: 11858303

This is the method I usually use:

Zip up all the required files, and make sure they unzip into the same folder.  The concept is that if they are in the same folder, they should work fine.

Files required:

- Your VB exe file
- And database or txt files your VB exe uses
- Msvbvm60.dll (For VB6, Msvbvm50.dll for VB5)
- Any ocx files you used (they can be found in the system folder)
- Any third party dll files you used

If you're programming your installation program (which is what I usually do for flexibility), just make sure it is in the same folder as the Msvbvm60.dll file, then it would run without giving some runtime file missing error of some sort =)

Personally, I do not use the P&D wizard as I've seen quite a number of problems it gives.  Moreover, it packs certain files that I feel are not required.

That's it!

glass cookie :)
LVL 49

Expert Comment

by:Ryan Chong
ID: 11858361
It's always good to follow what glass_cookie had suggestion, yet, it will be useful for small-scale application, but an installer packager may still needed, simply because it make user earlier to select directory they want to install, provide other information like user agreement, etc and register the components needed for the application.

Also, depends on how you want to deploy your application, to determine which method to use later. If it's a commercial product, i suggest to use an installer like Inno Setup.

I prefer Inno Setup, it's simply because it's FREE, very EASY to use (remember to download the ISTools add-in), including all features available in Package and Deployment Wizard, and you can even put your icon/ logo of your corporate if you want.. a great freeware for developer!

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.


Expert Comment

ID: 11859076 is the best one to use if thats what your looking for.

Expert Comment

ID: 11860396
bijesh, you really need a deployment solution.

These are some of the reasons:
[1] some Dlls do not work universally on both NT/2K/XP and 9x/ME platform. Sometimes, each platform has their own version of Dlls.
[2] With a maturing application, you need to have an Uninstall element for end user to safely remove the apps.
[3] Deployment Programs such as WISE, InstallShield and INNOSetup is able to scan and pull relevent files and package them to ensure your apps runs correctly.

Two Main Approaches:
[1] Script-Based (Installshield - InstallScript and Wise uses them)
[2] Data-Driven (Visual Studio Installer, InstallShield - Window Installer)

Recommend FREE Package and Deployment:
[1] Visual Studio Installer - Windows Installer Engine (
[2] INNOSetup (website link as stated in previous post)

NOT Recommended:
[1] VB6 package and deployment.

Windows Installer can be considered as another program or service on the OS. It main objective is to help new programs to install correctly even if the same Dlls and OCXs already existed on the system. When an app wants to install itself, it will pass a list of what needs to be done to Windows Installer on that system to check and then it will tell the app what to install. Hence the concept of Data-based installation.

The setup file usually has a .msi format. The setup could also design an .exe with Windows Installer wrapped nicely with your app. If the itarget system does not have Windows Installer installed (i.e. Win 95 and some of Win 98), it will automatically install Windows Installer, then setup you app.

Older OS requires Windows Installer to be installed. It was developed because too many early programs do not have a standardized way to setup their files. It is a real mess. E.g. uninstalling one program will remove the Dlls that is needed another program. Well, this was partially solved by asking the user to choose if these Dlls will be removed.

How in the world does an end user know? As a result, apps crashes in Windows and user blames Microsoft. Hence the standard was developed.

Seriously, there are actual positions called Setup and Deployment Engineers in the Software Industry.

Good luck.


These are excerpts from the HELP document in Visual Studio Installer...

Data-Driven vs. Script-Based Installation
With traditional script-based installations, every installation program provided a set of instructions for a specific application installation. Though these hard-coded sequenced instructions may have worked fine for a single installation, they could cause problems if new applications or versions were subsequently installed, uninstalled, or reinstalled. Also, since information was not shared among setup scripts, it was difficult for users or administrators to track and manage installed applications.

The new, data-based Windows installer addresses many of the problems associated with installation scripts. In the data-driven installation model, you create a master set of installation tables where every application resource (files, registry keys, and so on) is clearly tied to the component or feature it supports. In creating these tables, you concentrate on what you're installing, rather than how you install it. You focus on the objects to install and where to install them, and the Windows installer manages the procedural instructions.

Some of the key advatage of using Windows Installer is this:
Application self-repair, Powerful rollback, On-demand feature installation, Once a user has made their selections, the installer can install the selected configuration with just one pass through the data.

Expert Comment

ID: 11860407
Oh i forgot...

I currently uses:
Visual Studio Installer
Installshield DevStudio 9
Installshield X for multiplatform
LVL 49

Expert Comment

by:Ryan Chong
ID: 11864042
Installshield should always be #1, but it's not free and expensive, and sometimes it's difficult to use, as it's too customizable and that's why it's not recommended for beginner (i know there is a Express Edition ;-)


Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

708 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now