>>Four of these need to be registered. Is all that just for development purposes or is it necessary when I send it out? Anyone had problems distributing to clients? Thanks for your input.
>>
>>>>Marcus.
>>>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.
>>
>>The files needed for distribution of zip and unzip activex controls are clearly spelled out in a file called dzactivex.txt (when you received the activex controls). No, you don't have to send all of those files. I have the activeX.txt file I can send you that spells it out if you can't find it.
>>I am using InstallShield Express instead of vfp's install wizard. I marked the files so they would self-register themselves.
>>Robert
>
>It is possible to use just the .DLL thru VFP. Then all you need to do is distribute the .DLL with your app.
>
>The VB example that ship with dynazip are quite easily translated to VFP, except that you do need to pass a structure as a parameter to the .DLL, which means some messing about with strings. But as it negates the need to register OCXs etc, I would use the .DLL
I don't know DynaZip, but from a portability perspective, I'd rather use ActiveX/OLE than an API call for any of a number of reasons - readability of code are just a couple of reasons. Registration of a control just isn't that difficult (either using REGSVR32, or the API registration functions (there are samples of using the API-based self-registration calls in the FAQ here) and if lots of structures with embedded pointers, or arrays, are used by the .DLL calls, the VFP code will be a lot cleaner with OLE Automation.