A new version that fully support progress bar (relative to total bytes to download)
You need the same Qt dll as in the first post, if you already have them, you do not need to redownload qt's dll
In the web page, there are several thing that will be recognized by the launcher.
Here is an example of how to make a web page for the launcher with all supported parameters:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Rappelz Launcher</title>
<!-- LAUNCHER_SIZE : 800, 602 -->
<!-- LAUNCHER_VERSION_DECO : Launcher Version: %1 -->
<!-- CLIENT_VERSION_DECO : Client Version: %1 -->
<!-- MESSAGE_DECO : Message: %1 -->
<!-- FILENAME_DECO : Filename: %1 -->
<!-- PERCENTAGE_1_DECO : %1% of file completed -->
<!-- PERCENTAGE_2_DECO : %1% of total update completed -->
<!-- PROGRESS_BAR_DECO : <div style="display: inline-block; width:400px; border:black 1px solid; position: relative"><div style="background: black; color:black; width: %1%;"> </div></div> -->
<!-- LAUNCH_BUTTON_DECO : <a href="action://LAUNCH/">Launch Rappelz</a> -->
<!-- CONFIG_BUTTON_DECO : <a href="action://CONFIG/">Rappelz Config</a> -->
<!-- LAUNCH_ARGUMENT : /auth_ip:195.59.138.19 /locale:windows-1252 /country:FR /cash /commercial_shop /help_url_w:620 /help_url_h:633 -->
<!-- EXECUTE_FILENAME : SFrame.exe -->
<!-- UPDATING_MESSAGE : Updating ... -->
<!-- ALREADY_UPDATE_MESSAGE : Already updated. -->
<!-- UPDATE_COMPLETE_MESSAGE : Update completed. -->
<!-- RECEIVING_UPDATE_MESSAGE : Receiving update infos ... -->
</head>
<body>
[Launcher Version] <span id="LAUNCHER_VERSION" style="color:blue"></span><br>
[Client Version] <span id="CLIENT_VERSION" style="color:blue"></span><br>
[Message] <span id="MESSAGE" style="font-weight:bold"></span><br>
[File Name] <span id="FILENAME" ></span><br>
[Progress Bar For the File] <span id="PROGRESS_1"></span><br>
[Percentage of File] <span id="PERCENTAGE_1" style="font-weight:bold; color: cyan"></span><br>
[Progress Bar for the Total Update] <span id="PROGRESS_2"></span><br>
[Percentage of Total Update] <span id="PERCENTAGE_2" style="font-weight:bold; color: green"></span><br>
[Launch Button] <span id="LAUNCH_BUTTON" style="font-weight:bold; color: red"></span><br>
[Config Button] <span id="CONFIG_BUTTON"></span><br>
</body>
</html>
Use it to know how things works
Official launcher pages are somewhat supported, but not fully for all, if there is a parameter that is not on the example page, it means that this parameter is not supported (as well as specials IDs in <span> tags)
-LAUNCHER_SIZE is the launcher size in pixels
-LAUNCHER_VERSION_DECO is a string that will be inserted in the element that contain LAUNCHER_VERSION id, it must contain %1, this %1 will be replaced with the current launcher version
-CLIENT_VERSION_DECO Same as LAUNCHER_VERSION_DECO but for the client version
-MESSAGE_DECO is a string where %1 will be replaced with the message (UPDATING_MESSAGE, ALREADY_UPDATE_MESSAGE, UPDATE_COMPLETE_MESSAGE or RECEIVING_UPDATE_MESSAGE)
-FILENAME_DECO is a string where %1 is the filename currently being downloaded
-PERCENTAGE_1_DECO / PERCENTAGE_2_DECO %1 is replaced with the current percentage of update completion, PERCENTAGE_1_DECO is for the percentage of downloaded bytes for the current file and PERCENTAGE_2_DECO the percentage of total bytes to download
-PROGRESS_BAR_DECO is a progress bar where %1 is the percentage of progress done and %2 is the remaining percentage so %1+%2 = 100
-LAUNCH_BUTTON_DECO is a string inserted in the element with id = LAUNCH_BUTTON when the update is completed
-CONFIG_BUTTON_DECO Same as the launch button, but is inserted at the beginning, not sure if this parameter is really useful, but some official launcher page require it
-LAUNCH_ARGUMENT: what parameter to add when launching EXECUTE_FILENAME
-EXECUTE_FILENAME: the file to execute when the user click on a link with href=action://LAUNCH/
-*_MESSAGE: message to show at different update status (see example)
action://* links have not changed
Using form to trigger an action is not supported (as used in European launchers)
If you do not have in your page elements with IDs PROGRESS_1 and PERCENTAGE_1, that is you do not want to have the current file download progress informations, the launcher will download severals file at the same time (6 files max) increasing downloading speed
The option file is now case sensitive and must be at least like that:
Code:
<?xml version="1.0" encoding="utf-8"?>
<launcher>
<updateFileUrl>set your update info url here</updateFileUrl>
<launcherPageUrl>set your launcher page url here</launcherPageUrl>
<version>0</version>
</launcher>
launcherPageUrl point to your launcher page like

updateFileUrl point to the update info file (which begins with UPDFILE)
The launcher add lastWidth and lastHeight, but they are just for the launcher to know the last LAUNCHER_SIZE parameter and to avoid resizing the launcher while loading the page
If you delete the file, the launcher will complain about the url not defined and will create the option file with that:
Code:
<?xml version="1.0" encoding="utf-8"?>
<launcher>
<updateFileUrl>http://www.yourserver.com/updfile.txt</updateFileUrl>
<launcherPageUrl>http://www.yourserver.com/launcher.html</launcherPageUrl>
<version>0</version>
<lastWidth>700</lastWidth>
<lastHeight>400</lastHeight>
</launcher>
Where you will have to change updateFileUrl and launcherPageUrl to match your settings
The update file is now like this:
Code:
UPDFILE
http://updatedfilelocation.com/
somefiletoupdate.txt:3:1234
someotherfiletoupdate.txt:4:12412
The only difference with the previous version is that there is a new field (1234 and 12412) that is the file size, after the second ':'. The file size is required else the launcher will skip the file, if you don't know exactly the file size, you can use an approximation, this value is used for the percentage of total update calculation, if your value is not the real value, the global progress bar speed will not reflect the real download speed (the file progress bar will remain correct even if the file size provided is not the real size at all).
So now a file is described like this: filename:fileversion:filesize
(And don't forget the last empty line)
As an example, you should use european launchers which are fully supported except for the config button (because it use a form instead of a link)
For test purpose, you can also use the file protocol instead of having a real web server, for example instead of

, you can use file://localhost/C:/yourpath/launcher.html and the launcher will load the page on your hdd this way (so no need to have a web server to test it)
If you does not have QtXml4.dll, download QtXml4.dll
If you have any question (or you find bugs), please post here ^^
Virus total for the Launcher:

Virus total for QtXml4:
[EDIT] Launcher updated (and virustotal scan too) to have

instead of launcher.txt for the default example config file
You can now specify file in oder folders than the current folder, for example to add a file to update where the file is located in the resources folder, add in the updfile resources/filename.ext:version:filesize
If the server prefix is

, it will downloaded from

and it will saved in ./resources/filename.ext (".." is not allowed in file names or path so you cannot add a file in ../afolder/filename.ext for example)