Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 2 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
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 3 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 fileconfiguration file Use the settings from your application installation to create the configuration file on the fly
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 4 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)
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 5 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)
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 6 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
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 7 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.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 8 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…
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 9 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
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 10 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.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 11 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
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 12 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
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-8,2005 Key Biscayne, Florida 13 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?