Inno Setup is Flagged as Trojan?
-
@Christoph-Hart How far along the way are you? Do you expect to finish it soon?
-
@aaronventure from what i understand Christoph's system allows us to individually build installers, so they will still be different exe files.
-
@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:
- The ability to uninstall a product
- The ability to delete the downloaded archives when complete.
-
@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 ;)
-
@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 herehttps://github.com/christophhart/HISE/tree/develop/tools/json_dialog/introduction/introduction.json
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.
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.
-
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
-
@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.
-
@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....
-
@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
-
@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.
-
@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 ;)
-
@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?
-
@d-healey starting with the multipage, but I have plans to extend this to native HISE controls at some point to.
-
@Christoph-Hart I was tinkering around with this today, very exciting and can't wait for it to be incorporated in HISE!
-
@aaronventure I'm also getting this issue.
-
@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:
-
@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?
-
@aaronventure amazing, thanks!
Btw, have you looked at the multipage creator?
Nope, it doesn't seem finished? I've already created a standalone installer for my audio content. It downloads and installs the zip file, creates the link file, deletes the zip etc. You can choose a custom location etc.
I'm sure I could get this to install the vst files but I'd prefer to get my Inno installers working as that seems the more normal route for customers.
Is the multipage creator any good?
-
Is the multipage creator any good?
Yes very good. Much software.
Jokes aside, it's not ready for client use. I have a vague roadmap for it, with phase 4 being stable enough to promote this as solution for HISE devs, but we're not there yet.
Phase 1: Use it for the internal HISE dialog windows. This is pretty much complete and the snippet browser is a glorious example of a new UX-friendly future of HISE.
Phase 2: Use it for the HISE installers. It kind of works but I'm still breaking those as I work on the multipage creator core architecture. I aim for the HISE 4.0.0 installers to be built with this system though.
Phase 3: Use it for my own projects as installer solution. This way I am responsible of fixing backwards compatibility stuff
Phase 4: Make docs & examples for other devs to use this
Phase 5: Integrate this entire system into HiseScript so you can use it to make modal dialogs, use standardized CSS for look and feel etc.So we're at phase 1.5 at the moment but I decided to put it on hold and resume the work on the glitchfest that is called HISE for the next weeks.
-
One of my installers has been getting flagged for some people downloading through Chrome - despite being signed. I ran it through Virus Total and sure enough Google was flagging it.
I changed the compression algorithm in the iss file to bzip and that seems to have solved the issue.