PDA

View Full Version : Cannot load or...'threed32.ocx'



NewsArchive
04-04-1997, 01:00 AM
Maybe someone has had this problem and can give me some insight into what's
going on.

I have a very simple VB4 prg that a customer is having a problem installing
(IE 1.11a). He keeps getting a cannot load or register custom control
'threed32.ocx' error. Being a self registering OCX with no dependent (that
I'm aware of) DLL's, I assumed the problem was a corrupted OCX.

We have tried deleting threed32.ocx from the clients computer, resetting,
and re-installing the prg to no avail. I currently have no recourse but to
use non-3D controls.

Any ideas?

NewsArchive
04-05-1997, 01:00 AM
Make sure all the dependencies of the files are present on the system.
Please refer to the knowledge base article below.

Sincerely,
Wen-Ting
IsntallShield Technical Support

=====================================================================
How To: Using Express to Register DLL, EXE, OCX and OLB Files Automatically
=====================================================================

This document relates to the following InstallShield Express product(s):
All Express Editions
Target Platform(s): All Platforms

----------------------------------------------------------------------------
---------------------------------------------
ISSUE:
----------------------------------------------------------------------------
---------------------------------------------
How can I have the .dll, .exe, .ocx and .olb files in my setup
automatically registered on the target system?

----------------------------------------------------------------------------
---------------------------------------------
DISCUSSION:
----------------------------------------------------------------------------
---------------------------------------------
All editions of Express automatically register any .dll, .exe and .ocx file
containing the "OLESelfRegister" string in the version resource. (Note: The
1.1 version of Express Professional will also check .olb files for the
"OLESelfRegister" flag.)

You can check to see if a third-party .ocx or .dll file contains this
resource by opening the .dll or .ocx file using Borland Resource Workshop
or MSVC++ and then checking the 'Version Information' resource for the
following value:

VALUE "OLESelfRegister", ""

To include this resource in your own DLLs, create an extra string value
field in the version resource for the .dll/.ocx file. This value should
have the name OLESelfRegister. The data for this value is ignored and can
be set to "".

MSVC++ does not currently allow you to add a new value field to the
'Version Information' resource. If you are using MSVC++, you will need to
add this value directly to the .RC file for your project. You can use any
convenient text editor to edit this file and add OLESelfRegister to the
existing values in the .RC file. Make sure you rebuild your .dll/.ocx file
after making this change.

After you add this string, the version information block will look
something like this:

/////////////// Begin sample

VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "InstallShield\0"
VALUE "FileDescription", "RESDLL\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "RESDLL\0"
VALUE "LegalCopyright", "Copyright _ 1996\0"
VALUE "OriginalFilename", "RESDLL.dll\0"
VALUE "ProductName", "InstallShield RESDLL\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
VALUE "OLESelfRegister",""
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

/////////////// End sample

In InstallShield Express Professional, you can also manually add the
following section to the Swdepend.ini file used for the installation:

[DLLNAME.DLL]
Register=$(DLLSelfRegister)

This Swdepend.ini file will be located in a subdirectory under the
directory in which you installed Express (for example, if you are creating
a Visual Basic application setup, this file will be under the path
....\Program Files\InstallShield\IS Express Pro\OBJS\VB4\). If th
Swdepend.ini file already contains a section named after your file, you
must add the "Register=$(DLLSelfRegister)" line to the existing section.

Please note that this workaround does not work in Express Custom Editions.

(Note: You must also check an .ocx file's documentation for any
dependencies that this file may have. Any files required by an .ocx must be
added to a file group in your Express setup before the .ocx file itself, as
these files will be registered on the target machine in the order in which
you have included them in the Groups and Files dialog. An .ocx file will
not be successfully self-registered unless the .dll files it requires are
already registered on the target system.)

----------------------------------------------------------------------------
---------------------------------------------
Article Number: X1017
Date Published: 08/05/96
Date Last Modified: 03/13/97
The information provided in the InstallShield Express Knowledge Base is
subject to change without notice and is provided "as is," without warranty
of any kind. InstallShield Corporation disclaims all warranties, either
express or implied, including the warranties of merchantability and fitness
for a particular purpose. In no event shall InstallShield or its suppliers
be liable for any damages whatsoever, including direct, indirect,
incidental, consequential, loss of business profits or special damages,
even if InstallShield Corp. or its suppliers have been advised of the
possibility of such damages.


Mike Saeger <msaeger@aol.com> wrote in article
<01bc4117$4a47bd40$72d6ab98@pentium>...
> Maybe someone has had this problem and can give me some insight into
what's
> going on.
>
> I have a very simple VB4 prg that a customer is having a problem
installing
> (IE 1.11a). He keeps getting a cannot load or register custom control
> 'threed32.ocx' error. Being a self registering OCX with no dependent
(that
> I'm aware of) DLL's, I assumed the problem was a corrupted OCX.
>
> We have tried deleting threed32.ocx from the clients computer, resetting,
> and re-installing the prg to no avail. I currently have no recourse but
to
> use non-3D controls.
>
> Any ideas?
>

NewsArchive
08-08-1997, 12:00 AM
Group,

Threed32.ocx does have a file dependancy. It is MFC40.dll, which needs to
be registered in order for threed32.ocx to correctly register.

Bill.