HISE Logo Forum
    • Categories
    • Register
    • Login

    Inno Setup is Flagged as Trojan?

    Scheduled Pinned Locked Moved General Questions
    108 Posts 14 Posters 11.5k 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.
    • d.healeyD
      d.healey @aaronventure
      last edited by

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

      vst3 location

      This shouldn't be changed by the user, Steinberg specify where it should go on the system.

      AU location shouldn't be changed either.

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

      Where do audiofiles go if you have a bunch of them? It is always %appdata%/company/product ? User presets too, right?

      Audio files go in the app data folder as a .dat file.

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

      LindonL 1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @d.healey
        last edited by

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

        Audio files go in the app data folder as a .dat file.

        er... not for me at least unless I'm doing something wrong..

        they go in %AppData%/companyname/productName/AudioFiles

        as do any hwt files,

        Presets go here:

        %AppData%/companyname/productName/UserPresets

        Images go here:
        %AppData%/companyname/productName/Images

        meta data goes wherever the developer wants it to go...

        the list goes on..

        HISE Development for hire.
        www.channelrobot.com

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

          @Lindon I just put the .dat file directly in the app data folder.

          As per the docs - https://docs.hise.audio/working-with-hise/settings/project.html#embed-audio-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
          • Christoph HartC
            Christoph Hart @d.healey
            last edited by

            the list goes on..

            Yeah but anything I can think of either goes into the samples folder or some subfolder of the app data folder, so you can just use a zip file with the correct folder hierarchy for the entire app data payload.

            I think 99% of all cases can be covered by having three payloads:

            • Plugins.zip which contains every plugin that is put to the default location (with an option to change it if appropriate, eg. VST2 on Windows)
            • Samples.zip which use either the existing location (if the Linkfile already exists) or a default that can be picked by the developer. The first option is important for shipping updates / expansions.
            • AppData.zip which contains any payload that should be put into the app data directory. AudioFiles.dat, Wavetable stuff, additional DLLs (currently there is none, but I remember that I had to ship the rLottie.dll for PercX). Even Expansions could be put there.

            On macOS you can simply bundle all that up into a nice .dmg file (you can even hide the zip archives so the end user only sees the installer app which is about as nice as it can get. But on Windows you'll have a zip file that contains other zip files AND the installer which is a bit weird.

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

              @Christoph-Hart oh and if we‘re at it: the sample payload can then be just an hr1 archive (this would be optional if your sample data is HLAC monoliths). This way you get automatic split archives and the compression is way better than ZIP.

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

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

                @Christoph-Hart oh and if we‘re at it: the sample payload can then be just an hr1 archive (this would be optional if your sample data is HLAC monoliths). This way you get automatic split archives and the compression is way better than ZIP.

                I thought the compression was in the ch1 files? Didnt you say that once? not in the HR1 files

                HISE Development for hire.
                www.channelrobot.com

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

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

                  I thought the compression was in the ch1 files?

                  Both. The HR1 format uses the FLAC format which yields a better compression ratio (about 30-40% more) so I chose that for the file distribution format where performance doesn't matter at all.

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

                    @Christoph-Hart There are some issues with exporting monoliths to HR1 that I kept running into so I gave up on that kind of deployment. I've narrowed it down to my sample map, but even after recreating it from scratch (re-importing all the samples and setting everything up) it's still happening. HISE freezes and needs to be terminated, and the result is only a temp.dat file with ~75% of the target size.

                    More here: https://forum.hise.audio/topic/5723/export-samples-for-installer-hanging-at-compressing-100/18?_=1704476073678

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

                      More findings on this recently:

                      I've discovered that using Inno Setup 6.0.3 results in the least number of false positives on VirusTotal, and most important of all, doesn't falsely trigger the Windows Defender.

                      Further, adding product name to the setup and creating a custom type [Types] in the script knocks that down to 3. Now, self-signing via openssl and signtool drops it down to 1, with the only report being the Crowdstrike Falcon saying it's greyware, and they a dedicated email for false positives on their website.

                      d.healeyD Oli UllmannO DanHD 3 Replies Last reply Reply Quote 1
                      • d.healeyD
                        d.healey @aaronventure
                        last edited by

                        @aaronventure Can you share some instructions for self signing?

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

                        A 1 Reply Last reply Reply Quote 1
                        • Oli UllmannO
                          Oli Ullmann @aaronventure
                          last edited by

                          @aaronventure
                          Yes, instructions for self signing would be really great! :-)

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

                            @d-healey https://github.com/jfmaes/LazySign

                            This uses the old makecert. It's a simple bat, you can tweak it indefinitely.

                            You'll be prompted to create a password for the temporary cert, then to point to the .exe .

                            You can alternatively use openssl to make a certificate which can stremline the process. Install openssl https://github.com/openssl/openssl from here.

                            I create my installers in the Deploy folder inside the project directory. I have a batch that creates the temporary cert with openssl for the given name (edit this in the batch script; I plan to eventually have it hook into user_info.xml and automatically pull the Company property value)

                            This batch will check all the subfolders inside the Deploy directory and sign them with the temporary certificate. It won't prompt for password nor for a target file. Simply drop it in your project root directory and make sure you have .exe files in \Deploy\ or wherever (change the bat to your liking).

                            Change the company name variable to whatever you want. Make sure you point it at signtool.exe as well. You can get it either from the SDK, but the LazySign repo contains the exe as well.

                            _sign_with_openssl and signtool.zip

                            The result is a signed binary with a non-verified signature. Some antivirus software seem to find that's enough. This won't prevent smartscreen (only a high enough score will; enough users going through with the execution anyway, as well as a submission to the Microsoft Defender https://www.microsoft.com/en-us/wdsi/filesubmission though I cannot confirm whether it completely eliminates it as triggering smart screen on all my testing computers in the first place is hit or miss. E.g. HISE installer from the Releases page triggers it on my laptop. The self-signed installer from Inno 6.0.3 signed this way doesn't.

                            Another way of doing it is signing with your domain using limelighter https://github.com/Tylous/Limelighter

                            This doesn't time stamp it but what's interesting is that when signed with limelighter, the HISE installer 3.6.2 doesn't trigger the smart screen on my laptop. Signing with a self-made cert from openssl and signtool (the method above) still triggers it.

                            But this also adds another false positive in VirusTotal Bkav Pro - W32.AIDetectMalware along with the greyware flag from Crowdstrike Falcon.


                            One of the values for my proposition of a universal installer (glorified unzipper) using HISE Standalone was that it would completely eliminate Smart Screen issues. If it's always the same exe with the same hash that everyone is distributing, then even if it triggers the smart screen in the first few dozen occurrences, it will eventually stop. Btw. I've never encountered a smart screen from any HISE Standalone app I tested, either mine or here from the forum, on any of my machines or VMs. So it looks like it's already "in there", maybe because they all have very similar architecture when compiled (?) and people have been using various HISE Standalone apps for a while now, no?

                            I'll continue work on it and post a better example soon.

                            1 Reply Last reply Reply Quote 3
                            • ThinkTankT
                              ThinkTank @Christoph Hart
                              last edited by

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

                              Or don't give in to the code sign mafia and raw dog your installers to your customers like a real man!

                              :face_with_tears_of_joy: :face_with_tears_of_joy: :face_with_tears_of_joy:

                              Without problems that test the limits of your abilities, you can not expand them.

                              1 Reply Last reply Reply Quote 0
                              • ThinkTankT
                                ThinkTank
                                last edited by

                                Who cares about installers, I'm gonna zip this bad boy up, and let the customers figure out the rest. 👿

                                Without problems that test the limits of your abilities, you can not expand them.

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

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

                                  Who cares about installers, I'm gonna zip this bad boy up, and let the customers figure out the rest. 👿

                                  Good luck :)

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

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

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

                                    I'm looking to see if there's a way around having to pay the cartels

                                    Did you find a solution. I'm about to renew my certificate for 3 years, it's $100 more per year than I paid a year ago! I just found a coupon code that gives me $100 which is nice. Oh yeah and I have to get a new dongle each time I renew, and just chuck away the old one, what a waste!

                                    Edit: I just scrolled up and re-discovered your detailed post about self signing :)

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

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

                                      @aaronventure use Inno Setup 5.2.3 (you'll need to adapt the script to that older version)

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

                                        @d-healey I did turn to JUCE and managed to create a semi working app

                                        628ec2d1-53b4-456e-b539-fdd471ba94c8-image.png

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

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

                                        The installer first checks if there is Config.dat and if not, throws an error. The Config.dat contains two things: info.json and optionally, background.png. If it contains background.png, it dynamically sets that as the background for the installer GUI. It's all streamed from the archive files, nothing is ever unzipped.

                                        Info.json is a simple JSON object with Product name, company name and version. It uses the names to set the name of the window as you can see and to set the default path for the installing process. After you select a directory, it always appends the product name to the path.

                                        It only shows the path selection Samples.dat exists.

                                        It then extracts the Samples.dat to the target directory.


                                        This app is meant to achieve several things:

                                        Compile and sign once, then forget about it

                                        For delivering plugins or sample libraries in the standard HISE format, it's all you'll ever need. No need to sign anything anymore. Other than AAX maybe.

                                        I need to implement xattr -c for mac so you don't have to sign VST or AU anymore either.

                                        After that, no more signing EVER. Ideally I'd have this app signed on Win and Mac and everyone can use that signed .exe.

                                        Super easy delivery

                                        You can fully automate the packaging on a single main system using scripts. If the other OS' build to the same networked directory, then once it's done you just run a packaging script which simply zips up the binaries and all relevant files.

                                        One download for all platforms

                                        Easy management of downloads on your hosting service. Save loads of space for large sample libraries without your delivery looking funky and requesting the user manually unzip the samples somewhere


                                        First time dabbling with JUCE to create a functioning app, so the codebase is a mess, but I'll open it up anyway so others can contribute as well. Ideally I hope to have this ready for the launch of my first HISE plugin.

                                        Christoph HartC d.healeyD LindonL 3 Replies Last reply Reply Quote 1
                                        • Christoph HartC
                                          Christoph Hart @aaronventure
                                          last edited by

                                          I did turn to JUCE and managed to create a semi working app

                                          NOOOO! Why didn't you wait a few weeks, I'm currently building an installer IDE that you can use to create compiled installers (actually your topic here nudged me into that direction).

                                          How are you distributing the many files on Windows? on macOS you can simply put them all in a DMG and get away with it, but there's no thing like this on Windows (except for zipping it all up and let the user expand it but that's a suboptimal workflow IMO).

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

                                            @Christoph-Hart

                                            Haha, well, it was good practice. If nothing, I gained immense respect for your work with HISE, as if I didn't have enough already.

                                            Another good thing about this approach is that it enables a fully manual installation just by unzipping the .dat files. For those who want it.

                                            I mean you can do SFX but that's weird, I think everyone by now learned to expect a zip when not using a dedicated downloader.

                                            From what I can see, either you have a downloader app that the user either downloads and runs or installs which then does what I described here, or you ship a self contained zip file right as an order fulfillment.

                                            I don't think delivering zips is an issue at all.

                                            Christoph HartC 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            24

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts