Simple Installation Customizations
Simple customizations can be made to the installation using one of the following three methods:
Installing Using MSI Options
This section describes a customized installation using the options and parameters included with the Windows Installer.
Quiet (Silent) Install
The quiet option is used so that the installation runs with no user interaction required. A quiet installation cannot launch other installations automatically. For a silent installation, you may need to execute other installations to ensure that the product is completely up to date. See Special Considerations for Silent Installs.
The following steps outline how to install Pervasive PSQL from a command line where the Quiet option has been included.
*Note: If the system on which you are installing has Microsoft Windows Installer (MSI) 3.1 or greater installed, use the following steps for the MSIEXEC program. If you are unsure whether the system has MSI 3.1 or greater, install using the setup executable. See Silent Install Examples Using Setup Executable.
1
MSIEXEC.EXE /i <PervasiveProductName>.msi /qn
The installation program runs silently in the background with no user interaction needed.
2
*Note: Consult the Windows Installer SDK for additional documentation about the command line syntax.
1
2
If the system on which you are installing has Microsoft Windows Installer (MSI) 3.1 or greater installed, use the MSIEXEC program. If you are unsure whether the system has MSI 3.1 or greater, use the setup executable.
3
Special Considerations for Silent Installs
A quiet installation cannot launch other installations automatically. For a silent installation, you may need to execute other installations to ensure that the product is completely up to date. Examples of such independent installations include the following:
Product Patch for Upgrade
An “upgrade” means going from a previous release to the current release. You may need to apply a patch before you upgrade the release. Refer to the readme file for the current release, which should list any upgrade patches required. If an upgrade patch is available, install it first.
*Tip: Examples in this guide use the "eom" logging flags to ensure faster execution. This option produces a log file with only error information. If errors are encountered, rerun the command using the "/l*v" logging option to generate a verbose log file before contacting support.
For example, a optional patch is available for upgrading from Pervasive PSQL v10 to Pervasive PSQL v10.10. Install the patch if you want to keep any personalized settings saved for Pervasive PSQL v10. The patch is available only from the Pervasive Web site.
Use the following command from a command prompt to install the patch:
Product_type_platform.msp /qn /leom "%temp%\product_pre-UpgradePatch.log"
where:
Product refers to the product, and type and platform refer to the product type and the platform on which the product runs. For example, PSQLversionPatch_Client_x86.msp refers to the Pervasive PSQL Client on a 32-bit platform.
Product Patch for Current Release
A patch for the current release is called a “product update.” The current release of a product may require that you apply a product update after the silent installation. If a product update is required, it is included on the installation media in the ~\Redist\PVSW\PSQL\Patches\ folder.
Install any patch in that folder to guarantee the current release is up to date. For example, the following command installs a product update for Pervasive PSQL Server, 32-bit:
path_to_installation_media\Redist\PVSW\PSQL\Patches\PSQLversionPatch_Server_x86.msp /qn /leom "%temp%\PSQLversion_post-InstallPatch.log"
Determining When a Silent Installation Has Finished
You may use either of the following methods to determine when a silent installation has completed.
1
Note that everything after the setup.exe command line option /v is passed to msiexec.exe. See also the Macrovision Helpnet Web site for additional information on how to pass msiexec.exe command line options via the InstallShield launcher (setup.exe).
2
The following is an example batch script that installs Pervasive PSQL 64-bit Server.
@echo off
set TS_FILE=%windir%\system32\change.exe
set PSQL_EXE=%cd%\Server\SetupServer_x64.exe
set PSQL_LOG=%temp%\SetupServer_x64.log"
set MODE=REALLYSUPPRESS
set PSQL_EXE_CLI=/S /v"/leom %PSQL_LOG% /qn REBOOT=%MODE%
set PSQL_MSP_PATH=%cd%\Server\Redist\PVSW\PSQL\patches
set PSQL_MSP=%PSQL_MSP_PATH%\PSQLversionPatch_Server_x64.msp
set PSQL_MSP_LOG=%temp%\PSQLversionPatch_Server_x64.log
set PSQL_MSP_CLI=/leom %PSQL_MSP_LOG% /qn REBOOT=%MODE%
echo Pervasive PSQL Install
echo …changing to 'install' mode
echo for terminal services systems
if EXIST "%TS_FILE%" change user /install
echo run main PSQL MSI Installer
"%PSQL_EXE%" %PSQL_EXE_CLI%
if NOT exist "%PSQL_MSP%" goto RESUME
echo run PSQL Patch Installer
"%PSQL_MSP%" %PSQL_MSP_CLI%
:RESUME
echo -- Reset install mode, if needed
if EXIST "%TS_FILE%" change user /execute
echo PSQL Install Complete
*Note: The example is for Server 64-bit. For other products, change the installer names and log files to the appropriate names for those products. Also, certain operating systems require you to run batch scripts as an Administrator. Ensure that you have appropriate authority to run a batch script depending on your operating system.
Installing Using PTKSetup.ini Settings
This section provides a working example of a customized installation using the PTKSetup.ini settings from a command line. Another method for installing using the PTKSetup.ini settings is to specify the settings in the INI file and run the install from the command line with no options.
It is important to note that you may set values in the PTKSetup.ini file, but you may not add INI keys or values to this file. Any INI keys and values added to this file that have not been defined by Pervasive Software are ignored by the installation process.
Specifying a Pervasive PSQL Key
With versions of Pervasive PSQL prior to Pervasive PSQL v11, you could specify a Pervasive PSQL key as an attribute in the PTKSetup.ini file. The same key could be used for multiple installations. Now, each installation requires its own unique key. You can still specify a key in PTKSetup.ini, but it must be unique for the machine on which the installation is being performed.
Various means are used for distribution of keys, such as a key printed on the shrink-wrapped box or included inside the box, in an email to the end user, and so forth. Whatever method you use to distribute keys, one way to ensure uniqueness of the key in PTKSetup.ini is for your application installation to prompt the end user for the key. Your application installation could then write that key to a local copy of PTKSetup.ini and continue with the installation process that uses PTKSetup.ini. The Pervasive PSQL installation process will automatically authorize a valid key if one is specified in PTKSetup.ini. Note that part of a key’s validity is that it must unique for the machine on which the installation is being performed.
Optional Features Install
The following steps outline how to install Pervasive PSQL from a command line using optional features.
1
2
MSIEXEC.EXE /i “<PervasiveProductName>.msi” PVSW_PSQL_INSTALL_DOCUMENTATION=0
3
Press Enter.
The installation program runs interactively with the documentation option removed from the list of optional features.
1
2
MSIEXEC.EXE /i “<PervasiveProductName>.msi” PVSW_PSQL_LICENSE_KEY=NG2ZE-ZKS3C-D2CFK-9IR6K-G2C3X
See also Specifying a Pervasive PSQL Key.
Installing Using MSI Options and PTKSetup.ini Settings
You may customize your Pervasive PSQL installation by using both the MSI options and parameters, as well as the PTKSetup.ini file settings. Using this method, you would disable the property in the ini file and run the install from the command line using any additional options.
This section provides a working example of a customized installation that uses both of these options. The example provided here combines the methods used in the previous examples by setting values in the ini file and specifying options at the command line.
1
;PVSW_PSQL_INSTALL_DOCUMENTATION=1
2
PVSW_PSQL_INSTALL_DOCUMENTATION=0
*Tip: Be sure and uncommment all properties to be included by removing the leading “;”
3
4
MSIEXEC.EXE /i <PervasiveProductName>.msi /qn
5
Press Enter.
The installation program runs silently in the background with no user documentation installed.
See also Special Considerations for Silent Installs.
1
;PVSW_PSQL_LICENSE_KEY=
2
PVSW_PSQL_LICENSE_KEY=NG2ZE-ZKS3C-D2CFK-9IR6K-G2C3X
See also Specifying a Pervasive PSQL Key.
3
4
MSIEXEC.EXE /i <PervasiveProductName>.msi /qn
5
Press Enter.
The installation program runs silently in the background with no user documentation installed.
See also Special Considerations for Silent Installs.
Using a Different Configuration File Location With the Setup Executable
The MSI Public Property PVSW_CFG_FILE can be set to use an alternative configuration file by passing a fully qualified file path name. This property must be passed to the Windows process (msiexec) on the command line.
Before passing the property, determine if the property contains a spaces. If the property does not contain spaces, use the following as an example:
SetupName.exe /V"PVSW_CFG_FILE=c:\temp\ConfigFile.ini"
*Note: Do not add a space after the /V command line option.
If the property does contain spaces, you must enclose the property value in double quotation marks preceded by a backslash (\"), as shown in the following example:
SetupName.exe /V"PVSW_CFG_FILE=\"c:\Documents and Settings\UserName\temp\ConfigFile.ini\""
Combinations of the examples above can also be used to pass multiple MSI property settings:
SetupName.exe /V"PROPERTY1=0 PROPERTY2=\"c:\My Path\Some File.txt\""
Using a Different Configuration File Location With the MSI Executable
Only use the MSI executable if the intended target system contains the currently supported version of the Windows Installer. Follow the instructions for specifying MSI Public Properties as documented in the MSDN Knowledge Base topic "Windows Installer Command-Line Options".
msiexec.exe /i "{path}\MSIPackage.msi" PROPERTY1="property value" PROPERTY2=0