02. Installation of Application Packages
This paper discusses network server installation of RAPID RMA under Windows.
The RAPID RMA installation package (Windows version) is engineered toward standalone installation on the client's personal computer. It assumes that Java is installed on the local computer. In the current implementation of the installation process, RAPID RMA will try to locate the appropriate release of the Java run-time (JRE) through Java entries in the Windows Registry. If it fails, it creates the "start script" rma.bat as a stub that will retry that check on the Windows Registry. It also issues a message that you should rerun this after the appropriate Java is installed. When this part of the installation process does locate the Java run-time, it creates the real "start script" rma.bat that invokes Java (using the full path name it determined from the Windows Registry entries) with the RAPID RMA class.
For evaluations and for users that purchase node-locked licenses, this design works quite well. When clients purchase floating licenses, they may prefer to install the application on a network server for the users to share, rather than install the software locally on every client host. The usual tradeoffs are present. There may be some performance gains when the software is installed locally at each client host. However, system administration can be reduced when a site makes use of a single shared copy of software on a server.
In large-network, multi-user situations, it may well be preferred to install the the software on one or a few servers rather than every client host. This tech note describes how one may setup such a configuration and what needs to be installed locally at the client host in order to run the application.
Now let's consider the installation when we have a floating license and we wish to install one copy of RAPID RMA that all the end users will share. I'm not sure there is much utility in doing this with a node-locked license but it could be done. In summary, one would create a folder called License in the RAPID RMA work area, and put the local license.lic file in that folder. One would need to always start the application with the RAPID RMA work area as the current working directory. (The RAPID RMA work area is discussed in Section 03.) That case won't be considered any further.
Let's map out the situation we want to address.
The FLEXlm license manager runs on the host licserv (basically as described above in the section on floating licenses).
The Java JRE is installed on the host javserv in the C:\Program Files\Javasoft directory. Furthermore, suppose that the directory C:\Program Files\Java\jreX is read only shared with everyone.
The RAPID RMA application is installed on the host appserv in the C:\Program Files\RapidRMA directory. Furthermore, suppose that the directory C:\Program Files\RapidRMA is read only shared with everyone and has the resource name RAPID RMA.
Also, in Windows there is a "system" folder located in the "system root" folder, and that is one of the standard locations where Windows looks for DLLs. Usually the "system root" folder in 32-bit Windows is C:\WINDOWS for Windows XP, Vista and Windows 7. And within that, the system folder is named "system32" in XP/Vista/7 Windows (thus C:\WINDOWS\system32). RAPID RMA's DLLs are installed here, and we will need to take some action to ensure these DLLs can be found by the client.
The end user keeps their data in a folder in the My Documents folder. I am thinking of this as the location pointed to by the My Documents desktop icon. This might resolve to a location on the local computer or it might be on a file server. We assume the end user creates a RAPID RMA folder inside the My Documents folder and this will serve as the current working directory when they run RAPID RMA.
Unlike many Windows products, our file chooser does not offer the desktop abstractions like My Computer, My Documents, and Network Neighborhood. So one needs to know the actual drive letter and the chain of folders to navigate to the end user's local data area when opening or saving a model.
The installation of application packages on the server (Section 02) would be done by a system administrator. It requires administrator privileges on the servers. Creating the end user's work folder (Section 03) and adding Start Menu and desktop icons (Section 04) may be done by the end users themselves.
There are no changes in the installation of the FLEXlm license manager and the Java JRE on their servers. The RAPID RMA application requires some hand tweaks to get it ready to run. The activities described in this section are done on the server and administrator privileges are required.
Let us suppose that, as a system administrator, we are installing the RAPID RMA application on the appserv host. We are logged into that host. There are two points of concern here.
The RAPID RMA installation process will try to find the Java JRE in order to create the rma.bat "start script". Even if it did find something, it might not what we want the clients to use. So we will create the client rma.bat ourselves. A full "start script" is derived in the next paragraphs.
Even if the installation process found a suitable JRE, the path name it provides is almost inevitably unsuitable for referencing the JRE from the end user's host, given the drive mapping and resource names that are used to export the folders from the server. So regardless of what occurs here during the installation, we will need to create a "network version" of the rma.bat.
The RAPID RMA installation puts some DLLs into the appserv's C:\WINDOWS\system32 directory (for 32-bit Windows). But let's assume that directory is not shared, and even if it were, it would not be a default location where the client system would look for libraries. So we'll move the files back to the RAPID RMA installation directory (which is shared), and set the path on the client so that the libraries will be found.
Now let's step through the process and apply our fixes. This starts with the installation of RAPID RMA. Everything runs like normal until at the end, the RAPID RMA likely complains it could not find Java registry entries. At the dialog box to search for the Java JRE Click on the Cancel button to quit the process.
Now copy or move four DLL files from the server's system directory (say, C:\WINDOWS\system32) back to the RAPID RMA installation directory (say, C:\Program Files\RapidRMA):
RapidRMA.dllI think the clearest way to reference the resources on other hosts, is to "map drives". I am going to incorporate the mapping in the rma.bat file we are create. Of course, each client host may have different sets of drive letters in-use and available, so each client may need to make minor modifications of the drive letter to adapt the script for use on their computer. It is certainly feasible to create the script to use the UNC names and not use drive letters at all, but it would be more difficult to read this documentation.
Let's say we use drives "J" for the Java and "K" for the RAPID RMA. So our first step will be to map the drives.
NET USE J: \\javserv\JRE6 NET USE K: "\\appserv\RapidRMA"Next, set our executable search path to find the RAPID RMA libraries. We'll invoke Java with its full path name, so we don't need to include a specification for it into the executable search path. Let's save the old path so we can restore it at the end.
SET OLDPATH=%PATH% SET PATH=K:\Tell the RAPID RMA application where the license manager is located.
SET TRIPAC_LICENSE_FILE=27006@licservRun the application
J:\bin\javaw.exe -cp K:\;K:\jbcl.jar;K:\dx.jar;K:\RapidRMA.jar com.tripac.rapidrma.RapidRMARestore the environment, and disconnect drives when the Java application ends.
SET TRIPAC_LICENSE_FILE= SET PATH=%OLDPATH% SET OLDPATH= NET USE K: /DELETE NET USE J: /DELETEAnd so that is our network version of the rma.bat file. As the first step we might also turn off the display of the lines as the execute. Incorporating that and consolidating the lines we have the file whose contents are shown in Figure 02-A.
| @ECHO OFF NET USE J: \\javserv\JRE6 NET USE K: "\\appserv\RapidRMA" SET OLDPATH=%PATH% SET PATH=K:\ SET TRIPAC_LICENSE_FILE=27006@licserv J:\bin\javaw.exe -cp K:\;K:\jbcl.jar;K:\dx.jar;K:\RapidRMA.jar com.tripac.rapidrma.RapidRMA SET TRIPAC_LICENSE_FILE= SET PATH=%OLDPATH% SET OLDPATH= NET USE K: /DELETE NET USE J: /DELETE |
Put a copy of this into the RAPID RMA installation directory:
Change directory to the RAPID RMA installation directory.
cd C:\"Program Files"\RapidRMAIt is intended that the end user will copy this file to their own host and run it from their machine. Whoever sets this file up on the end user's host may need to change the drive letters.
We need to copy some files from the RAPID RMA installation to the end user's work area. This task may be done by the end user, it does not require an administrator. Let's assume the end user will keep their RAPID RMA work in a sub folder of their "My Documents" folder.
In the end user's "My Documents", create a folder. Perhaps RAPID RMA would be a reasonable name.
Now copy some files and folders to the RAPID RMA work area. Using Windows Explorer and the Network Neighborhood, you can drag the files and directories from \\appserv\RapidRMA to My Directory\RapidRMA. Here is the list of files to copy.
This is the "start script" for the RAPID RMA application. We constructed this in the previous section (Figure 02-A). Edit and make any modifications as appropriate (eg, perhaps the drive letters there are allocated and need to be renamed).
RapidRMA.ico (optional)This is the RAPID RMA icon file for use with shortcuts. We discuss the creation of shortcuts next. It's nice to use a special icon for the application.
data (optional)This folder contains example models. Copy this folder across so the user can conveniently view, modify, and save the examples.
At this point, one could use the DOS Command Prompt to start RAPID RMA. When the command prompt window appears, change directory to the RAPID RMA user work area and start the rma.bat program by typing
rmaAlternatively, one could open "Start Menu" "Run". Then browse to select My Documents\RapidRMA\rma.bat and click on "OK" buttons to start it.
However, to tie the application into the end user's desktop, we want to create a shortcut in the "Start Menu" and possibly on the desktop.
The next section describes how to do that.
To make the application installation look professional and integrated into the desktop, we want to create a shortcut in the "Start Menu" and possibly on the desktop. We proceed to describe that process here. These operations may be done by the end user, it does not require an administrator.
Each version of Windows seems to have some differences among the labels and layouts of the dialog boxes. However, navigating to the dialog boxes is quite similar among the different versions, so I will describe it fairly generically. The screen shots come from Windows 2000 Professional (still applicable even with WindowsXP/Vista/7 for 32-bit versions). (One non-standard configuration element that shows up is that my "My Documents" location is E:\My Documents rather than C:\Documents and Settings\donp\My Documents).
To give the client machine an entry in the "Start Menu", Windows provides a couple methods. One may drag the icon for the rma.bat file to the Start button. Another method is navigate through "Start Menu" button "Settings" "Task bar" to bring up the "Task bar and Start Menu Properties" dialog box. Click on the tab labeled "Start Menu" "Programs" or "Advanced" to see a page similar to that shown in Figure 04-A.
![]() |
Click on the "Add" button to start a "wizard" for creating a shortcut. Fill out the form on several dialog boxes to create a shortcut to the My Documents\RapidRMA\rma.bat.
Having created the shortcut, let's review and fix the properties in a more detailed way. In particular, we want the RAPID RMA icon to display with this entry. In the "Task bar and Start Menu Properties" dialog box, click on the "Advanced" button. This brings up the Windows Explorer on the "Start Menu" "Programs" sub tree. In the left panel, click on "Programs" to get view analogous to that in Figure 04-B.
![]() |
Find the RAPID RMA shortcut in the right hand pane. You can edit the name (the name that appears in the Start Menu) in the usual Windows Explorer way. Right-click on the corresponding entry to popup a menu and select "Properties". The shortcut properties dialog box appears. Click on the "Shortcut:" tab. This looks like the dialog box in Figure 04-C.
![]() |
Let's consider the significant attributes of the shortcut as relates to our concerns here. Not all the versions of Windows have exactly the same set of text boxes in this dialog box. Hopefully it is easy to relate the attributes to the text boxes that you do have.
This is the name of the shortcut and the name that appears in the "Start Menu" "Programs" menu. The name can be changed using any of the standard Windows Explorer methods to rename a file (Figure 04-B).
TARGET (COMMAND)The target is the command-line string to invoke the application. In our case, there are no options or arguments to pass, so we just give the full path name of the rma.bat file to invoke the application. This target can be changed by editing the entry. The name of the program file can be changed by browsing if you click on the "Find Target" button and selecting a file in the subsequent dialog.
START DIRECTORY (START-IN)The start-directory is the folder in which the application starts when invoked. That is, it is the current working directory when the application starts. In the way we have configured things (Section 2), this should by the folder "My Documents\RapidRMA". There should be a sub folder resources and the "start script" rma.bat in this directory. Change the attribute by editing the value in the "Start in:" text box.
WINDOW TYPE (RUN)The DOS command window may be set to one of three modes "Minimized", "Normal window", or "Maximized". Initially, the shortcut uses "Normal window". This (and the commenting out the first line @ECHO OFF of the rma.bat file) can be useful for debugging. Later it may be nice to minimize the window so only an icon appears in the task bar Then the application window appears without the command window showing on the desktop. Change this attribute with the by making a selection from the "Run:" pull down menu.
ICON IMAGE
This is the name of the image file that serves as the icon image. Change the icon image by clicking the "Change Icon ..." button and selecting an image file in the subsequent dialog. Based on the discussion above, we expect this to be the end user's RapidRMA\RapidRMA.ico file in their "My Documents" folder.
Once the shortcut is all fixed up appropriately it could be copied to the desktop if you use this application frequently. You can drag it from the Windows Explorer pane (Figure 04-B) to the desktop. I suggest you use a right-button drag, and then you can specify whether you want the icon moved, copied, or a shortcut made, and you should specify it is to be copied.