HISE Logo Forum
    • Categories
    • Register
    • Login

    Inno Setup is Flagged as Trojan?

    Scheduled Pinned Locked Moved General Questions
    108 Posts 14 Posters 11.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • LindonL
      Lindon @aaronventure
      last edited by Lindon

      @aaronventure said in Inno Setup is Flagged as Trojan?:

      You compile this baby ONCE, then you just ship it with any plugin. The delivery is a zip containing:

      Installer.exe
      Plugins.dat (essentially a zip file renamed to dat, you can automate the creation of this for any project using a simple script
      Config.dat
      Samples.dat

      Your problem here is Samples.dat.

      Most sample based applications are carrying many Gb of samples with them, so Samples.dat a renamed zip file) will be many Gb big - and as Dave and I have found out thru experience the HISE unzip process can often balk at anything past about 2Gb.... so you are limiting the utility of this right there.

      In the end what we did was bite the bullet, and build an installer that:

      1. knows where in the interwebs your samples are zipped up - Samples01.dat, Samples02.dat... Samples24.dat etc.
      2. Knows (from its config data - a manifest for us) where these need to go
      3. downloads these dat files and puts them in the right place.

      So this covers downloading too.

      The other nice thing about this was it allowed us to add a whole truck load of additional meta-files etc. used by the plugin , e.g. tagging.json etc. - whatever your plugin uses, as well as installing VST3, AU and AAX -plugins across Windows and OSX

      So it installs

      • plugins (including letting windows users select their VST3 folder)
      • samples
      • Audio files
      • MIDI files
      • User Presets
      • meta data
      • images
        etc etc. basically anything you want anywhere you want to put it.

      So if you continue with your installer - my experience tells me plugin.dat, samples.dat and config.dat
      are not going to be enough.

      Something for @Christoph to consider too I guess...

      HISE Development for hire.
      www.channelrobot.com

      A 1 Reply Last reply Reply Quote 1
      • Christoph HartC
        Christoph Hart @aaronventure
        last edited by

        @aaronventure I would still recommend to go for the DMG option on macOS - you can hide the data files in the DMG folder view and it becomes a very lean user experience.

        If you go down this road, I can recommend DMGCanvas, it costs 20 bucks once but is as smooth as it can get (it even automatically notarizes the DMG for you).

        @Lindon the installer system I'm working on should cover all bases

        • customizable appearance (not 100% skinnable, but you can change some colours and font to match your company's CI)
        • ability to download files or do HTTP requests
        • Javascript (not HiseScript!) evaluation for doing some simple logic (like hiding some options depending on previous selections)
        • inbuilt extraction of HR1 archives and or zip files
        • automatically write the sample link file
        • (optional) embedding of assets into the installer binary (if you don't want to ship additional files, for FX plugins this should be fine).

        I'm switching the main HISE installers to this system for the next release and I think it can be the default option going forward now (the more people use it the more stable it gets obviously).

        A LindonL 2 Replies Last reply Reply Quote 1
        • A
          aaronventure @d.healey
          last edited by aaronventure

          @d-healey If we all use the same .exe, then in a few hundred runs, yes, forever. You don't have to build reputation from 0 for each new release or update of your plugin - the installer.exe is always the same file.

          d.healeyD 1 Reply Last reply Reply Quote 0
          • A
            aaronventure @Christoph Hart
            last edited by

            @Christoph-Hart How far along the way are you? Do you expect to finish it soon?

            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @aaronventure
              last edited by

              @aaronventure from what i understand Christoph's system allows us to individually build installers, so they will still be different exe files.

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              Christoph HartC 1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @Christoph Hart
                last edited by

                @Christoph-Hart said in Inno Setup is Flagged as Trojan?:

                @aaronventure I would still recommend to go for the DMG option on macOS - you can hide the data files in the DMG folder view and it becomes a very lean user experience.

                If you go down this road, I can recommend DMGCanvas, it costs 20 bucks once but is as smooth as it can get (it even automatically notarizes the DMG for you).

                @Lindon the installer system I'm working on should cover all bases

                • customizable appearance (not 100% skinnable, but you can change some colours and font to match your company's CI)
                • ability to download files or do HTTP requests
                • Javascript (not HiseScript!) evaluation for doing some simple logic (like hiding some options depending on previous selections)
                • inbuilt extraction of HR1 archives and or zip files
                • automatically write the sample link file
                • (optional) embedding of assets into the installer binary (if you don't want to ship additional files, for FX plugins this should be fine).

                oh the two features I forgot were:

                1. The ability to uninstall a product
                2. The ability to delete the downloaded archives when complete.

                HISE Development for hire.
                www.channelrobot.com

                1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Christoph Hart
                  last edited by

                  @Christoph-Hart said in Inno Setup is Flagged as Trojan?:

                  NOOOO! Why didn't you wait a few weeks

                  Maybe now is a good time to create an upcoming features roadmap ;)

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  1 Reply Last reply Reply Quote 0
                  • Christoph HartC
                    Christoph Hart @d.healey
                    last edited by Christoph Hart

                    @d-healey said in Inno Setup is Flagged as Trojan?:

                    from what i understand Christoph's system allows us to individually build installers, so they will still be different exe files.

                    It could be used to create one installer with a dynamic payload though, so if that keeps 80% of the people from having to throw money into the greedy mouths of Comodo et al, I'm happy to go full Robin Hood on this one.

                    How far along the way are you? Do you expect to finish it soon?

                    It's already in the codebase so you can play around with it. Just build the tools/multipagecreator app. There's a introduction project that kind of shows the most important functions available here

                    Link Preview Image
                    HISE/tools/json_dialog/introduction/introduction.json at develop · christophhart/HISE

                    The open source framework for sample based instruments - HISE/tools/json_dialog/introduction/introduction.json at develop · christophhart/HISE

                    favicon

                    GitHub (github.com)

                    Just choose File -> Load and select this JSON file, then click through the project. It's definitely not production ready and needs one or maybe five iterations of UX improvements, but the main concepts are working and I think at this point some feedback would be helpful for me how to polish this bad boy.

                    The ability to delete the downloaded archives when complete.

                    cc8bc2b2-356e-46cf-a970-e65495112dcc-image.png

                    Yup, that's a flag in the UnzipAction that you can tick, then it will delete the Zip file after successful extraction (you can also choose to use a temporary file for the download target, then it will also delete it when done).

                    The ability to uninstall a product

                    Yes that's a valid request. I haven't implemented this yet, but it's definitely within the scope of that system.

                    A LindonL HISEnbergH hisefiloH 5 Replies Last reply Reply Quote 1
                    • A
                      aaronventure @Christoph Hart
                      last edited by

                      @Christoph-Hart

                      checking it now.

                      Here's a Windows Build.bat file that you can add to the multipagecreator directory for one click build

                      @echo off
                      set "script_dir=%~dp0"
                      set "projucer_path=..\projucer\Projucer.exe"
                      set "msbuild=C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MsBuild.exe"
                      
                      REM Echo the paths to verify
                      echo HISE Source directory: %hise_source%
                      echo Projucer Path: %projucer_path%
                      
                      REM Build
                      "%projucer_path%" --resave "multipagecreator.jucer"
                      "%msbuild%" "Builds\VisualStudio2022\multipagecreator.sln" /t:Rebuild /p:Configuration="Release" /verbosity:minimal
                      
                      pause
                      
                      1 Reply Last reply Reply Quote 0
                      • A
                        aaronventure @Lindon
                        last edited by

                        @Lindon said in Inno Setup is Flagged as Trojan?:

                        Your problem here is Samples.dat.

                        Most sample based applications are carrying many Gb of samples with them, so Samples.dat a renamed zip file) will be many Gb big - and as Dave and I have found out thru experience the HISE unzip process can often balk at anything past about 2Gb.... so you are limiting the utility of this right there.

                        To address this:

                        yes, unzip is 32 bit, and still the only native choice in the latest JUCE version.

                        My app actually makes a list of all the .dat files with Samples in their name, then extracts them one by one.

                        As ZIP does not support archive splitting, I wrote batch that you can include in the root of your project and it will automatically pack all your chx files into incrementally named zips and keep fitting them. If a new chx monolith would push the archive over 2 GB, it writes it to another archive instead.

                        @Christoph-Hart said in Inno Setup is Flagged as Trojan?:

                        would still recommend to go for the DMG option on macOS - you can hide the data files in the DMG folder view and it becomes a very lean user experience.

                        Well, technically it's the same for Windows ISO files and autorun on mount. NI used to roll like this for a long time if I remember correctly, before Native Access was a thing.

                        1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @Christoph Hart
                          last edited by

                          @Christoph-Hart said in Inno Setup is Flagged as Trojan?:

                          Yup, that's a flag in the UnzipAction that you can tick, then it will delete the Zip file after successful extraction (you can also choose to use a temporary file for the download target, then it will also delete it when done).

                          Actually thats useful - but its not what ours does...it (at a later date) allows the user to un-install the plugin and all its files....so it removes the vst3, au, aax plugins and all the samples in the samples folder(that belong to this product) and the contents of AppData....

                          HISE Development for hire.
                          www.channelrobot.com

                          1 Reply Last reply Reply Quote 0
                          • A
                            aaronventure @d.healey
                            last edited by

                            @d-healey Here's the repo https://github.com/aaronventure/HISE-Plugin-Installer

                            TODO:

                            • Unzip Samples
                            • Unzip AppData
                            • Create progress bar with status text
                            • Change Install button to Exit on installation finished
                            1 Reply Last reply Reply Quote 0
                            • A
                              aaronventure @Christoph Hart
                              last edited by

                              @Christoph-Hart As I'm playing around with the Multi Page Creator, is there or will there be an option to execute terminal/command line functions? I see LambdaTask but have no clue how it works.

                              Christoph HartC 1 Reply Last reply Reply Quote 0
                              • Christoph HartC
                                Christoph Hart @aaronventure
                                last edited by

                                @aaronventure yeah sure good idea, why not.

                                The lambda task is a placeholder action that you then can implement in C++ later (I‘ll be using this system for every custom dialog in HISE going forward).

                                Currently I‘m implementing a CSS parser/renderer that allows full styling of this dialog so don‘t wonder if you pull the latest changes and it looks completely different ;)

                                d.healeyD 1 Reply Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @Christoph Hart
                                  last edited by

                                  @Christoph-Hart said in Inno Setup is Flagged as Trojan?:

                                  I‘m implementing a CSS parser/renderer

                                  Is this for the entire UI or just the multi-dialog system?

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  Christoph HartC 1 Reply Last reply Reply Quote 0
                                  • Christoph HartC
                                    Christoph Hart @d.healey
                                    last edited by

                                    @d-healey starting with the multipage, but I have plans to extend this to native HISE controls at some point to.

                                    1 Reply Last reply Reply Quote 1
                                    • HISEnbergH
                                      HISEnberg @Christoph Hart
                                      last edited by

                                      @Christoph-Hart I was tinkering around with this today, very exciting and can't wait for it to be incorporated in HISE!

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        ludivinacameron @aaronventure
                                        last edited by

                                        @aaronventure I'm also getting this issue.

                                        1 Reply Last reply Reply Quote 0
                                        • DanHD
                                          DanH @aaronventure
                                          last edited by

                                          @aaronventure said in Inno Setup is Flagged as Trojan?:

                                          Further, adding product name to the setup and creating a custom type [Types] in the script knocks that down to 3.

                                          Would you mind expanding on this a little please? As in which bits of the script do you edit?

                                          I've got:

                                          #define MyAppName
                                          

                                          and the other entries there - is that what you mean by adding the product name?

                                          I don't use [Types] anywhere though...

                                          :folded_hands:

                                          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                          https://dhplugins.com/ | https://dcbreaks.com/
                                          London, UK

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            aaronventure @DanH
                                            last edited by

                                            @DanH It was just this

                                            
                                            [Types]
                                            Name: "custom"; Description: "Default"; Flags: iscustom
                                            

                                            These are for "full installation" etc, I think. I wanted to skip that screen so I just created a custom one.

                                            Yeah, that's what I meant by defining product name.

                                            Btw, have you looked at the multipage creator?

                                            DanHD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            24

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.1k

                                            Posts