PDA

View Full Version : Conditional Feature Installation



NewsArchive
10-27-1999, 12:00 AM
My CA is after SetupInitialisation. The step that actual fails with error
2732 is a CA that registers my DLL....

Type = 98
Source = SystemFolder
Target = "[SystemFolder]msiexec" /y "[WSNEDIODLLPATH]"

The earlier CA that sets WSNEDIODLLPATH works fine!

So what is wrong????


"Jim Kang" <?@installshield.com> wrote in message
news:3814d77e.0@news.installshield.com...
> In article <381434d0.0@news.installshield.com>, "Stewart Clark"
<sclark@azisa.co.za> wrote:
> > I wonder if you could me some direction on how to achieve the following
(I
> > have tried may approachs and cannot quite get there).......
> >
> > I need to read a Licence Disk, that will determine which Feature is
> > installed - the user does not have the option to select the feature.
The
> > Prog to read the disk is a COM object, which I have successfully
registered
> > and called from VBScript CA.
> >
> > I thought of having 2 features's InstallLevel to 110 (so no install).
Then
> > have a condition on the Feature to set the InstallLevel to 90 (so it
will
> > install). The condition is Badging="NedExec" (Badging is a property set
by
> > reading the disk). I found, via David Thornley (thanks) that this will
only
> > work if it is before Costing.
> >
> > So I rearranged my code for this to be true - BUT than I could not
register
> > my COM object, as I get the error 2732 (Directory Manager not
initialised).
> >
> > What would be a simple/elegant approach to this problem??
>
> Where in the sequence is the CA now? It should be somewhere after
> SetupInitialization.
>
> ----
>
> Jim Kang - Developer Support Engineer
> InstallShield Software Corporation
>

NewsArchive
11-02-1999, 01:00 AM
In article <3816ae02.0@news.installshield.com>, "Stewart Clark" <sclark@azisa.co.za> wrote:
> My CA is after SetupInitialisation. The step that actual fails with error
> 2732 is a CA that registers my DLL....
>
> Type = 98
> Source = SystemFolder
> Target = "[SystemFolder]msiexec" /y "[WSNEDIODLLPATH]"

> The earlier CA that sets WSNEDIODLLPATH works fine!
>
> So what is wrong????

2732 means that the Direcotry Manager has not been initialized. It may need to
be a deferred action that runs after CostFinalize. If it is launched as a UI
event, the CA cannot be deferred.

If this is the case, then you will be better off with a custom action that is
stored in the Property table.

> "Jim Kang" <?@installshield.com> wrote in message
> news:3814d77e.0@news.installshield.com...
> > In article <381434d0.0@news.installshield.com>, "Stewart Clark"
> <sclark@azisa.co.za> wrote:
> > > I wonder if you could me some direction on how to achieve the following
> (I
> > > have tried may approachs and cannot quite get there).......
> > >
> > > I need to read a Licence Disk, that will determine which Feature is
> > > installed - the user does not have the option to select the feature.
> The
> > > Prog to read the disk is a COM object, which I have successfully
> registered
> > > and called from VBScript CA.
> > >
> > > I thought of having 2 features's InstallLevel to 110 (so no install).
> Then
> > > have a condition on the Feature to set the InstallLevel to 90 (so it
> will
> > > install). The condition is Badging="NedExec" (Badging is a property set
> by
> > > reading the disk). I found, via David Thornley (thanks) that this will
> only
> > > work if it is before Costing.
> > >
> > > So I rearranged my code for this to be true - BUT than I could not
> register
> > > my COM object, as I get the error 2732 (Directory Manager not
> initialised).
> > >
> > > What would be a simple/elegant approach to this problem??
> >
> > Where in the sequence is the CA now? It should be somewhere after
> > SetupInitialization.
> >
> > ----
> >
> > Jim Kang - Developer Support Engineer
> > InstallShield Software Corporation
> >
>
>

----

Jim Kang - Developer Support Engineer
InstallShield Software Corporation

Damian
03-06-2002, 07:32 AM
Using 7.02 I'm trying to set up a conditional install of a feature.

The INSTALLLEVEL is 100 for the project. I've set the INSTALLLEVEL to 101 for the feature and Required to No.

On installing the feature is installed???

I've got around the problem with installscript, but it is odd that it still installs when using the InstallShield IDE to do the job.

Does anyone know why this may be?

Thanks

Damian :confused:

Joshua
03-07-2002, 12:57 PM
Damian,

As a test, I would recommend the following:

Run your setup, and choose the "Custom" Setup Type. In the Features list, is this Feature selected for installation? It's state in this dialog should reflect the InstallLevel value.

Regards,

Joshua
InstallShield

Damian
03-08-2002, 03:41 AM
When I do a custom install the feature is selected! This would presume that the INSTALLLEVEL is <= the projects installlevel, but it is not!.

If I explicitly set the INSTALLLEVEL = 100 in the Property Table and set the INSTALLLEVEL= 101 for the feature it is still selected.

I'll try this on a small test as well just to prove it out.

Another thing, talking about the custom feature dialog. Has Developer gone backwards in the way it displays the feature tree. In ISWI the feature tree was a series of disk icons, now all we can choose from is the check boxes?

This is a shame as the previous 'look' was better.

Thanks Damian