Maak een installer (setup) voor eindgebruikers met Excelsior Installer

Als je programma’s ontwikkelt en die door andere mensen wilt laten gebruiken dan ben je al snel op zoek naar een manier om een eenvoudige installer te kunnen maken. Zo heb ik een programma gemaakt dat het dagnummer subtiel naast de klok kan weergeven (handig in Windows XP). Dit programma bestaat uit een aantal onderdelen:

  1. het uitvoerbare bestand zelf (de executable);
  2. een bestand met de afbeeldingen (iconen) van de dagnummers;
  3. een .ini bestand waarin de teksten indien gewenst kunnen worden veranderd.

Om het programma dagnummer te gebruiken moet de eindgebruiker deze drie bestanden in een map zetten, bijvoorbeeld C:\Program Files\Eenmanierom.nl\Dagnummer. Om het programma dagnummer automatisch op te starten met Windows is bovendien een snelkoppeling naar de executable nodig in het menu Start>Programma’s>Opstarten.

Voor een eindgebruiker is dit ofwel te complex, ofwel te veel gedoe.

Met een installer kun je al deze handelingen in één uitvoerbaar setup-bestand uitleveren. Een relatief bekend programma om een installer mee te maken is NSIS (Nullsoft Scriptable Install System). NSIS kan veel en is gratis. Het maken van een installer met NSIS vereist aardig wat kennis, de installer is een programma op zich. Natuurlijk is dit logisch en is NSIS heel mooi maar ik was op zoek naar een installer die eenvoudiger te maken is, bijvoorbeeld omdat ik geen installer wil programmeren maar een programma dat het dagnummer naast de klok weergeeft.

Met Excelsior Installer maak je in een grafische wizard interface (GUI)  in een paar minuten een installer. Excelsior beoogt de distributie van software zo eenvoudig en effectief mogelijk te maken en daar zijn ze wat mij betreft prima in geslaagd! Een alternatief voor NSIS dus als je wensen binnen de marges vallen.

Advertentie

Excelsior heeft twee installatieproducten: Excelsior Installer en Excelsior Delivery. Met het gratis Excelsior Installer kon ik tot nu toe functioneel gezien goed uit de voeten. Excelsior Installer is gratis, ook voor commercieel gebruik. Excelsior Delivery kan net iets meer, waaronder de look & feel professionaliseren, en is alleen gratis voor niet-commercieel gebruik.

Mogelijkheden van Excelsior Installer

Excelsior Installer heeft een standaard look & feel en heeft de volgende mogelijkheden:

  • de eindgebruiker om een aantal installatie instellingen vragen;
  • bestanden kopiëren naar een, eventueel door de eindgebruiker gekozen, map;
  • snelkoppelingen en sleutels in het Windows register aanmaken;
  • uninstaller voor de-installatie aanmaken.

Onderstaand screenshot toont één van de schermen van de wizard van de Excelsior Delivery packager (klik erop voor een vergroting). Dit scherm is exact hetzelfde in Excelsior Installer. Naast generieke gegevens zoals de bedrijfsnaam, productnaam en het versienummer stel je hier de map in waarin (standaard) geïnstalleerd gaat worden. Ook snelkoppelingen maak je via dit scherm aan.

Zoals je ziet is hier in de meeste basismogelijkheden voorzien. Als ontwikkelaar hoef je niet veel te doen om een net installatieprogramma aan te maken. Hoewel er nog meer mogelijk is volstaat het om het volgende in de grafische wizard aan te geven:

  • voeg applicatiebestanden en mappen toe;
  • geef aan welke snelkoppelingen aangemaakt moeten worden;
  • voer je bedrijfsnaam in;
  • voer de naam van je product in;
  • voer het versienummer van je product in.

De installers nemen weinig schrijfruimte in beslag zodat ze snel kunnen worden gedownload. Verder zijn ze linksonder voorzien van een knop “Installeer” waarmee de eindgebruiker het programma snel en eenvoudig kan installeren door de standaardinstellingen aan te houden. Daarnaast kunnen de installers door systeembeheerders worden gescript om onbewaakt (unattended) te worden uitgevoerd.

Additionele mogelijkheden van het gratis Excelsior Installer

