View Issue Details

IDProjectCategoryView StatusLast Update
0007334SUMoNew Featurepublic2023-08-29 10:57
ReporterOLLI_S Assigned ToKC_Softwares  
PrioritynormalSeveritymajorReproducibilityN/A
Status acknowledgedResolutionopen 
PlatformWindowsOSMicrosoft WindowsOS Version11
Product Version5.17.6 
Target VersionLong term 
Summary0007334: Detection Scripting Language
DescriptionMaybe this idea is a bit wired (and I also don't know how SUMo manages the detection rules), but I thought about an "Detection Scription Language", where you can write the detection rules in a normal text file.
This file (or these files) are downloaded by SUMo from the SUMo servers, so no need to deliver a new SUMo.exe just because of updated rules.

Of cause, they can be encoded (encrypted), to prevent others to steal rules or to break SUMo.
And there might be more criteria to identify an application (in my demo below I just used the EXE file).

In these rules, excluding applications is made very easy:

[AllDup]
ApplicatioFile = AllDup.exe
IgnoreAppInPath = 7z.exe

[OneCommander]
ApplicatioFile = OneCommander.exe
IgnoreAppInPath = OneCommanderConnector.exe
IgnoreAppInPath = OneCommanderUpdater.exe

[CCleaner]
ApplicatioFile = CCleaner.exe
ApplicatioFile = CCleaner64.exe
IgnoreAppInPath = CCleanerBugReport.exe
IgnoreAppInPath = CCleanerPerformanceOptimizerService.exe
IgnoreAppInPath = CCleanerReactivator.exe
IgnoreAppInPath = CCUpdate.exe
IgnoreAppInPath = uninst.exe

Also changing the product name or changing the company name is really simple:

[Demo-Appliation]
ApplicatioFile = TestExeName.exe
NewProducrName = Demo Application
NewCompanyName = New Compay Coders


In the SUMo.exe you parse this file.
When you detect "AllDup.exe" then you also get the installation path (this might be C:\Program Files (x86), but can also be C:\PortableApps\AllDup).
Then you parse the installation folder of AllDup and all sub-folders.
If any of the IgnoreApps is found, then it is ignored.

In these rules files you also can
* Define what file is used for getting the version number via ApplicatioFile
* Change the name of the product (different than shown in the EXE file) via NewProducrName
* Change the name of the company (different than shown in the EXE file) via NewCompanyName
* Do some other refactoring stuff

The advantages of these rule files are:
* They can be changed faster (no coding needed)
* They are easier to understand and to maintain
* They can be delivered faster (several times per week)
* They work with installed applications and also with portable applications (so ignoring some files in the application folder must be added only once)

I really love this idea, it makes so many things easier (at least I hope so).
TagsNo tags attached.

Activities

OLLI_S

2023-06-04 14:41

reporter   ~0004840

I also reported the issue 0007298 (that in the GIMP-Folder there are too many files found).
This could also be solved by the Detection Scripting Language:

[GIMP]
ApplicatioFile = gimp-#.##.exe
IgnoreSubfolder = \..\..\..\gimp32\lib\gimp\2.0\plug-ins\

The "#" stands for "any digit from 0 to 9.

GIMP is installed in: D:\PortableApps\PortableApps\GIMPPortable\App\gimp\32\bin\
The plugins are in: D:\PortableApps\PortableApps\GIMPPortable\App\gimp32\lib\gimp\2.0\plug-ins\
So the path in "IgnoreSubfolder" means: go back to the folder "D:\PortableApps\PortableApps\GIMPPortable\App\"
From this folder ignore the subfolder "gimp32\lib\gimp\2.0\plug-ins\"

Very theoretically, but it should work.

KC_Softwares

2023-06-04 21:03

administrator   ~0004841

Sure. Hopefully, this specific case will be correctly handled in next release onwards.

OLLI_S

2023-08-29 10:57

reporter   ~0004870

This scripting language is much to change in the code, but afterwards, changes regarding detecting applications can be implemented much faster.
This will help you on the long term a lot!

These "rules" can be downloaded separate, so you don't have to compile a new SUMo.exe, just because of changes in the rules!

And for the detection issues on my system, I can post the rule here in the bug tracker, you just need to check (verify) them and then you can add them by simply copy and paste.

Issue History

Date Modified Username Field Change
2023-05-29 21:37 OLLI_S New Issue
2023-05-30 21:15 KC_Softwares Target Version => Long term
2023-05-30 21:15 KC_Softwares Assigned To => KC_Softwares
2023-05-30 21:15 KC_Softwares Status new => acknowledged
2023-06-04 14:41 OLLI_S Note Added: 0004840
2023-06-04 21:03 KC_Softwares Note Added: 0004841
2023-08-29 10:57 OLLI_S Note Added: 0004870