cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
raj
Level 6

How to find the installed features during maintenance mode?

Hi,

I am calling OnfirstUibefore() in OnmaintUibefore() as i have to dispaly UI to the user everytime. But i have to disable features that have already installed on select feature screen during maintenance mode. As if i'll not disable those features then installer will uninstall those feature if somebody deselect those features. So, i want to disable checkboxes of those features that have already installed.
Note: I do not want to hode them as i want to display the user that these much features have already installed.

Featureisitemselected function is not working properly in my case as if somebody selects the feature(which is not already installed) and then come back again on that screen through navigation(back or next button) then this feature become disable as the above function checks for the selection of the feature but in actual this feature is not installed right now, it is just selected for installation by the user.

Thanks.
Labels (1)
0 Kudos
(3) Replies
polosheng
Level 5

Anyone know?
😞 Help me pls.
0 Kudos
TheTraveler
Level 8

Here is an idea for you.

You could loop through the features that are installed and not installed and then list them in the AskOptions (NONEXCLUSIVE) dialog.

    //listCompList = ListCreate( STRINGLIST );
MediaGetData( MEDIA, MEDIA_FIELD_MEDIA_FLAGS, nMediaFlags, szIgnore );

//FeatureSetupTypeGetData (MEDIA, SETUP_TYPE, SETUPTYPE_INFO_DESCRIPTION, nvInfo, svInfo );
FeatureListItems(MEDIA, "", listCompList);
nResult = ListGetFirstString( listCompList, szComponent );
while ( nResult != END_OF_LIST )
nResult = FeatureGetData(MEDIA, szComponent, FEATURE_FIELD_SELECTED, nvSelected, svNULL);
nResult = FeatureGetData(MEDIA, szComponent, FEATURE_FIELD_DISPLAYNAME, nvNULL, strDisplay);

if ( (nvSelected = TRUE) && ( strDisplay != "" ) ) then
// Here is the list of Features that is already installed.
endif;

if nvSelected = FALSE then
// Here is the list of Features that is not already installed.
endif;

nResult = ListGetNextString (listCompList, szComponent);
endwhile;
ListDestroy( listCompList );
0 Kudos
polosheng
Level 5

TheTraveler wrote:
Here is an idea for you.

You could loop through the features that are installed and not installed and then list them in the AskOptions (NONEXCLUSIVE) dialog.

    //listCompList = ListCreate( STRINGLIST );
MediaGetData( MEDIA, MEDIA_FIELD_MEDIA_FLAGS, nMediaFlags, szIgnore );

//FeatureSetupTypeGetData (MEDIA, SETUP_TYPE, SETUPTYPE_INFO_DESCRIPTION, nvInfo, svInfo );
FeatureListItems(MEDIA, "", listCompList);
nResult = ListGetFirstString( listCompList, szComponent );
while ( nResult != END_OF_LIST )
nResult = FeatureGetData(MEDIA, szComponent, FEATURE_FIELD_SELECTED, nvSelected, svNULL);
nResult = FeatureGetData(MEDIA, szComponent, FEATURE_FIELD_DISPLAYNAME, nvNULL, strDisplay);

if ( (nvSelected = TRUE) && ( strDisplay != "" ) ) then
// Here is the list of Features that is already installed.
endif;

if nvSelected = FALSE then
// Here is the list of Features that is not already installed.
endif;

nResult = ListGetNextString (listCompList, szComponent);
endwhile;
ListDestroy( listCompList );


3Q very much.
0 Kudos