PDA

View Full Version : Selection tree control for Standard is not like Basic MSI? why?



NewsArchive
05-31-2001, 12:00 AM
Please see also Stefan Krueger's article about the feature options at
http://www.installsite.org/isnews/200102/CustomSetupOptions.htm.

"Robert M. Dickau (InstallShield)" <i> wrote in message
news:3b167f79$1@12.41.20.38...
> Set the Advertisement property to Disallow Advertise.
>
> "Mike Bagdanoff" <mbagdanoff@xloom.com> wrote in message
> news:3b167b6b@12.41.20.38...
> > I would like to not display some options on the custom setup dialog,
> namely
> > "This feature will be installed when it is required". How would I go
about
> > this?

Robert Dickau
InstallShield Software Corp.

NewsArchive
12-04-2001, 01:00 AM
I've noticed that the SelectionTree control for a Standard MSI project is
not the one you get with a Basic MSI project (for a custom setup).

The Basic MSI version looks like Office and other Windows installer
installs, and lets you choose run from source, etc and has icons at each
level in the feature tree. The Standard MSI selection tree looks plainer,
doesn't have icons and I can't figure out how it's meant to support "Run
from Source", etc.

Can somebody please clarify this please?

I'd like the Basic MSI Selection Tree, but in a Standard project.

Can this be done?

Alastair

NewsArchive
12-04-2001, 01:00 AM
Hi Alastair,

First, a little background on what a Standard project is. A standard
project uses MSI to install files, but the UI is an external UI handler.
You can find information on what an external UI handler by looking at Msi
help (Msi.chm). Look specifically at the function MsiSetExternalUI.

Anyway, the dialogs in a Standard project are the same dialogs as in
InstallShield 6. InstallShield 6 does not use the MSI engine, it has its
own engine, so it does not have the options of "Run from Source", etc., like
Msi technology does. We have a lot of customers that are familiar with
InstallShield 3, 5, and 6 who are used to the functionality and dialogs
those products provide. What we tried to was to integrate as much as the
same runtime UI and functional experience in InstallShield 6 into a
Developer Standard project. We tried to make the transition from
InstallShield 6 (and even InstallShield 5) to developer as smooth as
possible.

InstallShield 6 handles the media differently than MSI. InstallShield 6 has
its own version of "Required" features than does MSI. Also, InstallShield
6's architecture and alogrithm for the selection and deselection of features
and their children is different than the way MSI handles this. There are
some more differences, also. Bt let's just say the features and components
in MSI is different than InstallShield 6.

So basically, we were left with two choices with respect to the existing
InstallShield 6 architecture we were going to bring over for a Standard
project. Either change it so it behaves exactly the way MSI does or leave
it pretty much the way it is.

We decided to leave the architecture the way it is. The reasons are that
our customers who use InstallShield 6 (and even 5) will have a smooth
transition and will get functionality they are used to already. The
architecture we have from InstallShield 6 is pretty solid and no one has
really complained too much about how it works. It just seemed logical to
leave the architecture alone.

We provide a Basic project type which is pure MSI. So, we aren't really
taking anything away from setup authors. If they want a pure MSI setup,
they can select Basic. If they want some of the functionality they were
used to in InstallShield 5 or 6 they can select Standard.

As you are probably aware, the feature selection dialogs reflect how the
internal architecture handles features (the mdia in general). That's why
you see some differences in the Standard and Basic MSI dialogs. We really
looked at trying to add a dialog in a Standard project that was very similar
to Basic MSI tree selection dialog. Creating the resources wasn't much of a
problem.

However, we would have to devise new relatonships between features that were
"Run from Source" or "Advertised", but were "Required" (InstallShield's
required) by another feature that was "Install Local". There were many
other scenarios, too. Furthermore, we didn't see a big reason why people
would need "Advertising" or "Run from source" when hard drives are so big
nowadays.

On the surface, it may seem simple, but really we would be devising new
algorithms and a whole new set of rules that existing setup authors would
have to learn. It just seemed to be a "slippery slope", that only had a
severe downside from everyone's perspective and only a slight upside.

As you know, we decided to leave things as they were in InstallShield 6. So
far, we haven't had too many issues. Migration has gone pretty well, and
there are a lot of people who are very satisfied.

Basically, you have two options: create your own custom dialog that looks
similar to the pure MSI dialog; or create a Basic project.

The dialog may be a little tricky, but can be done. We provide all the
source code for existing dialogs. To set the features to "Advertised" or
"Run from Source" you would need to call custom actions in the Execute
sequence, but this is not difficult.

If you create a Basic project, you can still leverage scripting by creating
InstallScript custom actions, if needed.

I hope this is somewhat clear and answers your question. Also, Hope I
wasn't too long-winded.

Regards,

Kent

"Alastair Cameron" <alastair.cameron@blueyonder.co.uk> wrote in message
news:3c0cd4a4@news.installshield.com...
> I've noticed that the SelectionTree control for a Standard MSI project is
> not the one you get with a Basic MSI project (for a custom setup).
>
> The Basic MSI version looks like Office and other Windows installer
> installs, and lets you choose run from source, etc and has icons at each
> level in the feature tree. The Standard MSI selection tree looks plainer,
> doesn't have icons and I can't figure out how it's meant to support "Run
> from Source", etc.
>
> Can somebody please clarify this please?
>
> I'd like the Basic MSI Selection Tree, but in a Standard project.
>
> Can this be done?
>
> Alastair
>
>
>
>

NewsArchive
12-04-2001, 01:00 AM
Kent,

You're reply to Alastair touches on a question that I posted here
yesterday, but have yet to get a response to. If I may, could you
please answer a couple a questions for me?

I'm converting a project from 2.03 to Dev7; I've been using IS for
around four years, so I'm familiar with how IS 5 and 6 handled setups.
My 2.03 project had several CAs that called ISScript routines, and
some CAs that launched executables that get installed with the setup.
Now that I've converted my 2.03 project to a Dev701 Standard project,
I'm faced with how best to handle my CAs. Some of them needed to run
during the Execute Sequence, and some during the User Sequence. I
also have to support Silent install. All of this worked great in my
2.03 project, but now I'm now sure whether I should do all this work
in script or just keep everything the way it is. Basically:

1) Can I assume that the ISScript runs during a silent install as
well as a non-silent install?

2) Do both the User Interface and Execute Sequences occur during a
silent install?

3) With 2.03, I would place CA's that must get executed regardless of
silent more or not in both the User Interface and Execute sequences,
and configure the CAs to only fire once. With Dev 7.x, what's the
best way to do this? Should I do everything in script and have no CAs
that get called from the Execute sequence, or what?

Thanks for any help, Kent.

Rob Jones


On Tue, 4 Dec 2001 15:46:27 -0600, "Kent Foyer"
<kent@installshield.com> wrote:

