View Full Version : Suite Question - Install Type

11-02-2011, 07:10 AM
I think others have asked similar questions but I have not seen a definitive answer to this.
I have 5 Features… each with their own package.
Support, Database, Workstation, Server, and Background Tasks.

I want to have 3 install types
1. Workstation (installs Support and Workstation – How do I do this?)
2. Server (complete… installs all – this is provided)
3. Custom (choose features – this is provided)

I have modified the Installation Type screen in the Wizard interface so that I have the look I want… but how do I get the functionality?

11-08-2011, 08:10 AM
I copied the 'Installation Features' wizard page and 'Set Active Page' to it. Now how do change the visible features at run time? I can set a property... but I need to be able to evaluate that property in a condition at run time and I don't see that as an option. Any thoughts appreciated.

11-08-2011, 01:35 PM
I now have 2 'Installation Features' screens and I can use my 'Workstation' property to skip over one of those screens as needed... but I am not able to change the visibility in the feature selection tree as I had hoped. Any Ideas? (See non-working code below where I attempt to hide Database and Server features.)

<Selection Name="Support" DisplayName="ID_STRING10" Install="{85A5D024-A163-4F74-BFD6-F8B486468B4F} {F578DC99-849F-4C93-B0A3-9D9C67D9DB52}"/>
<Selection Name="Database" DisplayName="ID_STRING11" Visible="{Binding Workstation==0}"/>
<Selection Name="Workstation" DisplayName="ID_STRING12"/>
<Selection Name="Server" DisplayName="ID_STRING13" Visible="{Binding Workstation==0}"/>

11-08-2011, 06:03 PM
I would probably take a different approach. Instead of trying to duplicate and tweak the InstallationFeatures page, perhaps try to duplicate and tweak the InstallationType page. If you set the Property to


or alternately add an action like

{SetProperty FEATURE[featurename1].actionState=install}{SetProperty FEATURE[featurename2].actionState=install}

you can control which features get installed after clicking each button. So have three command-link buttons; one takes you to the features page like today; the two others select a set of features using one of the above methods and begin the installation, kinda like the Complete button does today. (Just be sure to put the SetProperty before the Install action.)

11-09-2011, 09:18 AM
Thanks for that idea, Michael. I like it, but I have not quite got it to work yet. Should I not leave the Action for Complete as it is?
{Install InstallationProgress}

As a matter of review... I have added a 3rd item to the Setup Type.
Don't I need to do something like this for the Action for my new item?
{SetProperty FEATURE[MyFeature1].actionState==install}
{SetProperty FEATURE[MyFeature2].actionState==install}
{Install InstallationProgress}

That seems to attempt to go through the motions, but immediately goes to 'Finished' and I see no errors in the log; which ends with:
"all operations completed, final status: 1"
I am not experienced with the Suite log and not sure what it is telling me.

11-09-2011, 10:12 AM
Thanks much for getting me on the right track! In case anyone else is trying to benefit from this... what I ended up doing is setting 'Action' in the new item that I added to the 'Installation Type' screen to:
{SetProperty FEATURE[MyFeature].actionState=install} {Install InstallationProgress}

I think I saw in another post that you will be gone for a couple weeks. Might I suggest that when you get back that you edit your post? I believe that you should have used "=" instead of "==" when setting a property.
Thanks Again... I will likely have more questions later... but this should get me moving again :)

11-09-2011, 01:26 PM
I am getting there but now my issue is....
I have Features 1-5 and I do...

{SetProperty FEATURE[MyFeature1].actionState=install}
{SetProperty FEATURE[MyFeature3].actionState=install}
{Install InstallationProgress}

Features 1 and 3 are installed just fine. But then it also installs features 4 and 5. Presumaby I need something like
{SetProperty FEATURE[MyFeature4].actionState=Skip}
{SetProperty FEATURE[MyFeature5].actionState=Skip}
or something like that. Skip is just a guess. I can't find choices for ".actionState" anywhere. Any ideas?

11-09-2011, 03:16 PM
I thought I was getting there :(
I have Features 1-5 and I was doing...

{SetProperty FEATURE[MyFeature1].actionState=install}
{SetProperty FEATURE[MyFeature3].actionState=install}
{Install InstallationProgress}

and working ok. Now all of a sudden for some strange reason the logic is suddenly reversed and to get the same functionality I have to do the exact opposite! I am now installing features 1 and 3 by doing this...
{SetProperty FEATURE[MyFeature2].actionState=install}
{SetProperty FEATURE[MyFeature4].actionState=install}
{SetProperty FEATURE[MyFeature5].actionState=install}
{Install InstallationProgress}
Any idea what happened?

11-23-2011, 01:22 PM
I'm not sure about the reversal (my head's still on vacation even though my body's back). However as to the simpler question about what to use instead of {SetProperty ...actionState=install}, you can use the following:

(empty): leave feature alone
install: install the feature
remove: remove the feature

Note that to specify an empty value, you can use {SetProperty name=}.

11-23-2011, 02:24 PM
Thanks Michael,
I have too many other things to do, so I only get to work on this part time. Slowly I am getting there. I am puzzled though because I am confident that both of the following produce the same result (do not install):
{SetProperty ...actionState=install}
{SetProperty ...actionState=}
I can accept the second one... and that is what I am now using to avoid confusion... But the first one just seems wrong.

11-23-2011, 03:50 PM
If the feature that doesn't install is a sub-feature of another feature, this would be expected if the parent feature is not also set to install. It might be order-dependent, but I don't think it is. If it's something else...well a sample and a log would be a great place for us to start probing deeper.

11-29-2011, 10:36 AM
Got it figured out.
{SetProperty FEATURE[MyFeature1].actionState=install}
which works; is not the same as
{SetProperty FEATURE[MyFeature1].actionState=Install}
which does not work!

The problem I found that I mentioned in another post was complicating the problem (space in Feature name causes problems).