program
   Disable( BACKGROUND );
   CheckRequirements();
   SetupInstall();
   SetupScreen();

   if (ShowDialogs()<0) goto end_install;
   if (ProcessBeforeDataMove()<0) goto end_install;
   if (MoveFileData()<0) goto end_install;
   if (ProcessAfterDataMove()<0) goto end_install;
   if (SetupRegistry()<0) goto end_install; 
   if (SetupFolders()<0) goto end_install;

   end_install:

   CleanUpInstall();
   // Wenn ein nicht wiederbehebarer Fehler auftrat, so wird die
   // Teilinstallation rckgngig gemacht. Ansonsten wird die
   // Installation normal beendet.
   if (bInstallAborted) then
      abort;
   endif;

endprogram
