I make it to be compatible with official web pages
The web page has to have these comments:
Code:
<!-- EXECUTE_FILE : SFrame.exe --> <!-- LAUNCH_ARGUMENT : /auth_ip:182.162.85.11 /cash /commercial_shop /main_server /help_url_w:902 /help_url_h:670 --> <!-- UPDATE_COMPLETE_MESSAGE : Update completed. --> <!-- ALREADY_UPDATE_MESSAGE : Already updated. --> <!-- LAUNCH_BUTTON_DECO : html_code_to_set_when_update_done_for_launch_button --> <!-- CONFIG_BUTTON_DECO : html_code_to_set_for_config_button --> <!-- LAUNCHER_SIZE : 704, 510 -->
-EXECUTE_FILE is the file to launch when the launch button is clicked (usually sframe.exe)
-LAUNCH_ARGUMENT is the argument list to add when launching EXECUTE_FILE
-UPDATE_COMPLETE_MESSAGE is the message to show when the update is completed
-ALREADY_UPDATE_MESSAGE is the message to show when all files are already up to date
-LAUNCH_BUTTON_DECO is the html code to insert between span id=LAUNCH_BUTTON and /span elements when the update is completed
-CONFIG_BUTTON_DECO is the html code to insert between span id=CONFIG_BUTTON and /span elements
-LAUNCHER_SIZE is the launcher's window size (width, height)
commands links are:
action://launch/ : start the game (
action://config/ : start RappelzConfig.exe
action://minimize/ : minimize the launcher's window
action://destroy/ : close the launcher's window
Html special elements are:
Code:
<span id=element_name></span>
-LAUNCHER_VERSION : where to add the launcher version (currently v1)
CLIENT_VERSION : where to add the client version
MESSAGE : the message to inform the user what the launcher is doing (like Receiving updated information...)
FILENAME : the filename being downloaded
PROGRESS_1 : the progress bar for the current file download progress
PROGRESS_2 : the progress bar for the total update progress
PERCENTAGE_1 : the percentage of the current file download
PERCENTAGE_2 : the percentage of the total update
LAUNCH_BUTTON : where to add LAUNCH_BUTTON_DECO when update completed
CONFIG_BUTTON : where to add CONFIG_BUTTON_DECO
The launcher use a file to know where is the launcher's page and update information file
it's LauncherOptions.xml and is like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<launcher>
<version>0</version>
<launcherpageurl>http://launcherchinese.rappelz.my/service/Game/Launcher/indexjump1.aspx</launcherpageurl>
<updatefileurl>http://127.0.0.1/update.txt</updatefileurl>
<lastwidth>705</lastwidth>
<lastheight>555</lastheight>
</launcher>
launcherpageurl is the url of the launcher page (here it's the rappelz ph one)
updatefileurl is the url of the update information file
lastwidth and lastheight are not needed, they are used to store the previous size of the launcher
The update information file is like this:
Code:
UPDFILE http://updatedfilelocation.com/ somefiletoupdate.txt:3 someotherfiletoupdate.txt:4
The 2nd line is the base url location, filenames are appended to this string to make the full url of the file to download
All lines after that are file's version:
filename.ext:version
For this example, if the client version is < 3, the launcher will download
and 
If the client version is 3, it will only download

The update file MUST have an empty line at the end of the file
All files are written to the current directory, you cannot (or else it's a security flaw
To know how to make a launcher page, use the official ones (windowed mode checkbox is not supported, the "continue" button is not supported, progress bar works like that: percentage = file downloaded/file to download)
Here is some official launcher pages:
(not fully supported)
(flash not supported)
(didn't see any bugs, replace * with fr/de/it/...)
(not fully supported, some deco features not implemented)Let me know if someone encountered some bugs
This program use Qt 4.8.1, if you don't already have Qt's dll, you can download Qt4.8.1Dlls.zip (these dlls must be in the program's directory or in the PATH env var)
(msvc*100.dll are maybe not needed, but if you need them, they are in Launcher.zip)
Virus total for Launcher.zip:

Virus total scan for Qt4.8.1Dlls.zip:






