Moxy 6.0 on Windows 2008 R2 Terminal Server

I was recently tasked with the construction of a Windows 2008 R2 terminal server for a financial company running the typical Advent applications: Axys and Moxy.

Needless to say.. Axys was easy and Moxy doesn’t natively support 64-bit Windows so it was a pain in the neck. I made it work however, and this is how:

1. I did the obvious and installed the 64bit versions of all the components Moxy needs (vcredist x64 and x86, SQL client components x64, SQL Server 2005 ADOMD, ASOLEDB9, BC x64)

2. Then I created an ODBC system connection that points to the SQL server with username and password saved. Name it MOXYDSN32

3. x64 saves ODBC in the same reg key as x86… but the application is looking in the x64 key– stupid. I don’t know who’s fault that is at Microsoft, but you sir, are not my friend. Normally ODBC is saved in:
HKLM/Software/ODBC/ODBC.INI/

…but you have to export and import the MOXYDSN32 key to:
HKLM/Software/Wow6432Node/ODBC/ODBC.INI/

4. Now because the installation process won’t run at all, we have to manually run install. Luckily, when you install Moxy on a PC that DOES work it saves a log. This log basically boils down to this batch file:

@echo off
copy M:\Moxy60\msxml4.dll C:\WINDOWS\system32\msxml4.dll
copy M:\Moxy60\msxml4r.dll C:\WINDOWS\system32\msxml4r.dll
copy M:\Moxy60\winhttp5.dll C:\WINDOWS\system32\winhttp5.dll
regsvr32 C:\WINDOWS\system32\msxml4.dll
regsvr32 C:\WINDOWS\system32\winhttp5.dll
copy M:\Moxy60\sqlis3.dll “C:\Program Files\Common Files\System\OLE DB\sqlis3.dll”
copy M:\Moxy60\sqlis3r.dll “C:\Program Files\Common Files\System\OLE DB\sqlis3r.dll”
copy M:\Moxy60\sqlvdr3.dll “C:\Program Files\Common Files\System\OLE DB\sqlvdr3.dll”
copy M:\Moxy60\sqlvdr3r.dll “C:\Program Files\Common Files\System\OLE DB\sqlvdr3r.dll”
copy M:\Moxy60\sqlxml3.dll “C:\Program Files\Common Files\System\OLE DB\sqlxml3.dll”
copy M:\Moxy60\sqlxml3r.dll “C:\Program Files\Common Files\System\OLE DB\sqlxml3r.dll”
copy M:\Moxy60\xblkld3.dll “C:\Program Files\Common Files\System\OLE DB\xblkld3.dll”
copy M:\Moxy60\xblkld3r.dll “C:\Program Files\Common Files\System\OLE DB\xblkld3r.dll”
regsvr32 “C:\Program Files\Common Files\System\OLE DB\sqlvdr3.dll”
regsvr32 “C:\Program Files\Common Files\System\OLE DB\sqlxml3.dll”
regsvr32 “C:\Program Files\Common Files\System\OLE DB\xblkld3.dll”
regsvr32 M:\Moxy60\axysdata.dll
regsvr32 M:\Moxy60\mxapxexprt.dll
regsvr32 M:\Moxy60\mximprt.dll
regsvr32 M:\Moxy60\moxycsv.dll
regsvr32 M:\Moxy60\qbcontxt.dll
regsvr32 M:\Moxy60\qrybldr.dll
regsvr32 M:\Moxy60\editqitm.dll
regsvr32 M:\Moxy60\qbedit.dll
regsvr32 M:\Moxy60\mxusrdatamgr.dll
regsvr32 M:\Moxy60\mxqrytree.dll
regsvr32 M:\Moxy60\mxrulemgr.dll
regsvr32 M:\Moxy60\mxPubSubCOMWire.dll
regsvr32 M:\Moxy60\mxPubSubPSPRovider.dll
regsvr32 M:\Moxy60\mxPubSubRemoteProvider.dll
regsvr32 M:\Moxy60\mxProviderComDlg.dll

Running this as a batch file will install Moxy. M:\ is the network drive Moxy is installed to. I do not work for Moxy and this is not a supported configuration. There are some bugs that I haven’t been able to work out (random error messages that don’t affect the overall functionality).