vbAdvance is a product of Young Dynamic Software.
Offered here, with permission, as unsupported freeware.

©2001-2007 Young Dynamic Software. All rights reserved.


vbAdvance is a Visual Basic Add-In that gives you access to advanced build features and many IDE convenience features.

As a Visual Basic Add-In, vbAdvance runs while you design and compile your applications. Once your app is built, vbAdvance is no longer needed. vbAdvance adds no distributable dependencies to your projects - there is nothing to distribute because vbAdvance is only needed by the VB IDE.

vbAdvance is a fast, efficient and groundbreaking piece of work, providing access to many features that are otherwise not possible in VB. Read on for the full list of features...

Build Features

vbAdvance gives Visual Basic powerful new abilities...

Console Applications - Create true console-subsystem applications in Visual Basic that interact with the command-prompt from which they were launched. We are proud to be able to include a uniquely powerful Console Support Code Module and samples courtesy of Karl E. Peterson (author of the "Ask the VB Pro" column in Visual Basic Programmer's Journal and a VB MVP). This code module is the only one of it's kind and provides everything you'll need to create full-featured and robust console applications.

Function Exports - Build standard DLLs that export functions using Visual Basic. Function exports are required for certain application types such as Control Panel Applets. Having access to this feature allows you to build these applications using VB. You can also implement the DllInstall feature of RegSvr32.exe in your DLLs to provide command-line switch customized registration of your DLLs. Many application plug-ins, such as WinAmp and InstallShield plug-ins, require function exports, which means you can now use Visual Basic to create them instead of having to resort to another language, or rely on non-VB proxy DLLs and the troubles that go with them.

Complete Version Number Control - Visual Basic inexplicably omits one of the fields in your application's version number resource. The version number standard is as follows:


What VB normally gives you is this:


In other words, the Revision field is always set to 0. To confuse matters further, what VB calls the Revision field is actually the Build field. Be confused and frustrated no longer - vbAdvance gives you full access to your application's version fields.

DllMain - The DllMain entrypoint is used in standard DLLs as a way to recieve startup and teardown notification. vbAdvance gives you the ability to use a DllMain entrypoint in your standard DLLs.

DllRegisterServer / DllUnregisterServer customization - An extension of the Function Exports feature, the ability to override and customize these two registration exports gives you full control over your DLL's registration. For example, starting with Windows 2000, you have the option to register an ActiveX DLL to HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE, thus avoiding the permissions problems some customers face. Unfortunately, VB gives you no way to specify this change. vbAdvance does. Using vbAdvance, you can easily change the Registry hive your DLL or OCX is registered under. You could also easily add any custom code you wanted to run at registration time.

XP Manifest Resource Compiler - This option allows you to very easily add support for the new XP Themes. It automatically compiles the necessary XP Manifest Resource into your application. This feature eliminates the need to distribute a seperate XML file with your application and the trouble that goes along with it.

Terminal Server Aware Applications - Create applications that are Terminal Server Aware, giving you full control over your app's behavior when run in a Terminal Server environment.

App Icons - Set your application icon without the need for a Form or a Resource file. Just point to the icon file and build your project.

Advanced Debug File Options - Strip private information from your PDB debug files to prevent reverse-engineering of your app when distributing debug files. Compile the Symbolic Debug Information into your EXE or DLL and avoid having to distribute a seperate PDB file. Generate MAP and DBG files for your project. With vbAdvance, the full list of possible debug file generation options is made available to you.

Resource-Only DLLs - Build a resource-only DLL from your project's resource file with the touch of a button.

Dynamic Conditional Compile Arguments - Specify conditional compile argument values that differ between design time and compile time. This is particularily useful for the DbgWProc.dll constant, DEBUGWINDOWPROC, which must be set to 1 when in design mode and 0 when compiled. Another example would be an IN_IDE conditional to determine if you're running in design mode, or compiled.

Custom DOS Stub EXEs - VB automatically creates a DOS stub EXE for you when you build an executable. The purpose for this is to output some text to the command line when your EXE is run from the DOS environment, explaining that it is a Windows app and will not run under DOS. The Custom DOS Stub EXE feature allows you to place your own DOS stub EXE into your app, allowing you to customize the text that is displayed or even to run an actual DOS version of your application.

IDE Enhancements

vbAdvance makes the Visual Basic IDE better and easier to use...

Check Syntax - Check for syntax errors without building your binary.

Build Button - Very similar to the Visual C++ Build button, this builds your project immediately. No dialogs are presented after the first build of the project sets the build path.

Execute Button - Very similar to the Visual C++ Execute button, this launches your compiled app. A Send Command Line Args option allows you to send your project's command-line arguments to the executable.

Send Code Module to Text Editor - VB's code editor is decent, but not great. If it weren't for Intellisense, there'd be nothing special about VB's integrated code editor. For high-powered editing, many programmer's turn to a professional text editor. vbAdvance makes it trivial to send the current code module to your text editor. Just press the button and your editor will open with the code module you were just viewing from VB. And when you've made your changes and return to VB, vbAdvance's Detect Code Module Changes feature will detect your edits and reload the module for you.

Detect Code Module changes outside of IDE - This feature enables VB to detect when any code modules in your project are changed by another process. For example, if you Get Latest from SourceSafe, and one of your code modules is overwritten with a newer version, or if you edit one of the modules with a text editor, or even if you copy over a module using Windows Explorer, this feature will notify you that there was a change and offer to reload the module automatically, saving you from having to reload the entire project in order to pick up the changes.

Disable Build Dialogs - The first time you build your project, you are presented with a 'Save As...' style dialog to tell VB where you want to build your project and what you want it named. This makes perfect sense. What doesn't make sense is that even though you already told VB what to name the executable, VB keeps asking you the same question every time you build your project - and to make matters worse, it kindly tells you that there's already a file of that name (duh!) and do you want to overwrite it? Well, vbAdvance to the rescue! The Disable Build Dialogs feature prevents those dialogs from appearing once you've told VB where to build the project. The first time you'll be asked where to build it, and subsequent times you will not be bothered. This is the normal behavior of the vbAdvance Build button, this feature allows you to apply it when building from the File menu option.

Clear Immediate Window - This feature automatically clears the Immediate Window when you run your project.

Sizeable Dialogs in the IDE - Ever wonder why all of the standard Windows common dialogs used by the VB IDE are not sizeable? So did we, and we took care of the problem. When vbAdvance is running, all standard Open and Save dialogs are sizeable.

Binary Compatibility File Enhancement - An extension of the sizeable dialogs feature is found when you select your Binary Compatibility file for an ActiveX DLL project. It has become standard practice to use an extension of *.cmp for compatibility files in order to avoid confusion with the target DLL. Unfortunately, VB's Open dialog requires a few clicks to change the Selection Filter to 'All Files' in order to see any *.cmp files. vbAdvance adds the *.cmp filter entry to this Open dialog and makes it the default selection.

Alert/Clear of Read-Only attribute when building or saving - Ever make a change to a source file, only to find you can't save it because it's marked read-only? Or try to build your project and can't, again because the target binary is read-only? vbAdvance adds intelligence to VB, alerting you of the problem and offering to clear the read-only flag for you, so you can get on with your work, instead of wasting time in Windows Explorer.


vbAdvance is now unsupported freeware.

Use the following license to register the product:


Copy it all (include the BEGIN and END LICENSE lines). In the Advanced Options dialog, click on the "About" button, then click on the "Register" button. Paste your registration info and click OK.

Download the Installer
Click here to download the latest release of vbAdvance.
(Version 3.1, Self-Extracting EXE, 846 KB approx.)

Click here to download the vbAdvance help file, without downloading the full package.
(HTML Help Format, 199 KB approx.)
Note: The help file is already included in the installer, so if you're installing vbAdvance, you do not need to download the help file separately.

Get the latest Console support code from Karl E.Peterson's One-Stop Source Shop
Click here to download the latest Console support code.
Note: This console code is already included in the vbAdvance installation package, and the latest code is included at the time of packaging. Note however, that Karl Peterson may have updated the code since then. You may follow this link to ensure you have the latest version.


Visual Basic 5 or Visual Basic 6 Professional or Enterprise Editions, Service Pack 3 or higher.
Win 98, 2K, XP.


Run the self-extracting executable and follow its instructions. Once installed, the add-in will load automatically the next time you start VB. The vbAdvance Toolbar will be floating in the center of the screen and may be repositioned and docked to your liking.

The vbAdvance Help File is accessible from the Start menu if you chose to install the icons. You can also access the online Help from the vbAdvance Advanced Options dialog, which can be launched from the vbAdvance Toolbar or the VB Add-Ins menu.

©2001-2007 Young Dynamic Software. All rights reserved.