In order to build on one machine and run on another machine of
the same architecture
First the concerns for all Unix based platforms
The bin and lib directories have to have been created
on the run machine in the same directory tree as on the build
machine. So if you were running on a Solaris machine and on
your build machine you have created /usr/local/insure in this
location you should have both of these on your run machine.
In your bin directory the following binaries have to
have been copied from your build machine.
gus insra islave pslic psrcdump
On 64 bit architectures you will also need
Then in your base directory /usr/local/insure in this example.
You will need to make sure that you have a .psrc file with
a runtime license or entries telling it where Licenseserver
is running as well as the various options you want set.
Some platform specific concerns:
On Linux Solaris HP
copy all of Insure's libraries from the lib directory on
the build machine to the lib directory you created on
the run machine.
For Linux or Solaris set the environment variable
LD_LIBRARY_PATH to include the lib directory
For HP set the environment variable SHLIB_PATH to
include the lib directory.
The concerns are if the machines have the same basic oslevel
on both machines to determine if the same thing is returned.
And if they are the same oslevel do they have different libc's
and/or libpthread libraries. Insure creates it's libraries
below what amounts to
<your base insure directory>/lib.aix5/`oslevel`
And if you have one machine that oslevel returns 22.214.171.124 and
one that returns 126.96.36.199 you would merely
cd <your base insure directory>
on both of those machines and you would end up with directories of
<your base insure directory>/lib.aix5/188.8.131.52
<your base insure directory>/lib.aix5/184.108.40.206
and this present's no problem as it only requires that we build
with the correct -blibpath set.
But if machine A and machine B both return the same value
for oslevel and have different libraries installed then the
replacement libraries that insure has to create will not be
However you could workaround this by first configuring
for an individual Developer then
cd <your base insure directory>
cp -R lib.aix5 Developer.lib.aix5
Then Developer would need to set his LIBPATH for anything
that he built with insure like
env LIBPATH=<your base insure directory>/Developer.lib:<your base insure directory>/Developer.lib5/220.127.116.11 ./a.out
First, consider, can you simply install a copy of Insure++
on the target machine and get a runtime license for that
That is by far the easiest approach.
If Visual Studio is not on the target machine, the easiest
way to get Insure++ to successfully install on the target is
to have it first invoke msdev through a network share. e.g. run
\\ahost\shared-C\Program\ Files\Microsoft\ Visual\ Studio\Common\msdev98\bin\msd
and then close DevStudio.
If the network share is still available when Insure++ is
installed, the installation should proceed normally, even
though DevStudio is not technically installed on the target.
If for some reason the above is not acceptable and the two
machines have the same exact OS, proceed with the following steps:
1. Copy the instrumented executables and the pdbs from host to target.
e.g. copy \\ahost\myprogram.exe C:\myprogram.exe ;
copy \\ahost\myprogram.pdb C:\myprogram.pdb
2. Copy required executables from host to target
(note that the directory must be named bin.Win32).:
insure.dll, vahfer.dll InsureSpy.exe gus.exe mspdb60.dll
msdia20.dll or msdia71.dll if using vc7 compiled executables,
insfixreg.exe InsurePanel.exe InsureVc7Addin.dll insure.exe
(insfixreg.exe checks for the existence of InsureVc7AddIn.dll
insure.exe, and InsureSpy).
e.g. copy \\ahost\Program\ Files\Parasoft\Insure++\bin.Win32\Inject.exe C:
3. You will probably also want to copy optional executables from
host to target:
islave.exe psrcdump.exe Insra.exe TCA.exe Inuse.exe inject.exe
4. Copy the ins.reg files from the host to the target.
Note that these must be located in a directory called lib.Win32
that is a sibling directory to the Insure_bin directory.
e.g. copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\ins.reg
copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\Win32\ins.reg
copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-5.0\ins.reg
copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-6.0\ins.reg
copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-7.0\ins.reg
copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-7.1\ins.reg
5. When the target machine has any version of Visual Studio installed:
A. Copy the necessary libtql* and tql files from the host.
e.g. copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\libtql*
copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\Win32\*.tql
from the command line.
This will create the lrt cache.
6. When the target machine does not have any Visual Studio installed.
A. run insfixreg -nospy -nointegration on the target machine.
B. Copy the contents of the lrt-cache on the host to the target
(note1 that target OS must be the same as the host OS)
(note2- the lrt-cache must be located inside the lib.Win32 directory on the target).
copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\lrt-cache
7. Optionally set gus-cache in the advanced tab of the InsurePanel.exe
e.g. gus_cache C:\gus-cache
8. Run the executable under inject.exe or InsureSpy.exe.
If the target windows OS is different than the host windows OS we may
be able to create the lrt-cache for you but this would only be done for