I forgot to assign my previousDiskID Last Sequence in the last example, which is the most important part.

it should be fairly easy to rewrite the installer to work the correct way and Install the files in the correct order. This should also make it feasable to write the Disk Prompt and have it in the right location as it will traverse the Install media in the correct order. I'm going to work on it this weekend some time, but I'll need help cleaning up my code to make it wine worthy as this will be my first attempt at a patch. Here is some pseudo code, explaining how I think it should work. Let me know if I'm wrong or you have any suggestions.

In InstallFiles() it will need to execute step 1 and create the folders as it currently does.

Then for step 2 do the following -

1. initialize the DiskId to 1.
  Initialize the previous diskId-lastSequence to 0.

2. Query the total number or DiskIds from the media table.

3. Loop through DiskId until Total Disk Id is reached.

  foreach ( DiskId )
  {
       select * from media where DiskId == DiskId
initialize LastSequence to that of LastSequence column in Media Table
       cabinet = cabinet column

       print out, changing media to "Name of Cabinet" - Disk Prompt Here
for the current DiskId check to make sure the lastSequence is > previous diskId sequence

          if ( lastSequence < previousDiskIdSeq )
          {
                skip this install media
                next DiskId
           }
          else
          {
                Here call a function to iterate current install Medium
                IterateInstallMedia(LastSeq, cabinet);
--in this function select * from file table where Sequence < lastSequence order by Sequence

then iterate through the file table for the current install medium and
               extract the files from the cabinet and copy files.

           }

      previous-DiskIDSequnce = LastSequence.
      DiskId++;

  }




Reply via email to