mirror of
https://github.com/reactos/reactos.git
synced 2024-11-18 21:13:52 +00:00
100 lines
3.5 KiB
Text
100 lines
3.5 KiB
Text
For 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 range
|
|
will 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 mind
|
|
that 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 source
|
|
program 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://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx>
|
|
|
|
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 Spanish
|
|
|
|
|
|
You 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.
|
|
Size = 10 MB
|
|
Category = 5
|
|
URLSite = https://example.org/
|
|
URLDownload = https://ftp.example.org/pub/installer.exe
|
|
CDPath = ; Path in the local filesystem
|
|
|
|
[Section.0419] ; 0419 - for Russian language
|
|
Description = Description in Russian language
|
|
...
|
|
|
|
|
|
The mandatory fields are: Name, Category and URLDownload
|
|
All 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 - Engineering
|
|
10 - Finance
|
|
11 - Science
|
|
12 - Tools
|
|
13 - Drivers
|
|
14 - Libraries
|
|
15 - Other
|
|
|
|
The official list of downloadable programs is kept on a public ReactOS server
|
|
and 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 archive), use the included scripts:
|
|
|
|
For Windows & other NT-derived: CreateCabFile.bat
|
|
For Linux & other UNIX flavors: CreateCabFile.sh
|
|
|
|
|
|
Once the rappmgr.cab is downloaded to %appdata%\rapps, RAPPS extracts it using cabinet.dll
|
|
inside %appdata%\rapps\rapps, after that, it will parse all the *.txt files contained therein.
|
|
|
|
Every subsequent time the program tries to access the local .txt files
|
|
until a database update is manually triggered by the user.
|
|
|
|
If the rappmgr.cab file is moved or just missing, RAPPS will download it again.
|