>>Your users will need those OCXs registered. The setup wizard can handle that. Many of those .DLLs are basic Windows files which people will probably have. I don't know if it's safe to assume so. If you do distribute them, the setup program should probably be checking the filedates and overwriting only if yours are newer. I don't know if the Setup Wizard can handle that. We use DynaZip in-house, so we don't need to worry about all these things. I'd also be interested in knowing the right way to do this, in case we ever distribute our app more widely.
>
>
>We use Installshield 5.0 pro to distribute. It handles only overwriting newer date/version very well. Havn't tried it with the setup wizard.
I think you've made a good move using InstallShield (that's what I write mine with using 5.5 Pro), although I use a Setup Wizard install to drop in the runtime within my InstallShield script. I've learned a bit about how Setup Wizard seems to be driven using the .STF, that might be helpful.
With Setup Wizard, things identified as ActiveX controls seem to be installed with the InstallSysFile verb, which updates based on version, and uses the Setup API to delay copy for shared files. Things not identified as ActiveX are put in place with the CopyFile verb, which does not handle shared component copies, and does not seem to check versions (I haven't tested for time/date stamp.) There's also an InstallShared verb that I've found in other .STF files that uses the Setup API copy, but never in one I've generated with VFP. I'm not certain what the difference between InstallSysFile and InstallShared are exactly.
There's also a SelfReg verb, which triggers the self-registration code in .DLL files (OCXs are just .DLLs with a funny name), normally triggered against things copied with InstallSysFile successfully. For example, VFP6R.DLL is put in place by InstallSysFile in one of my VFP6 runtime constructs on line 33. Line 34 is a Depend (a conditional execution) in the form
Depend 33 ? 35, and line 35 invokes SelfReg, so the copy and registration are separate. If you find that your file is either not being copied conditionally, or it isn't self-registering, you might try hacking the STF file a bit.