Closed Emi-Emi-Emi closed 6 months ago
Fort's installer already supports /SILENT
argument (due InnoSetup).
Oh nice. I didn't know if it did or not, I guess my post sounded like Fort didn't but I meant a requirement was the silent installation, if not waiting for them to fix that issue which would allow more programs to be in Winget. 👍
Ok. I have made progress about this, it's been time consuming and messy, but I am getting somewhere and it should be in Winget packages repository soon.
With the tests I was making I found an issue with the installer, which applies to everyone.
Since Winget has to be a silent installation, it also has the 'dependencies' to install dependencies first before the installer, which is great.
Now the problem is https://github.com/tnodir/fort/blob/af6218419e4fe9c75b6a0b32f232ee62b3e4e99e/deploy/FortFirewall.iss#L146 is only checking for VCRedistx86, so when I made Fort haveMicrosoft.VCRedist.2015+.x64
dependency, it still only checked for the x86 version, and while it will not throw any error of 'not finding the dll', it still opens the browser and the website to download the latest one.
This is why I was getting an error in dependencies, first I thought Microsoft.VCRedist.2015+.x86
was the one needed package, but then I got the msvcp140.dll
missing error, and then checking further, I added the correctly package and in the sandbox test the MS website opens even after VCRedist was installed correctly.
Apparently, while winget doesn't like scripts, but there is no issues installing the driver, or they complaining about it or the sandbox test failing for it, but I don't know if more validations of the installer will complain about it. At least there is no tests or issues with the driver throwing the memory integrity/core isolation problem. I still added to the Description the warning, even if Fort installer also display the warning in the installer.
But this is one problem I found doing tests, not a big problem, but it should be detected per architecture, so doesn't open the browser for x64/ARM(?) systems.
But this is one problem I found doing tests
Fixed by b15d80f1.
Please check the v3.10.5-test0.
Tested x64 on both interactive and silent and manifest installed with no issues in Sandbox. 👍
BTW, the only thing I saw is that installer has 'Launch Fort Firewall' checked on interactive, but in silent the program doesn't open after being installed. But not an issue.
@Emi-Emi-Emi Thank you for your feedback! Marry Christmas and best wishes for 2024!
the only thing I saw is that installer has 'Launch Fort Firewall' checked on interactive, but in silent the program doesn't open after being installed.
It's because of skipifsilent
flag. We can add cmd line argument to run it, if needed.
It could be added if you want, but it is not needed for Winget.
But for example, since I add FortFirewall to PATH, then I can just type FortFirewall after using winget, or do what I already do, start /wait FortFirewall-3.10.5-test1-windows10-x86_64.exe /silent && FortFirewall.exe
and done, plus I use Powertoys Run so it is fast, but there is Start Menu for the normal people, so there is no issue about opening Fort after silently install it, so it would be just more convenient to open it automatically, just as interactive has the option.
If anything, Winget manifest can also have custom arguments for the installer too.
Finally it passed the checks 👍No issues with scripts, driver or anything. https://github.com/microsoft/winget-pkgs/pull/132381
The reason it didn't pass before in my last two tries was for dependencies and then because of a space I missed for the YAML format to work, although it didn't throw any error in my side, it did on the Azure pipeline, I figured it could be that and fixed it, but waited until today to make the PR for the newer version.
I don't know how easy is to add or maintain the Winget packages to https://github.com/microsoft/winget-pkgs
Apparently they say it can be easily created and updated with: https://github.com/microsoft/winget-create.
But it would be nice if we could just go to terminal and add
winget install fort.firewall
and done, or well, update it it withupgrade
.The only requirement would be Fort Firewall has to have a silent installation mode in place so it can be used in Winget with it.There is a issue opened to allow non-silent installations, in case, but it has been there for a while https://github.com/microsoft/winget-cli/issues/910 with no signs of life and won't happen until who knows when.Winget is preinstalled in all Win11, so this makes it a good thing for tech experts, but even for people who are not tech savvy, so it is easier for them to install Fort without too complicated steps, just terminal, run command and done.