I followed the instructions in "Avoiding Maintenance Mode in IS6". It seems to work well, with one glaring exception. If I add new components, the file groups within that new component will not get installed during reinstallation (using "ComponetReInstall()"). They will only be installed during a fresh installation. The only work around I know is not to add new components, but to include the file groups within the original components. Is there a way to add new components during reinstallation.
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Avoiding Maintenance Mode Problems
Started by
rajkulkarni
, Mar 14 2005 17:33
5 replies to this topic
Posted 14 March 2005 - 19:24
Well ComponetReInstall() is designed to automatically choose the previously selected components as it's general purpose is to be used for the "Repair" option in a maintenance mode setup.
Now in your case, you either need to present the user with the proper set of dialogs to dictate the new component selections -or- call say ComponentSetupTypeSet() to re-apply the default component selections for the indicated setup type (e.g. Typical).
Now in your case, you either need to present the user with the proper set of dialogs to dictate the new component selections -or- call say ComponentSetupTypeSet() to re-apply the default component selections for the indicated setup type (e.g. Typical).
Posted 14 March 2005 - 19:45
I only use one setup type, "Typical". I call the function, ComponentSetupTypeSet(MEDIA, "Typical") in OnFirstUIBefore. Should this function be also called in the maintenance function just before I call "ComponentReinstall"?
Posted 14 March 2005 - 20:09
I just tried calling ComponentSetupTypeSet(MEDIA, "Typical") in the maintenance function, OnMaintUIBefore. It had no effect. The new components were still not being installed. Here is the code:
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
if (CMDLINE % "UNINSTALL") then
ComponentRemoveAll();
else
ComponentSetupTypeSet(MEDIA, "Typical");
ComponentReinstall();
endif;
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
if (CMDLINE % "UNINSTALL") then
ComponentRemoveAll();
else
ComponentSetupTypeSet(MEDIA, "Typical");
ComponentReinstall();
endif;
Posted 14 March 2005 - 22:02
Hmm, I thought that call would have auto. reapplied the default selections for the specified setup type.
Well there probably is a more elegant solution, but in that case, you'll just have to manually select the components accordingly by calling ComponentListItems to get a list of the current components, evaluate the status via ComponentIsItemSelected, and then adjust any via ComponentSelectItem.
I actually do something similar for my setups since I don't use Maintenance mode either.
Good luck then and hope it helps.
Well there probably is a more elegant solution, but in that case, you'll just have to manually select the components accordingly by calling ComponentListItems to get a list of the current components, evaluate the status via ComponentIsItemSelected, and then adjust any via ComponentSelectItem.
I actually do something similar for my setups since I don't use Maintenance mode either.
Good luck then and hope it helps.
Posted 15 March 2005 - 18:17
Thanks, that worked. That article about avoiding maintenance mode should be modified. It can cause misunderstandings when adding new components.