Jump to content


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.
Photo

OnMaintUIBefore


1 reply to this topic

halciber

halciber
  • Full Members
  • 25 posts

Posted 14 April 2006 - 17:17

Hi Everyone,

I'm experiencing something a little strange. I need to do some things with the output of the SdWelcomeMaint function/dialog. I know this dialog appears during the OnMaintUIBefore event. So, I decided to customize this event.

Before modifying this event, things (like file transfers) appeared to be working normally. However, after putting in some code in OnMaintUIBefore, I saw the dialog I wanted, but suddenly the other things stopped working properly. When I comment out the OnMaintUIBefore() things go back to working normally.

I was wondering what is required to be put into this event to keep everything else working during the maintenance operation?

Thanks in advance,
Mike Goldweber


Here's an example of my code:
CODE

function OnMaintUIBefore()
string szOutput;
number ret;
begin
   
ret = SdWelcomeMaint ("", "",MODIFY);                

switch(ret)
               case 301: //modify
  szOutput = "Modify";
 case 302: //repair
  szOutput = "Repair";  
 case 303: //remove all
  szOutput = "Uninstall";
endswitch;  
 
MessageBox(szOutput, INFORMATION);

//what do I need to add here to keep a repair, modify, or remove all working
       //properly?  
end;

Edited by halciber, 14 April 2006 - 20:16.


halciber

halciber
  • Full Members
  • 25 posts

Posted 14 April 2006 - 20:16

I did some more digging after I posted the message, and I discovered the following functions:

FeatureReinstall();
FeatureRemoveAll();

Once I added them, things worked perfectly again! See the revised code below.

Enjoy,
Mike Goldweber

CODE

//------------------------------------------------------------------------
Revised example:

function OnMaintUIBefore()
string szOutput;
number ret;
begin
   
 ret = SdWelcomeMaint ("", "",MODIFY);                

 switch(ret)
   case 301: //modify
       szOutput = "Modify";
   case 302: //repair
       szOutput = "Repair";
       FeatureReinstall();
   case 303: //remove all
       szOutput = "Uninstall";
       FeatureRemoveAll();
 endswitch;  
 
 MessageBox(szOutput, INFORMATION);

 //what do I need to add here?
 //ANSWER: Nothing!!
end;