130 likes | 142 Views
Application Deployment. Stephen W. Meeley. Deployment components. Your application Visual DataFlex Client Crystal runtime or RDC ActiveX controls Connectivity Kit(s) Database server and client Visual DataFlex Web Application Server. Integrating the client installation.
E N D
Application Deployment Stephen W. Meeley
Deployment components • Your application • Visual DataFlex Client • Crystal runtime or RDC • ActiveX controls • Connectivity Kit(s) • Database server and client • Visual DataFlex Web Application Server
Integrating the client installation • The client installation is designed to be embedded into your application installation • Major aspects of the installation are controlled though a configuration file • Use the settings from your application installation to create the configuration file on the fly
Product registration • Some developers don’t want to have their customers typing in registration codes • Error prone • Multiple registration programs • We made the registration process much easier to deal with • Business arrangements that include single codes that can be pre-installed • Have your installation look for (expect) a registration .exe that only contains registration files (and registry settings in the case of a server)
Connectivity Kits • Very small number of components that can easily be included in your application installation • Main driver DLL • Registration files (use same techniques as mentioned for client) • Error file • Driver .int file (copied or created) • There are no registry settings that are necessary to run the Connectivity Kits (or change their behavior in any way)
Network installation • Many developers lean toward deploying the entire application (including the client) the at the workstation (only the data is located on the server) • Don’t make the assumption that your application will load and/or run slower if the client and application are on the server • Don’t assume, measure • Balance the (measured) performance against the (known) overhead of workstation installation and maintenance
Workstation installation • If you do use a server-based installation, all you need on the client are a few registry settings, shortcuts and perhaps calls to register ActiveX controls. • Make a small script that gets the current directory (in UNC) and uses it as the basis for the necessary operations.
Web applications and services • Setting the virtual folder and ISAPI extension mapping can be done with WinCrtVDir.exe • We had strange results when setting a virtual folder that already existed, so we got into the habit of always removing them first • It doesn’t hurt if it really doesn’t exist • This may be a case if old habits dying hard, but I don’t want to find out the hard way…
Crystal Reports • Depends on if you are using the runtime or RDC • If using the runtime, it’s best to isolate the Crystal runtime as much as possible (avoiding DLL Hell) • We recommend the Programs folder of your workstation • You can get information about what files to install (up through Crystal 10) from various sources • Wise even automates this with published runtime scripts
Merge modules • Key vendors are weighting (if not restricting) their support of component installations to the use of merge modules • Microsoft (of course) • Crystal • Gives them more control with less support overhead • This is really forcing our (collective) hands in changing to Windows Installer-based applications.
Updating existing deployments • Good installation software will handle everything but data structure changes • Backups • Patches • Version checking • Online updates (including automatic checking) • Even so, you want to build in lots of audit trails so you can tell exactly what happened, when and, if possible, why • When updates involve data structure changes, getting the new components to your deployment site is the easy part
Where we are heading… • We will simplify deployment (where we can) • We will provide more deployment documentation, examples and even sample installation scripts • We are switching to a Windows Installer-based system (to accommodate merge modules) • Our current front-runner is Wise for Windows Installer
Survey time… • Do you deploy through an installation program (assisted or not)? • If not, why not? • What installation creation tool do you use? • Is your current installation tool capable of consuming Windows Installer merge modules? • What changes do you want to see in our Client and Server installations?