Something went wrong. Try again.
Reactos
Something went wrong. Try again.
3.7 kB · 102 lines
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103For more information about RAPPS, take a look at <https://reactos.org/wiki/RAPPS>ADDING DOWNLOADABLE PROGRAMS TO THE RAPPS DATABASE--------------------------------------------------Each program entry consists of a text file formatted with an INI-like syntax.They must be encoded in UTF-16 LE (Little Endian) or characters out of the ANSI rangewill display broken mojibake, some editors like Notepad++ call this format UCS-2 Little Endian.If you plan on including your program entry in the ReactOS source code versioning keep in mindthat entries are stored in UTF-8 without BOM (Byte Order Mask) for VCS friendliness.They get automatically converted to UTF-16 when creating the compressed rappmgr.cab package,which is how clients obtain their program lists every time a Database upgrade is triggered.Also, each [Section] is language-independent and individual, you can override the URL to a sourceprogram or any other field by adding a language-specific [Section.], followed by the language code.NOTE: You can find a complete listing of LCIDs and language names here, includes neutral codes: <https://learn.microsoft.com/en-us/windows/win32/intl/language-identifier-constants-and-strings>Now RAPPS also accepts neutral language codes, meaning that you can do things like this: ; Default English fallback, used if everything else fails. [Section] Name = Name in English ; Neutral Spanish, used if the specific variant of Spanish does not match. [Section.0a] Name = Name in Generic Spanish ; Spanish from Spain, used if the system is configured for it. [Section.0c0a] Name = Name in Castilian SpanishYou can also define an entry without English fallback to make it visible to certain users only.For instance; software from 1C, which is mostly for Russian speakers and unusable for anyone else.File format overview: ; This is a INI-style comment, useful for adding additional information. ; Lines starting with a ; character are skipped by the parser. [Section] Name = My fun stuff-o-matic RegName = Name in Registry Version = 1.1.1 License = GPL Description = Shortish description giving some additional background information about what it does. SizeBytes = 1594881 Category = 5 URLSite = https://example.org/ URLDownload = https://ftp.example.org/pub/installer.exe [Section.0419] ; 0419 - for Russian language Description = Description in Russian language ...The mandatory fields are: Name, Category and URLDownloadAll other fields are completely optional and can be skipped.List of valid categories: 1 - Audio 2 - Video 3 - Graphics 4 - Games 5 - Internet 6 - Office 7 - Development 8 - Edutainment 9 - Engineering10 - Finance11 - Science12 - Tools13 - Drivers14 - Libraries15 - Themes16 - OtherThe official list of downloadable programs is kept on a public ReactOS serverand synced every time RAPPS is launched for the first time.NOTE: You can find the most current URL in rapps.h, defined as APPLICATION_DATABASE_URL.To generate a RAPPS database (usually a rappmgr.cab/rappmgr2.cab archive), usethe included scripts:For Windows & other NT-derived: CreateCabFile.batFor Linux & other UNIX flavors: CreateCabFile.shOnce the rappmgr.cab is downloaded to the user's local %AppData%\RApps, RAPPS extracts itusing cabinet.dll inside %AppData%\RApps\appdb. After that, it will parse all the *.txtfiles contained therein.Every subsequent time, the program tries to access the local .txt filesuntil a database update is manually triggered by the user.If the rappmgr.cab file is moved or just missing, RAPPS will download it again.