In-Depth

Distributing VB apps

Application distribution is a critical issue for VB developers. A minimum of 640Kb is required for a VB 3.0 application, and 1.3Mb for any VB 5.0 applet. Those numbers must be multiplied for every user in an environment. Though VB includes a setup kit and configurable templates for customizing the setup look-and-feel, most professional developers resort to a third-party tool for distribution. Though not absolutely imperative, it is recommended that corporate VB developers invest in a professional installation tool. The setup does not include an uninstallation provision.

In addition, many applications require a certain amount of free disk space, minimum CPU or memory requirements, installation directories, paths to user data and network access and security issues. Some applications may need to check for the existence of Office97, AutoCAD or Exchange Server, if the VB application requires such components to work. If VB is considered the glue for network applications, it can no longer be safely removed during execution. Other applications before the installation and since might reference the same controls and files.

Tools such as Wise, InstallShield, WebDeploy and even ZipLock (Portland Software, Portland, Ore.) or A-Pay (Release Software Menlo Park, Calif.) represent critical parts of the process now. Reality is that the VB Setup Kit and even the programming best efforts are no match for long file names, registry settings, paths to network neighborhood volumes and the polished efforts of ISVs creating specialized installation tools. Wise integrates closely with the registration database and Windows 95 for easy uninstallation through the Setttings menu option and the Add/Remove function in the Desktop Control Panel. The Wise script editor creates the actions that drives installation and uninstallation.

The enterprise edition of Wise includes WebDeploy for single (or multiple) file downloads from an Internet FTP or HTTP site. These files install as they are downloaded or after the download is complete using the standard install process. The SmartPatch feature included in the enterprise version of Wise includes a differencing engine to provide interim updates, bug fixes and version upgrades ... on disks or over the Internet. The only caveat with this product is the easy proliferation of user installation choices and how many vendors create scripts -- because it is so customizable. It is too easy to add yet another dialog that interrupts the straight-through flow. Try to focus choices to a single screen and let the installation run cleanly. Every option becomes another support call.

Furthermore, the reality of OS installation does not end with a heterogeneous desktop. Installation is likely to include local desktops running different versions of Windows, servers running different network systems and a remote user community. Wise Network Installation System includes multilingual support for several European languages. VB is not just for the U.S., and Internationalization transcends the desktop and your own application to also include some of the VB add-ins and any Web site-based technical support as well. Although most users and buyers will forgive the sins in a one-time (or at least, infrequent) application installation process, support costs for guiding users through a messy setup far outweigh the costs of specialized installation tools.

While it is possible to use the VB setup wizards to master distribution CD layouts, consider the various scripts required to handle internal distribution, client and server setups at remote offices, distribution with SMS or other management tools over LANs and Intranets, shrink-wrap packaging, as well as alternate Internet delivery, including demos, final products, upgrades and patches.

About the Author

Martin Nemzow is a consulting editor for McGraw-Hill Publishing. His company, Network Performance Institute, Miami Beach, Fla., provides enterprise network design and improvement consulting services, markets capacity planning, and develops and markets shrink-wrapped network configuration software tools.