Announcement

Collapse
No announcement yet.

Extraction speed

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Extraction speed

    Hi

    In my setup i have a folder with 16000 Files. If i compress it with 7zip, the extraction takes lesse than 10 Seconds. With Setup Factory it takes over 8 Minutes.
    Is there a way to increase the setup speed?

  • #2
    Setup Factory does not just decompress the files. The names are also shown in the Progress screen, they are written individually written in the installation log file, as well as added to the uninstall XML file. All this can add a considerable amount of time, especially if you have a lot of small files. If you do not want to suppress the progress screen and the installation log file, you could add the zip file containing the thousands of files as a primer file to your setup, and have the ZIp plugin decompress it. It could be faster, as Setup Factory will not display individual file names and add each file to the uninstaller. However, you need to take care of those files manually during uninstall, via scripting, as they will not be removed automatically.

    Ulrich

    Comment


    • #3
      Hi Ulrich
      Thank you very much for your reply.
      I tried to change the following for tests:
      • Disable: Settings > Log Files > Create log file
      • Disable: Uninstall > Log Files > Create log File
      • Comment out: Screens > While Installing > Edit > Actions > On Progress > Line 38 & Line 41 (local strAbbreviatedItemText = String.... & DlgStaticText.SetProperties(CTRL_......)
      This without improvement.

      Then i tried to disable the uninstaller creation (just for testing purpose).
      • Disable: Uninstall > Settings > Create uninstall
      This got the setup time to below 2 min! Whis is great.

      Is there a way to keep the installer without using a zip file? my setup consists of one folder and two extra files.
      Is it possible to configure the uninstaller that it simply deletes that folder and those two files, without single deleting each of the 16000 files in the folder?

      Comment


      • #4
        After testing your idea with the zip file and extracting with the zip plugin, i have the issue that the settup window is not visible during the extraction.
        It is very fast (~10 Seconds), but it looks like it crashed since there is nothing visible.
        How could i improve the user experience for this?

        Best would be if i could solve it somehow the way i mentioned above:

        Is there a way to keep the installer without using a zip file? My setup consists of one folder and two extra files.
        Is it possible to configure the uninstaller that it simply deletes that folder and those two files, without single deleting each of the 16000 files in the folder?​

        Comment


        • #5
          Ulrich Do you have any other idea? 🙈

          Comment


          • #6
            Originally posted by Sayen View Post
            i have the issue that the settup window is not visible during the extraction.
            It is very fast (~10 Seconds), but it looks like it crashed since there is nothing visible.
            How could i improve the user experience for this?
            You can use the StatusDlg actions to show a message on the screen while the plugin is working:

            Click image for larger version

Name:	image.png
Views:	229
Size:	1.2 KB
ID:	309625

            Code:
            -- show feedback to the user
            StatusDlg.Show();
            StatusDlg.SetMessage("Extracting files, this may take a moment...");
            StatusDlg.SetTitle("My Product Setup");
            StatusDlg.SetStatusText("Processing...");
            StatusDlg.SetAutoSize(true);
            StatusDlg.ShowCancelButton(false);
            StatusDlg.ShowProgressMeter(false);
            
            -- do your Zip stuff
            
            
            -- hide dialog and proceed
            StatusDlg.Hide();​
            You can also use a Custom Progress screen in the setup, and perform the Zip extraction there, while showing a message. You could even add a progress bar, controlled by a timer, just to keep something moving on the screen once per second, instead of using a real callback - because that would again slow down the processing.

            It is also a possibility that the "Never remove" option could improve the performance in a case like yours - I have not tested it. In theory, it could be that the file path is not added to the uninstallers XML, and this operation saves you a few milliseconds per file. Just remember that you will need to remove the files and folders manually during uninstall, can be done via rmdir /s.

            Ulrich

            Comment

            Working...
            X
            😀
            🥰
            🤢
            😎
            😡
            👍
            👎