>Hi Alastair,
>
>First, a little background on what a Standard project is. A standard
>project uses MSI to install files, but the UI is an external UI handler.
>You can find information on what an external UI handler by looking at Msi
>help (Msi.chm). Look specifically at the function MsiSetExternalUI.
>
>Anyway, the dialogs in a Standard project are the same dialogs as in
>InstallShield 6. InstallShield 6 does not use the MSI engine, it has its
>own engine, so it does not have the options of "Run from Source", etc., like
>Msi technology does. We have a lot of customers that are familiar with
>InstallShield 3, 5, and 6 who are used to the functionality and dialogs
>those products provide. What we tried to was to integrate as much as the
>same runtime UI and functional experience in InstallShield 6 into a
>Developer Standard project. We tried to make the transition from
>InstallShield 6 (and even InstallShield 5) to developer as smooth as
>possible.
>
>InstallShield 6 handles the media differently than MSI. InstallShield 6 has
>its own version of "Required" features than does MSI. Also, InstallShield
>6's architecture and alogrithm for the selection and deselection of features
>and their children is different than the way MSI handles this. There are
>some more differences, also. Bt let's just say the features and components
>in MSI is different than InstallShield 6.
>
>So basically, we were left with two choices with respect to the existing
>InstallShield 6 architecture we were going to bring over for a Standard
>project. Either change it so it behaves exactly the way MSI does or leave
>it pretty much the way it is.
>
>We decided to leave the architecture the way it is. The reasons are that
>our customers who use InstallShield 6 (and even 5) will have a smooth
>transition and will get functionality they are used to already. The
>architecture we have from InstallShield 6 is pretty solid and no one has
>really complained too much about how it works. It just seemed logical to
>leave the architecture alone.
>
>We provide a Basic project type which is pure MSI. So, we aren't really
>taking anything away from setup authors. If they want a pure MSI setup,
>they can select Basic. If they want some of the functionality they were
>used to in InstallShield 5 or 6 they can select Standard.
>
>As you are probably aware, the feature selection dialogs reflect how the
>internal architecture handles features (the mdia in general). That's why
>you see some differences in the Standard and Basic MSI dialogs. We really
>looked at trying to add a dialog in a Standard project that was very similar
>to Basic MSI tree selection dialog. Creating the resources wasn't much of a
>problem.
>
>However, we would have to devise new relatonships between features that were
>"Run from Source" or "Advertised", but were "Required" (InstallShield's
>required) by another feature that was "Install Local". There were many
>other scenarios, too. Furthermore, we didn't see a big reason why people
>would need "Advertising" or "Run from source" when hard drives are so big
>nowadays.
>
>On the surface, it may seem simple, but really we would be devising new
>algorithms and a whole new set of rules that existing setup authors would
>have to learn. It just seemed to be a "slippery slope", that only had a
>severe downside from everyone's perspective and only a slight upside.
>
>As you know, we decided to leave things as they were in InstallShield 6. So
>far, we haven't had too many issues. Migration has gone pretty well, and
>there are a lot of people who are very satisfied.
>
>Basically, you have two options: create your own custom dialog that looks
>similar to the pure MSI dialog; or create a Basic project.
>
>The dialog may be a little tricky, but can be done. We provide all the
>source code for existing dialogs. To set the features to "Advertised" or
>"Run from Source" you would need to call custom actions in the Execute
>sequence, but this is not difficult.
>
>If you create a Basic project, you can still leverage scripting by creating
>InstallScript custom actions, if needed.
>
>I hope this is somewhat clear and answers your question. Also, Hope I
>wasn't too long-winded.
>
>Regards,
>
>Kent
>
>"Alastair Cameron" <alastair.cameron@blueyonder.co.uk> wrote in message
>news:3c0cd4a4@news.installshield.com...
>> I've noticed that the SelectionTree control for a Standard MSI project is
>> not the one you get with a Basic MSI project (for a custom setup).
>>
>> The Basic MSI version looks like Office and other Windows installer
>> installs, and lets you choose run from source, etc and has icons at each
>> level in the feature tree. The Standard MSI selection tree looks plainer,
>> doesn't have icons and I can't figure out how it's meant to support "Run
>> from Source", etc.
>>
>> Can somebody please clarify this please?
>>
>> I'd like the Basic MSI Selection Tree, but in a Standard project.
>>
>> Can this be done?
>>
>> Alastair
>>
>>
>>
>>
>

Rob Jones, Developer
Lightspeed Systems

NewsArchive
12-04-2001, 01:00 AM
Hi Alastair,

First, a little background on what a Standard project is. A standard
project uses MSI to install files, but the UI is an external UI handler.
You can find information on what an external UI handler by looking at Msi
help (Msi.chm). Look specifically at the function MsiSetExternalUI.

