====== OpenInsight 9.1 Workstation Installation - Best Practices (Installation) ====== ====== ====== ==== Created at 02 JUN 2009 01:38PM ==== **Article Overview ** Each workstation that accesses an OpenInsight application requires several libraries and supporting MSI packages to be installed. This article presents several methods to prepare new workstations using the ClientSetup.exe program provided in the OpenInsight directory. The methods range from manual installation to remotely pushing the installation package to workstations.   OpenInsight should be installed and shared from a network folder before following the guidelines listed. If you have not already installed OpenInsight please refer to the installation instructions and then return here to setup additional workstations.   **Download Files** Click the link below to download the example VB scripts referenced throughout this article. The scripts are provided as examples for modification and integration into your distribution. [[http://www.revelation.com/o4wtrs/KB_Articles/KB0260_files/OpenInsight%209.1%20ClientInstall%20Script%20Examples.zip|{{kb0260_1.png}} ]]   **Method 1: Manual Installation** Small networks without an active directory domain controller should use this method. It is the easiest option and requires no scripting or silent installations. Simply log into the workstation with administrative rights and launch the ClientSetup.exe that is located in the same directory where you installed OpenInsight. All of the libraries will be installed and any errors during installation will be immediately visible.   **Method 2: Silent Installation From Script** Automating the manual installation process will reduce time spent setting up new workstations and prevent inconsistent workstation configurations. If your organization's workstations are setup by hand this method will help automate the setup process. In the next section this process will be extended to cover installations from a domain login script.   To begin, determine the ClientSetup.exe silent install arguments for your environment. From a command prompt change to your OpenInsight directory and execute"ClientSetup.exe /?" to display the command line arguments for silent installation. See image blow:   {{kb0260_2.png}}   Tip! The the order of the command line arguments should be consistent with the usage example above. Some arguments can be omitted but do not alter the placement order in the parameter string. For argument values with long file names or spaces do not quote the values.   Description of arguments: |/S|Silent installation flag. If omitted a normal installation will launch. | |/F|Name of start menu folder for shortcuts. Creation of folder can be overridden with the /G argument. Argument is optional. Default value is "OpenInsight Development Suite - Client" if not specified. | |/E|Path and file name to write the result of the silent install. File will be created if it doesn't exist. Useful for debugging failed silent installs. If omitted no status will be recorded. | |/G|Boolean argument. Enables or disables creation of the start menu group with the name specified in the /F flag. Default is to create start menu items. | |/O|Path to folder where oinsight.exe is located. The setup assumes the working directory is were OpenInsight is installed. This setting is required if ClientSetup.exe is not launched from the OpenInsight directory or the current working directory cannot be set.| |/D|Path to local directory on client where the setup will install required components. Default path if not specified is "C:\Revsoft\OIClient" |   Command prompt examples:   Install from the OpenInsight directory using all default values. clientsetup.exe /S   Install from UNC path. "\server1\Revsoft\OpenInsight9.0\clientsetup.exe" /S /O=\server1\Revsoft\OpenInsight 9.0   Install from the OpenInsight directory and suppress start menu. clientsetup.exe /S /G=0   Install from UNC path with all command line arguments specified - no defaults. "\server1\Revsoft\OpenInsight9.0\clientsetup.exe" /S /F=My OI Application /E=C:\revsoft\ci_result.txt/G=1 /O=\server1\Revsoft\OpenInsight9.0 /D=C:\Revsoft\OI Client Install     **Method 3:Silent Installation fromDomain Login Script** Small and medium networks with a active directory domain controller can silently install the ClientSetup.exe from a domain login script during workstation login. __A basic understanding of VB Script is required tocomplete this method__. This article assumes you have an existing login script for connecting network resources so it will not cover the setup of a new login script. Users must also have sufficient rights to install software on their local workstation. If users to not have sufficient rights the last method can push the client installation onto a workstation.   To begin, determine the ClientSetup.exe silent install arguments for your environment. Please refer to the previous section for examples and usage. You will need these arguments later.   Instead of calling clientsetup.exe directly from the login script we will use a helper VB Script routine. This routine will first check to see if the ClientSetup.exe is installed and skip the installation if it already exists. Download and save "clientsetup loginscript.vbs" to a folder that users can access during login. Follow these steps to adapt the script to your environment:   In our example the "clientsetup loginscript.vbs" has been saved to"\appserver\apps\scripts\clientsetup loginscript.vbs".   1.     Open the "clientsetup loginscript.vbs" in your favorite text editor. 2.       3.     Locate the variable strSilentInstallArgs and replace it with the command line arguments that you previously setup. The screen shot below shows an example. 4.       5.     {{kb0260_3.png}} 6.       7.     Locate the variable strWorkingDir variable and replace it with the path to the clientsetup.exe. 8.       9.     {{kb0260_4.png}} 10.    11.  Save and close the script. 12.    13.  Edit your login script and add the path and file name for it to your login script. Based on our example the path is: 14.    15.  \appserver\apps\scripts\clientsetup loginscript.vbs 16.    17.  Note, you may need to specify the script interpreter if it does not execute. Of so, change the line to: 18.    19.  wscript "\appserver\apps\scripts\clientsetup loginscript.vbs" 20.    21.  Test the login script on a fresh workstation. When completed  a message will appear saying the client install succeeded. 22.    23.  Tip: If you don't have a fresh workstation or you want tore-test uninstall the clientsetup.exe. In "Add/Remove Programs"uninstall "OpenInsight Development Suite -Client 9...". 24.    25.  Finally, open the "clientsetuploginscript.vbs" in your favorite editor and change bSilent to "False". This will prevent the user from seeing any messages except if the installation fails. 26.    You now have a VB Script wrapper to clientsetup.exe that will selectively install only if there is no existing installation.   **Method 4:Silent Installation from Administrative Workstation Push** This method is best suited for medium and large networks with tightly managed workstations. A user in this environment doesn't have access to add or remove software on their workstation.Having an administrator go from workstation to workstation is time consuming and tedious. This article demonstrates how an administrator can remotely push the setup to remote workstations. To use this method the workstations must be joined to a  active directory domain and have "Trust computer for delegation" enabled. A firm understanding of VB Script is required to adapt this method for your organization. Microsoft .Net Framework 2.0 must also be installed prior to a silent installation.   To begin, determine the ClientSetup.exe silent install arguments for your environment. Please refer to the previous section for examples and usage. You will need these arguments later.   1.     From a management workstation (or server) download "clientsetup push.vbs" and save it to a local folder.In this example we will use "C:\Revsoft\Scripts". The management workstation in this example is "ash.corpdomain.com" and the destination computer the setup will be pushed to is "vmdrone0309-2.corpdomain.com" 2.       3.     Create another folder and share it. This folder will be used by client computers to save the installation logs into. Specify rights so only the administrative user can write to it. Because the installation is completely hidden from the user it cannot interact with the destination system or the management workstation (or server). For example,"C:\Revsoft\Client Install Logs" is shared as"\ash.corpdomain.com\Client Install Logs" 4.       5.     {{kb0260_5.png}} 6.       7.     Launch the "clientsetuppush.vbs" script and follow the on screen prompts. 8.       9.     Enter the UNC or path to the mapped network drive. Remember,all paths are from the destination computer and not the management station. Forbest results use UNC paths. 10.    11.  {{kb0260_6.png}} 12.    13.  Enter the command line arguments that you previously tested for your environment. Remember, all paths are relative to the destination computer. In the example below the arguments entered are: 14.    15.  /S /O=\server1\RevSoft\OpenInsight 9.0 /E=\ash.corpdomain.com\Client InstallLogs\vmdrone0309-2.txt 16.    17.  Tip! Use the shared folder setup during step 2. as the output location for the /E= argument. This argument specifies the path and file name of the status file. 18.    19.  {{kb0260_7.png}} 20.    21.  In the example above the silent installer will run silently on the destination computer and read the "\server1\RevSoft\OpenInsight9.0" folder for the location of the installer files. A status file will be written to "\ash.corpdomain.com\Client InstallLogs\vmdrone0309-2.txt" 22.    23.  Enter the computer name of the destination computer. This is the target computer where the installation will launch from. In our example"vmdrone0309-2.corpdomain.com" is where we want to install the client package. 24.    25.  {{kb0260_8.png}} 26.    27.  Enter the user name and domain of the administrative account.The account should have rights to install software on the destination computer,access the network share where OpenInsight is installed, and have write access to the folder specified in the /E= argument. 28.    29.  {{kb0260_9.png}} 30.    31.  Enter the password for the account. Please note, the password is not saved anywhere and it is not obfuscated like normal password fields. An internal limitation to VB Script prevents masked password fields. 32.    33.  A message will appear indicating the status of the install process. This does not indicate the result of the installation, only that the processes was remotely executed on the destination computer. 34.    35.  Check the file specified in the /E= argument. In our example"\ash.corpdomain.com\Client Install Logs\vmdrone0309-2.txt". In the image below the file was written and the contents indicate a successful installation. 36.    37.  {{kb0260_10.png}} 38.    39.  Hint: If no file is written here are troubleshooting tips:         The clientsetup.exe from the destination computer did not have access to the path and file name in the /E= argument. Check the"Add/Remove Programs" list on the destination computer and verify         The clientsetup.exe failed to launch or was terminated after starting on the destination computer. Check the "Application" event log on the destination computer.           To use this method for multiple computers adapt the script to suite the needs of your organization. The list of computers to push the script onto could be retrieved from an Active Directory organizational unit, flat file, or any other datasource VB Script can access. Simply loop the calls to the vbscript function push ClientInstall() in "clientsetuppush.vbs" The location of the status file could be pre-scripted by the script so each system returns a unique script. Another possible scenario is to forgo the status file and have the script re-check each workstation to see the correct software is in the add/remove programs list (see clientsetuploginscript.vbs function queryClientInstalled() ).