cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
anilkumar_mca
Level 8

how the features are displaying in feature tree? - important, pls suggest

Hi,

Can anyone tell me how the features are displaying in feature tree in MODIFY?

eg:-
Feature - A
Feature - B
How the installer knows Feautre-B is installed or not(to display Feautre-B as selected or unselected in feature tree)

My issue:-
Eventhough Feature-B is installed, in maintenance the feature tree is showing Feature-B as not installed(unselected).....

how to resolve this issue?
Labels (1)
0 Kudos
(10) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

What project type are you working with, Basic MSI, InstallScript MSI, or pure InstallScript? This makes a difference as each project type handles feature registration differently.
0 Kudos
anilkumar_mca
Level 8

Hi joshstechnij,

Thanks for your replay.... I am working on Installscript MSI project....
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

InstallScript MSI manages feature states similar to pure InstallScript projects. On install, feature states are stored in the InstallScript log created in C:\Program Files\InstallShield Installation Information\{ProductCode}\setup.ilg. During initialization in maintenance mode, the feature states are read back from the log.

If you are able to reproduce this behavior on the machine InstallShield is installed on, you can used the InstallScript log viewer (Tools->InstallScript->Log File Viewer) to open an view the information stored in the log.
0 Kudos
anilkumar_mca
Level 8

joshstechnij,

Thanks for your replay....

I verified the .log file...

Observation: (setup.ilg is not updating in Maintenance - after MODIFY)

+ After first installation setup.ilg is showing correct status as Feautre-A installed and Feautre-B not installed)
+ After MODIFY, setup.ilg is not showing the updated status as Feautre-B also installed(there is no change in the setup.ilg's modified time)...

BTW... this project is a upgraded project from IS12 to IS2009
0 Kudos
anilkumar_mca
Level 8

Hi,

If I put any statement before the following lines(atleast a Delay() statement) will update the setup.ilg....

switch(nType)
case REMOVEALL: FeatureRemoveAll();
case REPAIR: FeatureReinstall();
endswitch;

but i have to write manual script to uninstall the files if a feature is unselected(in MODIFY)....

i dont know why setup.ilg updation is not happening and
i dont know why uninstallation is not happening....

can anyone please help me out....

Thanks in advance....
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

What changes have been made to script events in this project such as OnMaintUIBefore? Can you reproduce this behavior with a sample project that contains a few features and a default setup.rul file (I've tried this in a sample and I am unable to reproduce any behavior with the setup log not updating on maintenance mode)?
0 Kudos
anilkumar_mca
Level 8

joshstechnij,

i too tried with a dummy project but i am unable to reproduce the issue...

As i told u, this project is a upgraded project from IS12 to IS2009, so is there anything that i have to change?

eg:-

In IS 12 default code is:
switch(nType)
case REMOVEALL: FeatureRemoveAll();
case REPAIR: FeatureReinstall();
endswitch;

but in IS 2009 it is ComponentRemoveAll()

like that.. is there any script or settings that are affecting the functionality?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

ComponentRemoveAll and ComponentReinstall are called by their Feature equivalents (FeatureRemoveAll and FeatureReinstall) so the functionality is the same.

Other than Enable/Disable(LOGGING) calls, there really any options available that can affect whether or not the InstallScript engine logs changes during the install.

Is this project being installed on a machine that has a build of the IS 12 copy of the project installed? If so, does installing the project and then running maintenance mode on a clean machine change the behavior?
0 Kudos
anilkumar_mca
Level 8

joshstechnij,

I created a dummy project in IS12 and upgraded to IS2009... that project also working fine...

My actual project which is causing issue is updating .ilg file after adding a Delay() ....
But can you tell me why uninstallation is not happening when a feature is unselected????

what are all the cases that will affect uninstallation?

Even REPAIR also replacing some edited files(like .config files)...

how can i review my code to find the issue...?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The easiest thing to do is to start removing code from the project's setup.rul (starting with OnMaintUIBefore) until the issue no longer reproduces. Then, re-add the code last removed to ensure the issue can be reproduced again, and start isolating the issue based in that code.
0 Kudos