More progress on the installer. At this point it can install and import the language, but does not rename config files. Still much work to be done, most notably localization and creation of MySQL users and databases.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48px"
height="48px"
id="svg4376"
sodipodi:version="0.32"
inkscape:version="0.45"
sodipodi:docbase="/home/dan/emotes"
sodipodi:docname="face-smile-big.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<defs
id="defs3">
<linearGradient
id="linearGradient3976">
<stop
id="stop3978"
offset="0"
style="stop-color:#a40000;stop-opacity:1;" />
<stop
id="stop3980"
offset="1"
style="stop-color:#6a0000;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3290">
<stop
style="stop-color:#fffcde;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop3292" />
<stop
id="stop3294"
offset="0.64485979"
style="stop-color:#f6e76a;stop-opacity:1.0000000;" />
<stop
style="stop-color:#ffb738;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop3296" />
</linearGradient>
<linearGradient
id="linearGradient3068">
<stop
style="stop-color:#696969;stop-opacity:1;"
offset="0"
id="stop3070" />
<stop
id="stop3076"
offset="0.34579438"
style="stop-color:#ffffff;stop-opacity:1.0000000;" />
<stop
style="stop-color:#ffffff;stop-opacity:1.0000000;"
offset="0.72486681"
id="stop3078" />
<stop
style="stop-color:#5c5c5c;stop-opacity:1;"
offset="1"
id="stop3072" />
</linearGradient>
<linearGradient
id="linearGradient3050">
<stop
style="stop-color:#a40000;stop-opacity:1;"
offset="0"
id="stop3052" />
<stop
style="stop-color:#ec0000;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop3054" />
</linearGradient>
<linearGradient
id="linearGradient4565">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop4567" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop4569" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4565"
id="radialGradient1360"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
cx="24.714285"
cy="38.571430"
fx="24.714285"
fy="38.571430"
r="19.714285" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3290"
id="radialGradient1362"
gradientUnits="userSpaceOnUse"
cx="29.288071"
cy="15.720984"
fx="29.158466"
fy="15.755712"
r="8.9020796" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3068"
id="linearGradient1372"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.900635,0,0,0.512797,2.616633,10.42827)"
x1="11.250000"
y1="26.093750"
x2="36.875000"
y2="26.093750" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3050"
id="linearGradient1375"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.900634,0,0,0.512797,2.420862,9.703722)"
x1="23.031250"
y1="24.312500"
x2="23.031250"
y2="36.249878" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3050"
id="linearGradient3966"
x1="24.692268"
y1="36.41777"
x2="24.692268"
y2="26.339582"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0.5820313,-1.4726563)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="linearGradient3974"
x1="23.838776"
y1="25.481133"
x2="23.838776"
y2="36.279236"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0.5820313,-1.4726563)" />
</defs>
<sodipodi:namedview
fill="#a40000"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.19607843"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9999999"
inkscape:cx="24.321501"
inkscape:cy="24"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:showpageshadow="false"
inkscape:window-width="1024"
inkscape:window-height="740"
inkscape:window-x="0"
inkscape:window-y="0"
stroke="#a40000" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Face - Laughing</dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>emoticon</rdf:li>
<rdf:li>emote</rdf:li>
<rdf:li>smiley</rdf:li>
<rdf:li>laughing</rdf:li>
<rdf:li>:-D</rdf:li>
<rdf:li>:D</rdf:li>
</rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Attribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
sodipodi:type="arc"
style="opacity:0.53164560;color:#000000;fill:url(#radialGradient1360);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
id="path4563"
sodipodi:cx="24.714285"
sodipodi:cy="38.571430"
sodipodi:rx="19.714285"
sodipodi:ry="6.5714288"
d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1 5.0000000,38.571430 A 19.714285 6.5714288 0 1 1 44.428570 38.571430 z" />
<path
sodipodi:type="arc"
style="opacity:1.0000000;color:#000000;fill:url(#radialGradient1362);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9c8c0a;stroke-width:0.48004404;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
id="path4320"
sodipodi:cx="31.112698"
sodipodi:cy="19.008621"
sodipodi:rx="8.6620579"
sodipodi:ry="8.6620579"
d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)" />
<path
d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
sodipodi:ry="8.6620579"
sodipodi:rx="8.6620579"
sodipodi:cy="19.008621"
sodipodi:cx="31.112698"
id="path4322"
style="opacity:0.67721522;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc"
transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)" />
<path
style="opacity:1;color:#000000;fill:url(#linearGradient1375);fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 12.46856,21.582101 C 9.8316492,20.960126 14.333556,28.420831 24.261236,28.420831 C 34.091034,28.420831 38.930429,20.977414 36.053912,21.582101 C 28.547558,23.160051 18.888402,23.096367 12.46856,21.582101 z "
id="path2756"
sodipodi:nodetypes="czss" />
<path
style="opacity:1;color:#000000;fill:url(#linearGradient1372);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 13.536826,24.177654 L 35.068859,24.117737 C 35.851954,23.198123 36.967052,21.745691 36.121189,21.874738 C 28.097871,23.098802 19.550104,23.670967 12.259336,21.774407 C 11.09799,21.472303 12.411126,23.397376 13.536826,24.177654 z "
id="path3058"
sodipodi:nodetypes="ccssc" />
<path
sodipodi:type="arc"
style="fill:none;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
id="path1364"
sodipodi:cx="-3.8125000"
sodipodi:cy="1.8750000"
sodipodi:rx="2.9375000"
sodipodi:ry="2.8750000"
d="M -0.87500000,1.8750000 A 2.9375000,2.8750000 0 0 1 -6.3564497,3.3124999"
sodipodi:start="0.0000000"
sodipodi:end="2.6179939"
sodipodi:open="true"
transform="matrix(-0.965926,-0.258819,0.258819,-0.965926,24.53442,17.20131)" />
<path
transform="matrix(-0.965926,-0.258819,0.258819,-0.965926,15.78442,17.20131)"
sodipodi:open="true"
sodipodi:end="2.6179939"
sodipodi:start="0.0000000"
d="M -0.87500000,1.8750000 A 2.9375000,2.8750000 0 0 1 -6.3564497,3.3124999"
sodipodi:ry="2.8750000"
sodipodi:rx="2.9375000"
sodipodi:cy="1.8750000"
sodipodi:cx="-3.8125000"
id="path2094"
style="fill:none;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
sodipodi:type="arc" />
<path
style="fill:url(#linearGradient3966);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3974);stroke-width:0.60000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 20.746765,24.465604 C 20.720179,24.443774 19.4343,30.356408 20.839213,32.80155 C 21.198259,33.601658 21.843112,35.125247 23.883409,35.125247 C 25.923707,35.125247 26.510689,34.47698 27.452089,32.643008 C 28.684434,30.068783 27.19429,24.450133 27.19429,24.450133 L 20.746765,24.465604 z "
id="path2989"
sodipodi:nodetypes="ccsccc" />
<path
style="fill:#360000;fill-opacity:1;fill-rule:evenodd;stroke:#460000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 24.303289,25.52862 C 24.303289,25.52862 23.056987,28.928613 24.02065,33.856952 C 23.075842,28.78291 24.280044,25.448151 24.303289,25.52862 z "
id="path4951"
sodipodi:nodetypes="ccc" />
</g>
</svg>