Inno Setup is Flagged as Trojan?
-
@aaronventure I'm not 100% sure, but I think that any binary that you compile on your system is automatically considered trustworthy on your system (that's at least how it works on macOS).
But there are other reasons that might flag a Innosetup installer:
- requires admin access for copying files to places which wouldn't be accessible
- writes something into the registry to be listed in the "Uninstall App" window of System control
- tries to write files somewhere (this is a more suspicious activity than rendering audio)
I don't think any kind of custom-made installer will fix that problem. But are you sure that's a problem at all? You wouldn't be the first person that distributes an app with InnoSetup and the others seem to be fine.
-
@DanH do you need to do that for the vst3 or au as well?
-
@aaronventure codesign? Of course :)
-
@Christoph-Hart Yup my InnoSetup installers only very occasionally get flagged on a users system (I suspect more than I know because users are used to this and simply install them anyway), so I would send some out to beta testers and see what happens @aaronventure
-
@DanH There's also browsers which have their own system for flagging suspicious binaries and preventing the user downloading them.
-
@d-healey haven't had any issues with those thus far far :crossed_fingers:
-
@Christoph-Hart I tried it on another computer, instantly flagged. No files at all inside, just a blank installer, no changes to the script.
That one won't event build one. I'm scanning with VirusTotal.
I just need to ask the user where they want the samples, then put the vst3 into the right folder, and create the LinkWindows file. That can be done with HISE, right? Had a brief look at the file and filesystem api...
-
@aaronventure yes that can all be done with a Hise app, but perhaps try building your inno stuff on a different computer first
-
Have you named your installer setup.exe or a custom name? Apparently calling it setup.exe will raise the probability of a false positive.
You gotta appreciate the brain power and excellence that went into developing antivirus software, that‘s some peak genius move.
-
@aaronventure said in Inno Setup is Flagged as Trojan?:
@Christoph-Hart I tried it on another computer, instantly flagged. No files at all inside, just a blank installer, no changes to the script.
That one won't event build one. I'm scanning with VirusTotal.
I just need to ask the user where they want the samples, then put the vst3 into the right folder, and create the LinkWindows file. That can be done with HISE, right? Had a brief look at the file and filesystem api...
So we use (from time to time) a single custom installer for MacOS and Windows written in HISE, it seems to work fine. This shows the user the EULA and gets them to agree then installs the plugins (VST3, AU, AAX) as required by each OS, asks the user where they want the samples placing - and puts them there - and creates the LinkOS file. It puts the factory presets in the correct folder, the HISE HWT files in the correct folder and all the wav files (Convolutions and file player stuff) in the correct location. Finally it puts a bunch of meta data in the APP folder (usually json and js files).
Basically it uses an internal manifest file - that lists a series of zip files (renamed as something other than .zip to get around Safari) with a destination for each of the unzipped contents. Here's an example with a lot of samples in it..
var manifest = [ { "DataType" : VST3, "Location" : VST3LOCATION, "WindowsZipName" : ["Atmosia25Data01.cra"], "MacOSZipName" : ["Atmosia25Data02.cra"], "MegaBytesRequired" : 1 }, { "DataType" : AU, "Location" : AULOCATION, "WindowsZipName" : ["UNUSED"], "MacOSZipName" : ["Atmosia25Data03.cra"], "MegaBytesRequired" : 1 }, { "DataType" : CHFILES, "Location" : EXISTINGLOCATION, "WindowsZipName" : ["Atmosia25Data04.cra","Atmosia25Data05.cra","Atmosia25Data06.cra"], "MacOSZipName" : ["Atmosia25Data04.cra","Atmosia25Data05.cra","Atmosia25Data06.cra"], "MegaBytesRequired" : 2600 }, { "DataType" : METAFILES, "Location" : PRESETLOCATION, "WindowsZipName" : ["Atmosia25Data07.cra"], "MacOSZipName" : ["Atmosia25Data07.cra"], "MegaBytesRequired" : 1 }, { "DataType" : WAVFILES, "Location" : AUDIOFILESLOCATION, "WindowsZipName" : ["Atmosia25Data08.cra"], "MacOSZipName" : ["Atmosia25Data08.cra"], "MegaBytesRequired" : 26 }, { "DataType" : PRESETFILES, "Location" : PRESETLOCATION, "WindowsZipName" : ["Atmosia25Data09.cra"], "MacOSZipName" : ["Atmosia25Data09.cra"], "MegaBytesRequired" : 13 } ];
Then it uses the file system API to get the locations and the File.extractZipFile() to put things in the correct place
So the customer has to download these renamed zip files and a zip containing the installer - then run the installer. If you dont want the user doing these multiple downloads(the example above is 9 .cra files) you can even add that into the installer app and then the user downloads and unzips the installer - runs it and follows the instructions in the installer...
On MacOS you will need to codesign the plugins and the installer App and also notarize the Installer App - to be honest we notarize the plugins too...AU and VST3..
-
@Lindon
Have you never had writing permission problems? And if you did, how did you solve them? -
@Oli-Ullmann On Windows there is a checkbox in HISE preference to enable admin permissions. Doesn't work from plugins though, only standalone. No issue on MacOS as far as I'm aware.
-
@d-healey said in Inno Setup is Flagged as Trojan?:
@Oli-Ullmann On Windows there is a checkbox in HISE preference to enable admin permissions. Doesn't work from plugins though, only standalone. No issue on MacOS as far as I'm aware.
on the Mac you may well need to turn on the sandbox authorisation...
-
@d-healey
Thank you for the tip! :-) -
@Lindon
Many thanks for the information! Can you tell me where I can do this? In the HISE Preferences? -
@d-healey i still get users having issues with permissions on windows even with this checked. Not often but it happens and is annoying. Do you not?
-
@DanH I haven't had any issues in a standalone build.
-
@Oli-Ullmann said in Inno Setup is Flagged as Trojan?:
@Lindon
Many thanks for the information! Can you tell me where I can do this? In the HISE Preferences?if I remember correctly its in projuicer
-
Let's see if we can't fuck over the mafia, at least the one dealing certs for Windows.
Does extractzip work on split zip files?
How do I point to the folder where the standalone is currently located? I don't see a Filesystem.special for this.
I'm thinking of having a very generic installer that works for all. Server interfacing, if necessary, is then up to each individual project to be done from inside the plugin.
I'm working on one right now.
- deliver one zip, when unpacked contains setup.exe (built in HISE), Plugins.zip, Samples.zip, etc.
- check current exe directory (how?) extract Plugins.zip to FileSystem.temp, check for each extension, if it exists, move it to the correct place
- extract Samples.zip, which can contain all the big files, to a folder the user specified
- write the linkfile for the user specified folder
- if there are files you'd like in a different place, simply zip them into a different archive.
- this also allows the user to do a manual install if they wish
- ship a text file that stores CompanyName and ProjectName so that the correct base path, title etc. can be displayed.
This kind of installer can then be shipped with any HISE-based plugin and just work out of the box.
-
@aaronventure said in Inno Setup is Flagged as Trojan?:
Does extractzip work on split zip files?
There is no split zip in the zip standard, I think programs like winrar might have their own version. But you can loop over multiple zip files and call extractZip in a loop.
deliver one zip, when unpacked contains setup.exe (built in HISE), Plugins.zip, Samples.zip, etc.
Be sure to change the file extension otherwise it will automatically be extracted if the user is using Safari, or has enabled the auto-extract setting in their browser.
check current exe directory (how?)
What are you checking for?
@aaronventure said in Inno Setup is Flagged as Trojan?:
I'm thinking of having a very generic installer that works for all.
This guy had the same idea ;) - https://forum.hise.audio/topic/8707/rhapsody-plugin-installer