Monday, July 11, 2016

FactoryTalk by Rockwell Automation

FactoryTalk is a suite of software for machine process monitoring and control.  It can be configured to provide customised solutions via its client/server/database software architecture.

Client side items for installation can be numerous and be of significant size.  For a suite of software the installation seems fragmented and poorly planned apparently without a silent install options (the patches did).  It is a mixture of MSIs, GUI driven setup shell executable programs (which call extracted MSIs), configuration tools, runtimes, redistributables, and batch file driven patches.

Sequencing with App-V 5.1 did not produce a working package, possibly due to "DCOM Subsystems detected" A launch error appeared when a launch was attempted
FactoryTalk View SE Client
"The software requires personalized information that cannot be read. Please contact Rockwell Technical Support."

One possible approach to packaging is to turn on MSI logging in the registry and then run an interactive installation.  By checking the logs and the MSIInstaller event sources in the Application Event logs, it is possible to create a list of the MSIs which have been called.  Some of the MSIs are harder to obtain because they are not in the source but extracted temporarily into the temp folder at install time.  This requires that an interactive installation is activated and the temp MSI folders are copied.  The next stage is to collect the MSIs together and create master cmd script to call them in the required order with any patches.

Directory Server and Activation server are configured in the registry at respectively
HKLM\SOFTWARE\Rockwell Software\RNA\Directory
HKLM\SOFTWARE\Rockwell Software\FactoryTalk Activation\ClientSearchPath

This is a clip from the master cmd installer.  This shows how the %~dp0 is used with call commands to activate the batch file driven patching before continuing with other MSI commands.

msiexec /i "%~dp0\3. FTView\FTAE\FTAE.msi" TRANSFORMS="%~dp0\3. FTView\FTAE\FactoryTalkCCCS_70000_s1.mst" TFLCTPSERVER=PDC2CTP001 /qn /l*v c:\Source\Installlogs\FactoryTalk_CCCS_70000_s1_I_SFTAE.log /norestart

::Stage five
cd "%~dp0"
cd "5. FTView-Patches-Jul.01.2013"
call InstallAllPatches.bat /S
cd..


Check the InstallAllPatches.bat file for location that you want to modify such as the log file output location.

An uninstall master cmd file can be roughly the reverse of the install.  Some of the uninstalls may not be required because the install routine may have MSIs upgrading previous ones.  Also you may wish to leave isntalled the MSIs with common or runtime components.