Anyway, the dialogs in a Standard project are the same dialogs as in
InstallShield 6. InstallShield 6 does not use the MSI engine, it has its
own engine, so it does not have the options of "Run from Source", etc., like
Msi technology does. We have a lot of customers that are familiar with
InstallShield 3, 5, and 6 who are used to the functionality and dialogs
those products provide. What we tried to was to integrate as much as the
same runtime UI and functional experience in InstallShield 6 into a
Developer Standard project. We tried to make the transition from
InstallShield 6 (and even InstallShield 5) to developer as smooth as
possible.

InstallShield 6 handles the media differently than MSI. InstallShield 6 has
its own version of "Required" features than does MSI. Also, InstallShield
6's architecture and alogrithm for the selection and deselection of features
and their children is different than the way MSI handles this. There are
some more differences, also. Bt let's just say the features and components
in MSI is different than InstallShield 6.

So basically, we were left with two choices with respect to the existing
InstallShield 6 architecture we were going to bring over for a Standard
project. Either change it so it behaves exactly the way MSI does or leave
it pretty much the way it is.

We decided to leave the architecture the way it is. The reasons are that
our customers who use InstallShield 6 (and even 5) will have a smooth
transition and will get functionality they are used to already. The
architecture we have from InstallShield 6 is pretty solid and no one has
really complained too much about how it works. It just seemed logical to
leave the architecture alone.

We provide a Basic project type which is pure MSI. So, we aren't really
taking anything away from setup authors. If they want a pure MSI setup,
they can select Basic. If they want some of the functionality they were
used to in InstallShield 5 or 6 they can select Standard.

As you are probably aware, the feature selection dialogs reflect how the
internal architecture handles features (the mdia in general). That's why
you see some differences in the Standard and Basic MSI dialogs. We really
looked at trying to add a dialog in a Standard project that was very similar
to Basic MSI tree selection dialog. Creating the resources wasn't much of a
problem.

However, we would have to devise new relatonships between features that were
"Run from Source" or "Advertised", but were "Required" (InstallShield's
required) by another feature that was "Install Local". There were many
other scenarios, too. Furthermore, we didn't see a big reason why people
would need "Advertising" or "Run from source" when hard drives are so big
nowadays.

On the surface, it may seem simple, but really we would be devising new
algorithms and a whole new set of rules that existing setup authors would
have to learn. It just seemed to be a "slippery slope", that only had a
severe downside from everyone's perspective and only a slight upside.

As you know, we decided to leave things as they were in InstallShield 6. So
far, we haven't had too many issues. Migration has gone pretty well, and
there are a lot of people who are very satisfied.

Basically, you have two options: create your own custom dialog that looks
similar to the pure MSI dialog; or create a Basic project.

The dialog may be a little tricky, but can be done. We provide all the
source code for existing dialogs. To set the features to "Advertised" or
"Run from Source" you would need to call custom actions in the Execute
sequence, but this is not difficult.

If you create a Basic project, you can still leverage scripting by creating
InstallScript custom actions, if needed.

I hope this is somewhat clear and answers your question. Also, Hope I
wasn't too long-winded.

Regards,

Kent

"Alastair Cameron" <alastair.cameron@blueyonder.co.uk> wrote in message
news:3c0cd4a4@news.installshield.com...
> I've noticed that the SelectionTree control for a Standard MSI project is
> not the one you get with a Basic MSI project (for a custom setup).
>
> The Basic MSI version looks like Office and other Windows installer
> installs, and lets you choose run from source, etc and has icons at each
> level in the feature tree. The Standard MSI selection tree looks plainer,
> doesn't have icons and I can't figure out how it's meant to support "Run
> from Source", etc.
>
> Can somebody please clarify this please?
>
> I'd like the Basic MSI Selection Tree, but in a Standard project.
>
> Can this be done?
>
> Alastair
>
>
>
>

NewsArchive
12-04-2001, 01:00 AM
Hi Alastair,

First, a little background on what a Standard project is. A standard
project uses MSI to install files, but the UI is an external UI handler.
You can find information on what an external UI handler by looking at Msi
help (Msi.chm). Look specifically at the function MsiSetExternalUI.

