ProForm can't find it's databases, an ODBC connectivity test passes, but when ProForm is started, it throws an error. The test system is a small network of Terminal Server and a few Windows 7 machines, a new Windows 7 64 bit machine was installed. ProForm Classic 12.2 is throwing a PFWIN-028 error message, cannot initialize databases. Starting ProForm as Administrator using this registry entry to allow drive mappings to occur works fine, but requires the user to click an extra dialog box on one computer but not the rest of the network.
If the SQL Server's firewall is turned off, ProForm fired up no problem. That too wasn't a solution, but was a hint to the solution.
The SoftPro SQL Instance entry in the Firewall showed both Ports 1433 and 39930 open with 39930 set to dynamic .
The ODBC connector was set to dynamic ports, trying port 1433 failed, setting it to port 39930 succeeded, bringing ProForm up operating normally for the computer. The rest of the computers on the network simply are set to dynamic with no port number specified. Yet this one machine required an explicit port entry to work.
There is a little bit more to this story. This only worked because there was configuration entry allowing SQL server to listen on port 39930.
In SQL Server Configuration Manager, there is an entry under SQL Server network Configuration for Protocols for SOFTPRO right click on the TCP/IP protocol to bring up it's properties. Then navigate to the IP Address Tab at the bottom of the box the TCP Dynamic Ports value is set to 39930.
That fixed the need to modify UAC settings or give the user a UAC prompt keeping this client on the track of Best Practices. On the down side if ProForm is run elevated, it can write it's last used files list to its .ini file. There is a Windows 7 cure that might make a blog posting soon.
Setting the ODBC Connector
On a 64 bit machine Start C:\Windows\SysWOW64\odbcad32.exe , Click on System DSN
Select a ProForm Database and select Configure, it really doesn't matter which one you choose, they all use the same configuration item. Using the PfPx Database is nice an d safe, highlight that and select Configure. Click Next, Click Client Configuration.
Initially Dynamically determine port was selected. Toggle it to enter the specific port number your system is configured to use.