De bovenstaande mogelijkheden zijn zoals gezegd geen basismogelijkheden maar standaardinstellingen. Er is meer mogelijk als je wat meer tijd stopt in het aanmaken van een installatieprogramma:

  • Splash screen
    Tijdens het uitpakken van bestanden kun je een afbeelding laten zien (BMP, JPG, GIF en PNG worden ondersteund).
  • Licentieovereenkomst (License agreement)
    Het is mogelijk om een licentieovereenkomst te tonen waarmee de eindgebruiker eerst akkoord moet gaan. Excelsior Packager herkent “license.txt”.
  • Installatiemap
    Standaard stelt Excelsior C:\Program files\<bedrijfsnaam>\<productnaam> voor. Je kunt deze instelling wijzigen waarbij je kunt kiezen uit onder andere het bureaublad (Desktop), de hoofdmap van Windows, Application Data, Mijn Documenten (My Documents) etc. Daarnaast kun je aangeven of eindgebruikers de locatie mogen veranderen.
  • Tijdelijke bestanden
    Als je bestanden meelevert die alleen tijdens de installatie nodig zijn dan kun je deze in een aparte map plaatsen zodat ze na installatie worden verwijderd.
  • Installeren voor de huidige gebruiker of voor iedereen
    Het installatieprogramma kan op de computer van de eindgebruiker voor alle gebruikers (All users) worden geïnstalleerd of voor de ingelogde gebruiker. Voor de eerste optie heeft de eindgebruiker Administrator rechten op de machine nodig. Subtiel dat je daarom kunt kiezen om All users alleen aan te bieden als de eindgebruiker Administrator rechten heeft. Tenslotte kun je de eindgebruiker laten kiezen.
  • Snelkoppelingen (shortcuts)
    Naast een map in het Start Menu kun je ook snelkoppelingen aan laten maken in het Start Menu zelf, op het bureaublad (Desktop), de werkbalk Snelstarten (Quick Launch bar) en Opstarten (Autorun, Startup). De eindgebruiker kan deze snelkoppelingen weigeren (uitvinken tijdens de installatie).
  • Installatie taal (setup language)
    Standaard toont Excelsior de setup in de taal van de eindgebruiker, op basis van de taalinstelling in Windows. Het is ook mogelijk om de mee te leveren talen te beperken.
  • Updates
    Naast volledige installaties kun je ook servicepacks uitbrengen waarin slechts een aantal bestanden zij gewijzigd uitleveren. Hiervoor kies je in Excelsior Packager voor “Save as updatable” na het aanmaken van een installer.
  • Sleutel in het Windows register (Windows registry key)
    De installer kan sleutels aan het Windows register toevoegen. Het de-installatie programma verwijdert deze sleutels weer netjes. Standaard maakt Excelsior twee sleutels aan in het register: één om de software netjes te kunnen laten de-installeren en één om de installatiedirectory terug te kunnen laten vinden door een updater.
  • Package verification (MD5 hash)
    De installer controleert of deze gewijzigd is door bijvoorbeeld een virus. Deze MD5 hash bescherming kun je uitschakelen.
  • Post-installatie opties
    Je kunt de eindgebruiker ervoor laten kiezen om het zojuist geïnstalleerde programma op te starten. Ook kun je een leesmij tekstbestand aanbieden, Excelsior packager herkent “readme.txt”. Ook kun je aanbieden de computer opnieuw op te laten starten.
  • NSIS compiler scripts
    Excelsior Installer kan scripts exporteren die je met de NSIS compiler kunt gebruiken. Je kunt de NSIS compiler ook vanuit Excelsior Packager opstarten. Deze mogelijkheid is door Excelsior ingebouwd zodat je snel kunt opschakelen naar een complexer product indien nodig. Een Excelsior installer geeft ook een errorlevel terug zodat je kunt zien of de installatie normaal is verlopen of beëindigd is door de eindgebruiker of het installatieprogramma zelf.

N.B.: Excelsior heeft zelf een lijst met links naar alternatieven voor Excelsior Installer en Excelsior Delivery gepubliceerd.

Snel of geautomatiseerd nieuwe installers aanmaken

Je instellingen worden opgeslagen in een projectbestand (een bestand met de extensie .eit). Met dit bestand kun je een volgende installer nog sneller aanmaken, bijvoorbeeld om een nieuwe versie uit te leveren.

Met het .eit projectbestand kun je het maken van een installer ook automatiseren (scripten). Daarnaast kun je ook gegevens zoals bedrijfsnaam en versienummer uit de executable laten halen. Door het versienummer met compileren op te hogen is het hele proces van het aanmaken een installer dus te automatiseren.