Anyway, the dialogs in a Standard project are the same dialogs as in
InstallShield 6. InstallShield 6 does not use the MSI engine, it has its
own engine, so it does not have the options of "Run from Source", etc., like
Msi technology does. We have a lot of customers that are familiar with
InstallShield 3, 5, and 6 who are used to the functionality and dialogs
those products provide. What we tried to was to integrate as much as the
same runtime UI and functional experience in InstallShield 6 into a
Developer Standard project. We tried to make the transition from
InstallShield 6 (and even InstallShield 5) to developer as smooth as
possible.

InstallShield 6 handles the media differently than MSI. InstallShield 6 has
its own version of "Required" features than does MSI. Also, InstallShield
6's architecture and alogrithm for the selection and deselection of features
and their children is different than the way MSI handles this. There are
some more differences, also. Bt let's just say the features and components
in MSI is different than InstallShield 6.

So basically, we were left with two choices with respect to the existing
InstallShield 6 architecture we were going to bring over for a Standard
project. Either change it so it behaves exactly the way MSI does or leave
it pretty much the way it is.

We decided to leave the architecture the way it is. The reasons are that
our customers who use InstallShield 6 (and even 5) will have a smooth
transition and will get functionality they are used to already. The
architecture we have from InstallShield 6 is pretty solid and no one has
really complained too much about how it works. It just seemed logical to
leave the architecture alone.

We provide a Basic project type which is pure MSI. So, we aren't really
taking anything away from setup authors. If they want a pure MSI setup,
they can select Basic. If they want some of the functionality they were
used to in InstallShield 5 or 6 they can select Standard.

As you are probably aware, the feature selection dialogs reflect how the
internal architecture handles features (the mdia in general). That's why
you see some differences in the Standard and Basic MSI dialogs. We really
looked at trying to add a dialog in a Standard project that was very similar
to Basic MSI tree selection dialog. Creating the resources wasn't much of a
problem.

However, we would have to devise new relatonships between features that were
"Run from Source" or "Advertised", but were "Required" (InstallShield's
required) by another feature that was "Install Local". There were many
other scenarios, too. Furthermore, we didn't see a big reason why people
would need "Advertising" or "Run from source" when hard drives are so big
nowadays.

On the surface, it may seem simple, but really we would be devising new
algorithms and a whole new set of rules that existing setup authors would
have to learn. It just seemed to be a "slippery slope", that only had a
severe downside from everyone's perspective and only a slight upside.

As you know, we decided to leave things as they were in InstallShield 6. So
far, we haven't had too many issues. Migration has gone pretty well, and
there are a lot of people who are very satisfied.

Basically, you have two options: create your own custom dialog that looks
similar to the pure MSI dialog; or create a Basic project.

The dialog may be a little tricky, but can be done. We provide all the
source code for existing dialogs. To set the features to "Advertised" or
"Run from Source" you would need to call custom actions in the Execute
sequence, but this is not difficult.

If you create a Basic project, you can still leverage scripting by creating
InstallScript custom actions, if needed.

I hope this is somewhat clear and answers your question. Also, Hope I
wasn't too long-winded.

Regards,

Kent

"Alastair Cameron" <alastair.cameron@blueyonder.co.uk> wrote in message
news:3c0cd4a4@news.installshield.com...
> I've noticed that the SelectionTree control for a Standard MSI project is
> not the one you get with a Basic MSI project (for a custom setup).
>
> The Basic MSI version looks like Office and other Windows installer
> installs, and lets you choose run from source, etc and has icons at each
> level in the feature tree. The Standard MSI selection tree looks plainer,
> doesn't have icons and I can't figure out how it's meant to support "Run
> from Source", etc.
>
> Can somebody please clarify this please?
>
> I'd like the Basic MSI Selection Tree, but in a Standard project.
>
> Can this be done?
>
> Alastair
>
>
>
>