Saturday, October 6, 2012

Randa: KDE Edu installer for Windows

Some of you may question why I was working on the Rekonq Windows installer at the KDE Edu sprint in Randa. This is a very good question because it seems at first glance that got I distracted from my reason for travelling there. Although, I do not unfortunately have screenshots in this post, let me explain the situation. It is a bit dry for a reason, but please bear with me. :-)

The KDE Edu sprint began with the KDE Edu on Windows session, at least for me. We had a very productive discussion during the session and among many topics one topic was particularly close to my heart; just like at the KDE Windows BoF in Tallinn at aKademy:

How can we proceed with promoting KDE Edu on Windows? How can we get an installer as soon as possible?

Having had the session I briefly decided in my mind I was going to work on an installer as an experiment when we have spare time among the sessions.

The KDE Windows team did a great job for aiding the situation, so many thanks to them. One thing which was immediately obvious in this area: we have to have an installer for a full KDE Edu stack, so not just a single application. We have had examples out there for having a Windows Installer for Amarok and so forth, but they are all standalone applications.

Although I have made Windows NSIS installers previously for Gluon, Mula and so forth by using CPack, as a total newbie about making Windows installers this way, I have decided to make an in-between step. What in-between step exactly? That said, having thought through, it was clear to me I should grab the "qewitter" package and get something similar done for a KDE application. As I previously had the urgent need for a Rekonq installer  at my company, I stuck with the idea of creating a standalone installer for Rekonq and then learning the basics along the way, and once that is done I can introduce the new factor of having an installer for a full stack, and not just a standalone.

As you may have read my previous blog post about the initial success of the Rekonq installer, I began the work on the KDE Edu installer. Actually I got that working during Randa with a few quirks. The most important issue was that I did not get a shortcut in the Start menu for each application. Meanwhile the KDE Edu suite installed fine with a simple "next workflow", one had to go the executable files and run them manually. Therefore, theoretically it was installable, but not too user friendly. ;-)

As for accomplishing that goal, I had to make a custom NSIS script which did not have time in Randa, but actually I got that done and committed at the Milan Bergamo airport and also onboard the plane. Vis major situation is vis major... Unfortunately when I was generating the latest version of the installer, my Windows 7 froze on the airplane, and did not respond, no matter what I did. When I tried to force a hard reboot, the operating system did not boot anymore. The last days I have tried to repair the ntfs filesystem on my Linux operating system with "ntfsfix", I have also tried to get the boot manager repaired. I have also tried to use the Windows 7 DVD I got from my colleague, but after two unsuccessful tries (3 hours repair / try), I just gave up.

If anybody has a good idea how I could get my Windws 7 working again, let me know. Otherwise I will just back-up the kderoot folder, and execute a reinstall when I have a little free time. In the meantime, if anybody is interested in the "raw installer", no shortcuts in the Start menu as it is not the latest generation, I can upload to the winkde.org server. :-)

Alternatively, if someone has a KDE Windows emerge environment, "emerge --package kdeedu-package" should also work theoretically. That even worked for me practically. :)

Last, but not least: I left out the "Step" and "Rocs" project out of the KDE Edu installer for now as they have had some build issues. I began to address the Rocs build issues at the sprint, but I was unable to solve that completely. "Step" is currently a bit of unmaintained piece, and the compilation errors were not too easy to fix up, so we did not spend too much time with that.