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

How can I remove the dialog "welcome"...


2 replies to this topic

SubDir

SubDir
  • Members
  • 19 posts

Posted 11 October 2002 - 15:00

Hi,

when I start my setup the second time, a dialog "welcome" (sdWelcomeMaint, 12053) appears with which I can choose to change, repair or delete my programm.

How can I remove this dialog from my setup-programm?
(IS 6.3)

Thanks for help, Ute



Xitch13

Xitch13
  • Members
  • 134 posts

Posted 11 October 2002 - 16:06

There are two possible reasons I can think of why this is occuring.
1) You're welcome screen code is contained in the OnBegin() function.  If that's the case, move the dialog boxes to OnFirstUIBefore().  That function is called only the first time (It's replaced with OnMaintUIBefore() after that).

2) Or both the OnFirstUIBefore() and OnMaintUIBefore() contain the same code.  Ergo, remove the dialog boxes from OnMaintUIBefore().
Code Sample
///////////////////////////////////////////////////////////////////////////////
//
//  FUNCTION:   OnMaintUIBefore
//
//  EVENT:      MaintUIBefore event is sent when end user runs installation that
//              has already been installed on the machine. Usually this happens
//              through Add/Remove Programs applet. In the handler installation
//              usually displays UI allowing end user to modify existing installation
//              or uninstall application. After this function returns,
//              ComponentTransferData is called to perform file transfer.
//
///////////////////////////////////////////////////////////////////////////////
function OnMaintUIBefore()
   NUMBER  nResult,nSetupType, result, digital, analog;
   STRING  szTitle, szMsg, szLicenseFile, szQuestion;
   STRING  svName, svCompany, szDir, szfolder;
   STRING  szComponents, szTargetdir, szBmpPath;
   NUMBER  nLevel, nOpResult, nvSize, nvType;  
   LIST listButtons, listDesc;      
   BOOL bvCheckC1, bvCheckC4, bDone, bIsP2;
   STRING szSetupType, szTargetPath, szTextC1, szTextC4;
   STRING szKey, szClass, tempstring, sSQLService;
STRING szDialogName, d, a, dll, szText, szPath;
HWND    hwndDlg, hwndItem;
begin
if CMDLINE = "" then
BeforeInstall();  
   ComponentReinstall();
else
bRemove = 1;  
SdShowMsg ("Executing procedures for removal of StoreVision 2.3", TRUE);  
StopDAS();        
StopServices();
       
       DeleteDir ( TARGETDIR ^ "InstallLog" , ALLCONTENTS );
       
       if (Is(FILE_EXISTS, "E:\\StoreVision\\StoreVision.mdf")) = TRUE then
    szPath = WINSYSDIR;
ChangeDirectory(szPath);
if (bIsWindows2000 = TRUE) then
SdShowMsg ("Deleting Databases from SQL Server.", TRUE);
_LaunchAppEx(szPath + "\\DropDatabase.bat", "", WAIT, SW_HIDE, -1, nResult);
Delay (5);
SdShowMsg ("Deleting Databases from SQL Server.", FALSE);  
else
LaunchAppAndWait(szPath + "\\DropDatabase.bat", "", WAIT);
endif;
endif;
 
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
   szKey = "SOFTWARE\\Controlled Access\\StoreVision";
   RegDBGetKeyValueEx(szKey, "InstallationDirectory", nvType, szInstallDir, nvSize);

ComponentRemoveAll();
endif;
end;


That's a copy of my code.  If the command line is blank it goes through a reinstall, else it removes everything (and deletes the db's)

Hope this helps
There is great chaos under heaven, and the situation is excellent. (Mao Tse Tung)

prozacrefugee

prozacrefugee
  • Members
  • 38 posts

Posted 23 October 2002 - 20:20

If you mean the maintenance screen included by the project wizard, go to OnMaintUIBefore(), and replace this:

            Disable(BACKBUTTON);
nType = SdWelcomeMaint(szTitle, szMsg, MODIFY);
Enable(BACKBUTTON);

with this:
           nType=REMOVEALL;

This will make it so your program automatically moves to uninstall when setup.exe is launched a second time.