Na de installatie van Excelsior kun je als ontwikkelaar via de snelkoppeling “Add to Windows Explorer context menu” een rechtermuisknop menu aan de Windows Verkenner (explorer) toevoegen. Het submenu dat dan verschijnt maakt het mogelijk om met twee klikken een (nieuwe) installer aan te maken.

Mogelijkheden van Excelsior Delivery

Excelsior Delivery heeft een aantal extra mogelijkheden. Deze uitvoering is gratis voor niet-commercieel gebruik op de functionaliteit waarmee je de look & feel aanpast na.

Zakelijk schaf je Excelsior Delivery aan voor $99. Voor commercieel gebruik is het met name interessant om met de eigen look & feel een professionele uitstraling te waarborgen. Onderstaand screenshot toont de look & feel mogelijkheden (klik erop voor een vergroting) welke je kunt testen met de knoppen Welcome, Main en Install.

N.B.: In de evaluatieversie van Excelsior Delivery kun je ook deze “Appearance” instellingen doen, deze worden echter niet meegenomen in het gegenereerde installatiebestand.

Het volgende is mogelijk met Excelsior Delivery:

  • Excelsior Delivery look & feel (rebranding)
    Bepaal zelf de welkomst, dialoog- en de-installatie afbeeldingen plus de titel van het installatievenster (window title) en de welkomsttekst. Het is ook mogelijk om het icoon van de installer aan te passen.
  • Bestandsassociaties (File associations)
    Als je in Windows dubbelklikt op een document dan opent Windows het bijbehorende programma en vervolgens het bestand. De eindgebruiker kan op basis van de extensie en een beschrijving van het te programma beslissen of de associatie gelegd mag worden.
  • Terugkoppeling bij de-installatie (Uninstall feedback)
    Je kunt eindgebruikers bij de-installatie vragen om feedback via een webpagina waarop je zelf een formulier draait of via e-mail.
  • Callback DLLs
    Het is mogelijk om programmeercode in een “custom callback DLL” mee te leveren. De DLL kun je aanroepen voordat de installer bestanden kopieert en nadat de bestanden gekopieerd zijn. Zo kun je nog meer invloed uitoefenen op het installatieproces indien nodig. Vlak voor de-installatie kun je ook een DLL aanroepen.
  • Geen de-installatie (uninstaller)
    Het is mogelijk om een installer aan te maken zonder de-installatie programma mee te leveren. Dit is gemaakt omdat er vraag naar was, daarnaast kan een de-installatie programma in specifieke gevallen te veel van het goede zijn.
  • Exporteren naar MSI
    Excelsior kan een aantal XML scripts aanmaken die met de open source WiX toolset omgezet kunnen worden in neen MSI installatie pakket (Excelsior kan ook direct WiX aanspreken en dus als GUI dienen). Een MSI kan eenvoudiger door systeembeheerders naar computers worden gedistribueerd. Als je overigens een standaard aangemaakte installer opstart met de parameter /? dan zie je dat er zonder MSI ook al veel onbewaakt (unattended) mogelijk is.

Toekomstige mogelijkheden voor Excelsior

Excelsior hoort graag van ontwikkelaars aan welke extra functionaliteiten behoefte is. Veelgevraagde functionaliteiten zijn opgesomd zodat je er eenvoudig (via e-mail) op kunt stemmen, zoals:

  • Update notificatie
    Attendeert eindgebruikers op de beschikbaarheid van een nieuwe versie of update.
  • Nederlandstalige installer
    De installers die Excelsior maakt kunnen worden weergegeven in een aantal talen, waaronder Engels, Duits, Frans, Italiaans en Spaans. Nederlandstalig kan nog niet maar je kunt hier wel eenvoudig voor zorgen. Excelsior vraagt om vrijwillige input voor vertaling. Zodra er twee vertalers zijn gevonden acht Excelsior het niveau hoog genoeg om Nederlands als nieuwe taal te ondersteunen. Mijn aandeel heb ik in februari 2010 geleverd, wie vertaalt er met mij mee (kost ongeveer twee uur)?

Voor vragen is er een forum.

N.B.: In plaats van de Extended Download Service aanschaffen kun je natuurlijk ook zelf ergens een kopie van de setup bewaren.

, , ,

Nog geen reacties. Jij mag het ijs breken!

Geef een reactie