PDA

View Full Version : Registering fussy OCXs revisited



NewsArchive
04-12-1997, 12:00 AM
I had trouble registering Olectra Chart's olch2x32.ocx file in ISXP and
wrote a VB program as an ISXP extension to Shell the task to Regocx32.exe.
This solution worked, but Mike Quetel (mquetel@geonorth,com) suggested a
more elegant solution. Here is my adaptation of Mike's suggestion which can
be used as an example for solving similar problems.

First, in ISXP Groups and Files dialog add Regsvr32.exe to the System Files
- WinSysDir folder along with olch2x32.ocx and olch2d32.dll. (In this case,
the ocx needs the dll but the dll does not need registration. Even adding
the dependency information to swdepend.ini and listing the dll before the
ocx does not work with this particular ocx - a bug in ISXP, the ocx, or
both - or something solved with a simple trick I don't know about.)

Second, enter the following in the Express Extension dialog.

EXE_Filename
Regsvr32.exe
Optional Program Parameters
/s olch2x32.ocx

The /s switch only suppresses the Regsvr32.exe dialog box. Remove this
switch to show the dialog for checking successful registration. You can
also use Regocx32.exe without the /s switch since it doesn't return a
dialog message.

If a program requiring the registered ocx/dll is started within ISXP, it
would be prudent to check the box "Wait for the program to exit before
returning to installation."

Third, I suggest invoking the extension no earlier than the Setup Complete
dialog unless you have a special reason to do so.

Ouilla! Note that this procedure dispenses with the need for a separate VB
program. Thanks Mike!

Charles Corrado
Finance department
University of Missouri
corrado@bpa.missouri.edu

NewsArchive
04-16-1997, 12:00 AM
Express handles self-registration pretty neatly as long as
1. The OCX or DLL in question has an OLESelfRegisterString or if
the right entries have been made in the RIGHT swdepend.ini or isdepend.ini
If you have selected a Visual Basic project type then the ini should be in
OBJS\VB under the directory where Express was installed. The entry should
be of the form
[FileName.Ext]
Register=$(DLLSelfRegister)
2. All the dependent DLLS of the OCX are added to the setup

The downside to using Regsvr32.exe or other external programs would be
that your OCX will not get Unregistered during unInstallation.

Anycase if you want to add more elegance to the method you explained,
adding
Regsvr32.Exe to a group whose destination directory is set to <SUPPORTDIR>
would ensure that Regsvr32.exe is deleted from the system when setup
completes.
If you do this then make sure that the "Wait for the program to exit..."
check box
is turned on.


CORRADO <corrado@bpa.missouri.edu> wrote in article
<01bc477c$9ab066e0$81d1ce80@MU.missouri.edu>...
> I had trouble registering Olectra Chart's olch2x32.ocx file in ISXP and
> wrote a VB program as an ISXP extension to Shell the task to
Regocx32.exe.
> This solution worked, but Mike Quetel (mquetel@geonorth,com) suggested a
> more elegant solution. Here is my adaptation of Mike's suggestion which
can
> be used as an example for solving similar problems.
>
> First, in ISXP Groups and Files dialog add Regsvr32.exe to the System
Files
> - WinSysDir folder along with olch2x32.ocx and olch2d32.dll. (In this
case,
> the ocx needs the dll but the dll does not need registration. Even adding
> the dependency information to swdepend.ini and listing the dll before the
> ocx does not work with this particular ocx - a bug in ISXP, the ocx, or
> both - or something solved with a simple trick I don't know about.)
>
> Second, enter the following in the Express Extension dialog.
>
> EXE_Filename
> Regsvr32.exe
> Optional Program Parameters
> /s olch2x32.ocx
>
> The /s switch only suppresses the Regsvr32.exe dialog box. Remove this
> switch to show the dialog for checking successful registration. You can
> also use Regocx32.exe without the /s switch since it doesn't return a
> dialog message.
>
> If a program requiring the registered ocx/dll is started within ISXP, it
> would be prudent to check the box "Wait for the program to exit before
> returning to installation."
>
> Third, I suggest invoking the extension no earlier than the Setup
Complete
> dialog unless you have a special reason to do so.
>
> Ouilla! Note that this procedure dispenses with the need for a separate
VB
> program. Thanks Mike!
>
> Charles Corrado
> Finance department
> University of Missouri
> corrado@bpa.missouri.edu
>
>

NewsArchive
04-19-1997, 12:00 AM
The following entries are in the ..\Objs\Vb4\swdepend.ini file for
Buttonmaker and OlectraChart OCXs. Buttonmaker registers fine, but not
OlectraChart. Also, I insure that the DLL is added before the OCX following
ISXP convention. Still no luck. If there is a RIGHT way, I haven't found it
yet. Is there anyone out there distributing OlectraChart components with
ISXP who has solved this problem?

[BTN32X10 OCX]
Register=$(DLLSelfRegister)
Src=<WINSYSDIR>
Uses1=BTN32X10.OCX
Uses2=OCX Runtime Support
Uses3=OC30.DLL

[OLCH2X32 OCX]
Register=$(DLLSelfRegister)
Src=<WINSYSDIR>
Uses1=OLCH2X32.OCX
Uses2=OLCH2D32.DLL
Uses3=OCX Runtime Support

NewsArchive
05-22-1997, 12:00 AM
Greetings,

This sounds similar to problems I was having with Crystl16.OCX. Here's
what the SWDEPEND.INI file entry needed to look like:

[CRYSTL16.OCX]
Register=$(DLLSelfRegister)

[CRYSTL16 OCX]
Src=<WINSYS16DIR>
Uses1=CRYSTL16.OCX
Uses2=CRPE.DLL
Uses3=CRXLATE.DLL
Uses4=uxddisk.dll
Uses5=uxfdif.dll
Uses6=uxfrec.dll
Uses7=uxfsepv.dll
Uses8=uxftext.dll
Uses9=pdbdao.dll
Uses10=pdctdao.dll
Uses11=pdirdao.dll
Uses12=pdsodbc.dll
Uses13=PDBBND.DLL
Uses14=MFCOLEUI.DLL

Note that the first entry has a "." between the filename and the
extension, while the second does not. This is Very Important (and was the
source of all my problems)! The first entry tells InstallShield to
register this file, while the second lists all of the files that accompany
the file. Maybe this kind of entry is required for your OCX as well.

Good Luck,

Steve Locke
HBO & Company

Rajesh Ramachandran <rajesh@installshield.com> wrote in article
<01bc4a39$427beb60$8c46b1cc@drain>...
> Express handles self-registration pretty neatly as long as
> 1. The OCX or DLL in question has an OLESelfRegisterString or if
> the right entries have been made in the RIGHT swdepend.ini or
isdepend.ini
> If you have selected a Visual Basic project type then the ini should be
in
> OBJS\VB under the directory where Express was installed. The entry should
> be of the form
> [FileName.Ext]
> Register=$(DLLSelfRegister)
> 2. All the dependent DLLS of the OCX are added to the setup
>
> The downside to using Regsvr32.exe or other external programs would be
> that your OCX will not get Unregistered during unInstallation.
>
> Anycase if you want to add more elegance to the method you explained,
> adding
> Regsvr32.Exe to a group whose destination directory is set to
<SUPPORTDIR>
> would ensure that Regsvr32.exe is deleted from the system when setup
> completes.
> If you do this then make sure that the "Wait for the program to exit..."
> check box
> is turned on.
>
>
> CORRADO <corrado@bpa.missouri.edu> wrote in article
> <01bc477c$9ab066e0$81d1ce80@MU.missouri.edu>...
> > I had trouble registering Olectra Chart's olch2x32.ocx file in ISXP and
> > wrote a VB program as an ISXP extension to Shell the task to
> Regocx32.exe.
> > This solution worked, but Mike Quetel (mquetel@geonorth,com) suggested
a
> > more elegant solution. Here is my adaptation of Mike's suggestion which
> can
> > be used as an example for solving similar problems.
> >
> > First, in ISXP Groups and Files dialog add Regsvr32.exe to the System
> Files
> > - WinSysDir folder along with olch2x32.ocx and olch2d32.dll. (In this
> case,
> > the ocx needs the dll but the dll does not need registration. Even
adding
> > the dependency information to swdepend.ini and listing the dll before
the
> > ocx does not work with this particular ocx - a bug in ISXP, the ocx, or
> > both - or something solved with a simple trick I don't know about.)
> >
> > Second, enter the following in the Express Extension dialog.
> >
> > EXE_Filename
> > Regsvr32.exe
> > Optional Program Parameters
> > /s olch2x32.ocx
> >
> > The /s switch only suppresses the Regsvr32.exe dialog box. Remove this
> > switch to show the dialog for checking successful registration. You can
> > also use Regocx32.exe without the /s switch since it doesn't return a
> > dialog message.
> >
> > If a program requiring the registered ocx/dll is started within ISXP,
it
> > would be prudent to check the box "Wait for the program to exit before
> > returning to installation."
> >
> > Third, I suggest invoking the extension no earlier than the Setup
> Complete
> > dialog unless you have a special reason to do so.
> >
> > Ouilla! Note that this procedure dispenses with the need for a separate
> VB
> > program. Thanks Mike!
> >
> > Charles Corrado
> > Finance department
> > University of Missouri
> > corrado@bpa.missouri.edu
> >
> >
>