----------------------------------------
·
The SF ActiveX conduit
is confusing and poorly documented.
·
The
following excellent summary is courtesy of Strom Domer. This was originally posted on SF Talk and is
reproduced here with his permission.
·
This
example is for version 5.2.2a, the most current version at the time of this
posting. You may need to make
appropriate changes for your version
I'm going
to chime in here because the SF documentation is out of date on this and I,
too, couldn't find anything that explicitly addresses this on this forum.
Everyone wants to "avoid the hassles" and use the TopSync extension
which is wonderfully conceived and written. There is no excuse for incomplete
and out of date documentation, however, and it is possible to do all this
yourself.
First thing to understand is these "redist" files need to be
installed on your end-user's computer, I usually put these in the SYSTEM32 (or
equivalent) directory:
SF52RDK.prc
RdkInst.exe
SFrmCn52.dll
SFrmUt52.dll
useredit.dll
mfc40.dll
msstkprp.dll
These files go in the "common files" directory, usually at
C:\Program Files\Common Files\Satellite Forms 5.2\Bin
..\SFrmAx52.ocx
..\sddi\Sddi_PalmDB.dll
..\sfddb\DdbDBF.dll
Note that you can put all of these files anywhere you want provided you make
certain all the paths are correct in your desktop application and related. The
DLL's and OCX should all be registered with regsvr32.exe (or set to
self-register if you're using an installer with such capabilities such as
WISE).
You also need to create 3 Registry entries:
HKEY_LOCAL_MACHINE\SOFTWARE\Pumatech, Inc.\Satellite Forms 5.2\5.2\Path =
C:\Program Files\Common Files\Satellite Forms 5.2\
HKEY_LOCAL_MACHINE\SOFTWARE\Pumatech, Inc.\Satellite Forms 5.2\5.2\Version =
1280
HKEY_LOCAL_MACHINE\SOFTWARE\Pumatech, Inc.\Satellite Forms
5.2\CurrentVersion\Keyname = 5.2
Couple of notes about that.
The "Path" value must agree with your path if you move files around.
The Version value is 0x00000500 in hexidecimal, 1280 in decimal.
Now, for your install.ini file you'll want something like the following:
[Installer]
EngWinTitle=My App Installer
ConduitPath=C:\PATH\TO\SFrmCn52.dll
[PRC_Files]
PrcFile0=C:\PATH\TO\SF52RDK.prc
PrcFile1=C:\PATH\TO\ECRID0100#MY_APP.PRC
PrcFile2=C:\PATH\TO\My App.prc
PrcFile3=C:\PATH\TO\ECRID0100$MY_APP.PDB
PrcFile4=C:\PATH\TO\ECRID0100_TABLE1.PDB
PrcFile5=C:\PATH\TO\ECRID0100_TABLE2.PDB
PrcFile6=C:\PATH\TO\ECRID0100_TABLE3.PDB
... etc.
Note that the ECRID0100 prefix for each file will be different for your
application. The prefix breaks down like this:
The "E" stands for Enterprise addition (that's what I use, I don't
know if different prefixes are used for other editions).
"CRID" stands for CReator ID. That will be equivalent to whatever you
set in the application's "Project Properties".
The "0100" is the major and minor version numbers concatenated
together with leading zeros. The major and minor version are also entered in
the application's "Project Properties".
You can now run RdkInst.exe. This first bit registers your application's
conduit:
C:\PATH\TO\RdkInst.exe C:\PATH\TO\install.ini -crtreg CRID -name "My
App" -restarths
Finally, to install your app:
C:\PATH\TO\RdkInst.exe C:\PATH\TO\install.ini -instprc
The information in this paper is accurate to the best of
my ability. If you note an error,
please contact me so I can update the document.
Jon Blackman, MD, MS
www.pocketinformatics.com
Revised July 11, 2003