Windows-installer: verschil tussen versies

Uit EekBoek
Naar navigatie springenNaar zoeken springen
kGeen bewerkingssamenvatting
k (Syntactische aanpassingen)
 
(6 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
'''Deze pagina beoogt een dump te zijn van het MAKEN van een self-installing package voor EekBoek voor Windows.
'''Deze pagina beoogt een dump te zijn van het MAKEN van een self-installing package voor EekBoek voor Windows.
<<Er komt een aparte pagina voor het installeren van het resultaat van deze pagina>>
<<Work in progress, deze pagina is nog niet volledig of getest>>


Kies voor x86 (32 bit) of x64 (64 bit). Ik noem steeds de 64 bit variant. Aanpassen waar gewenst. (x64 -> x86)
Kies voor x86 (32 bit) of x64 (64 bit). Ik noem steeds de 64 bit variant. Aanpassen waar gewenst. (x64 -> x86)
Regel 9: Regel 5:
== Download en installeer cygwin ==
== Download en installeer cygwin ==


Cygwin is een unix emulator onder windows. Het maakt allerlei (command-line-)utilities beschikbaar, zoals zip, unzip, git etc.
[http://www.cygwin.com/ Cygwin] is een UNIX emulator onder Windows. Het maakt allerlei (command-line-)utilities beschikbaar, zoals zip, unzip, git etc.


Installeer vanaf http://www.cygwin.com/
Installeer vanaf http://www.cygwin.com/


http://cygwin.com/setup.exe
http://cygwin.com/setup.exe


Kies in ieder geval zip en unzip (uit de categorie archive) en git (uit de categorie devel).
Kies in ieder geval zip en unzip (uit de categorie archive) en git (uit de categorie devel).
Regel 23: Regel 19:
* Download CitrusPerl (van http://www.citrusperl.com/download/CitrusPerl/).  Kies voor de 20812 versie, 209xx werkt nog niet.
* Download CitrusPerl (van http://www.citrusperl.com/download/CitrusPerl/).  Kies voor de 20812 versie, 209xx werkt nog niet.


http://www.citrusperl.com/download/CitrusPerl/citrusperl-standard-51402-20812-msw-x64-014.zip
http://www.citrusperl.com/download/CitrusPerl/citrusperl-standard-51402-20812-msw-x64-014.zip


* Sla de zipfile op, en pak de zipfile uit, bijvoorbeeld in de c:\eekboek directory. Er onstaat een directory:  
* Sla de zipfile op, en pak de zipfile uit, bijvoorbeeld in de c:\eekboek directory. Er onstaat een directory:  


C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\
C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\


* Start de tool citrusutils, in  
* Start de tool citrusutils, in  


C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\citrusutils.exe
C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\citrusutils.exe


* Hiermee zetten we een aantal paden goed, en installeren we MinGW (de GCC compiler voor Windows, benodigd vanwege dmake.exe).
* Hiermee zetten we een aantal paden goed, en installeren we MinGW (de GCC compiler voor Windows, benodigd vanwege dmake.exe).
Regel 48: Regel 44:
* Maak een directory c:\eekboek\builddir64\
* Maak een directory c:\eekboek\builddir64\


* start een terminal vanuit CitrusPerl, door
* start een terminal vanuit CitrusPerl, door het volgende te runnen:


C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\citrusterm.bat te runnen.
C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\citrusterm.bat


binnen deze terminal de volgende commando's:
binnen deze terminal de volgende commando's:
Regel 59: Regel 55:
  git clone -b btwcodes git://eekboek.git.sourceforge.net/gitroot/eekboek/eekboek
  git clone -b btwcodes git://eekboek.git.sourceforge.net/gitroot/eekboek/eekboek
  cd eekboek
  cd eekboek
make bootstrap
perl Build.PL
Build
Build test
</code>
</code>


wijzig op regel 26 van git-version.pl
Als je een alleen re-build van een nieuwere versie doet:
<code>
 
  2>/dev/null
<code>  
</code> in <code>
  cd c:\eekboek\builddir64\eekboek
  2>nul
  git pull
</code>
  make bootstrap
(tenzij Johan iets slims bedenkt!)
<code>
  make bootstrap <er missen een aantal files, dat is bekend>
  perl Build.PL  
  perl Build.PL  
  Build  
  Build  
  Build test  
  Build test  
</code>
</code>
<een aantal test faalt, dat komt doordat er geen externe database server beschikbaar is, en doordat er files missen>
<
Noot: een aantal tests faalt, dat komt doordat er geen externe database server beschikbaar is, en doordat er files ontbreken.
 
Om naar een bepaalde versie te springen:
<code>
git checkout tags/R02_01_06
</code>


Een voorbeeld van het resultaat:
Een voorbeeld van het resultaat:
Regel 81: Regel 84:
  Test Summary Report
  Test Summary Report
  -------------------
  -------------------
  t\91_ivp_sqlite.t   (Wstat: 2304 Tests: 129 Failed: 9)
  t\93_ivp_en.t       (Wstat: 65280 Tests: 11 Failed: 0)
  Failed tests:  24-26, 64-66, 104-106
   Non-zero exit status: 255
   Non-zero exit status: 9
   Parse errors: Bad plan. You planned 129 tests but ran 11.
t\admtest_result.t  (Wstat: 256 Tests: 23 Failed: 1)
  Files=11, Tests=464, 258 wallclock secs ( 0.14 usr +  0.00 sys =  0.14 CPU)
   Failed test12
  Non-zero exit status: 1
  Files=11, Tests=582, 276 wallclock secs ( 0.16 usr +  0.05 sys =  0.20 CPU)
  Result: FAIL
  Result: FAIL
  Failed 2/11 test programs. 10/582 subtests failed.
  Failed 1/11 test programs. 0/464 subtests failed.
</code>
</code>


Regel 96: Regel 96:
Mocht je EekBoek niet willen inpakken, maar zelf willen gebruiken, dan kun je hier stoppen.
Mocht je EekBoek niet willen inpakken, maar zelf willen gebruiken, dan kun je hier stoppen.


== Download en installateer Cava ==
== Het packagen van EekBoek ==
 
=== Download en installeer Cava ===


* Download Cava
* Download Cava, een Perl packager:


<<Voor de 32 bit variant heb ik versie 72 gebruikt!, nu versie 76>>
<<Voor de 32 bit variant heb ik versie 72 gebruikt!, nu versie 76>>


http://www.citrusperl.com/download/CavaPackager/cava-packager-msw-x64-2-0-76.exe
http://www.citrusperl.com/download/CavaPackager/cava-packager-msw-x64-2-0-76.exe
 
Run de installer, als administrator (rechtsklikken, Run as Administrator), omdat anders de benodigde directory's niet kunnen worden aangemaakt.


Run de installer, als administrator (rechtsklikken, Run as Administrator), anders kunnen de benodigde directory's niet worden aangemaakt.
Helaas heeft de maker van deze installer dit programma niet ondertekend. (zie ook de todo...)


Helaas heeft de maker van deze installer, dit programma niet ondertekend. (zie ook de todo...)


== Download en installateer InnoSetup ==
=== Download en installeer InnoSetup ===


Er is geen aparte 64 bit versie van InnoSetup.
Er is geen aparte 64-bit versie van InnoSetup.


* Download InnoSetup van http://www.jrsoftware.org/isdl.php
* Download InnoSetup van http://www.jrsoftware.org/isdl.php


Ik heb gekozen voor de unicode verie, van een Nederlandse mirror.
Ik heb gekozen voor de unicode verie, van een Nederlandse mirror:


http://www.jrsoftware.org/download.php/is-unicode.exe?site=2
http://www.jrsoftware.org/download.php/is-unicode.exe?site=2


Voer het bestand uit, accepteer de licentie en de locatie. Aan het einde is het niet nodig om innosetup te starten. Het wordt door Cava onderwater gebruikt.
Voer het bestand uit, accepteer de licentie en de locatie. Aan het einde is het niet nodig om innosetup te starten. Het wordt door Cava onderwater gebruikt.




== Inpakken met Cava ==
=== Inpakken met Cava ===


Start Cava Pacakager 2.0 vanuit het start menu. Er kunnen helaas geen 64 en 32 bit varianten tegelijk geïnstalleerd zijn.
Start Cava Packager 2.0 vanuit het start menu. Er kunnen helaas geen 64-bit en 32-bit varianten tegelijk geïnstalleerd zijn.


<hier de opmerkingen van Johan toevoegen>
<hier de opmerkingen van Johan toevoegen>
Regel 133: Regel 136:
Cava opstarten. Cava file (c:\eekboek\ebcava64\cava20.cpkgproj) openen
Cava opstarten. Cava file (c:\eekboek\ebcava64\cava20.cpkgproj) openen


Interperter goedzetten in menu Eekboek, laatste tab.
Interpreter goedzetten in menu EekBoek, laatste tab.


(C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\perl.exe)
(C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\perl.exe)
Regel 143: Regel 146:
C:\eekboek\builddir64\eekboek\lib\EB\CPAN
C:\eekboek\builddir64\eekboek\lib\EB\CPAN
toe aan "extra module search paths"
toe aan "extra module search paths"


Menu scripts -> script locatie goedzetten voor beide scripts. c:\eekboek\builddir64\eekboek\scripts
Menu scripts -> script locatie goedzetten voor beide scripts. c:\eekboek\builddir64\eekboek\scripts
Regel 151: Regel 153:
Menu user -> toevoegen met knop ... C:\eekboek\builddir64\eekboek\lib\EB\user
Menu user -> toevoegen met knop ... C:\eekboek\builddir64\eekboek\lib\EB\user


menu installer -> check 'require administrator privileges to install'
Menu installer -> check 'require administrator privileges to install'
 
Menu build -> rechtsbovenaan zit een knopje waar 'scan and build' als helptext bij verschijnt. Druk op die knop.
 
In C:\eekboek\ebcava64\release\EekBoek staat een installatie, die je snel kan proberen.


menu build -> rechtsbovenaan zit een knopje waar 'scan and build' als helptext bij verschijnt. Druk op die knop.
In C:\eekboek\ebcava64\installer\ staat de gewenste installer.


in C:\eekboek\ebcava64\release\EekBoek staat een installatie, die je snel kan proberen.
< laatst uitgevoerd op 30-08-2012 met versie 2.1.4 >


in C:\eekboek\ebcava64\installer\ staat de gewenste installer.


== ToDo ==
=== ToDo ===


1) De installer in unsigned. Dat betekent, dat de auteur als unknown staat, en windows je afraadt dit te installeren.  
1) De installer in unsigned. Dat betekent dat de auteur als unknown staat en Windows je afraadt dit te installeren.  


Hiervoor is een certificaat nodig. Het is me nog niet duidelijk (genoeg) hoe dit te doen.
Hiervoor is een certificaat nodig. Het is me nog niet duidelijk (genoeg) hoe dit te doen.


2) Er moet nog een installatie pagina komen, hoe je deze files installeert. Zou zichzelf moeten wijzen.
2) Er moet nog een installatie pagina komen, hoe je deze files installeert. Zou zichzelf moeten wijzen, als er een download pagina is. Feitelijk: downloaden en dubbelklikken, accepteren dat de auteur onbekend is.


3) In ebcava kan nog een licentie text worden opgegeven.
3) In ebcava kan nog een licentie text worden opgegeven.

Huidige versie van 10 dec 2012 om 21:32

Deze pagina beoogt een dump te zijn van het MAKEN van een self-installing package voor EekBoek voor Windows.

Kies voor x86 (32 bit) of x64 (64 bit). Ik noem steeds de 64 bit variant. Aanpassen waar gewenst. (x64 -> x86)

Download en installeer cygwin

Cygwin is een UNIX emulator onder Windows. Het maakt allerlei (command-line-)utilities beschikbaar, zoals zip, unzip, git etc.

Installeer vanaf http://www.cygwin.com/

http://cygwin.com/setup.exe

Kies in ieder geval zip en unzip (uit de categorie archive) en git (uit de categorie devel).

Cygwin installeert ook een versie van Perl, die we niet gaan gebruiken.

Download en installateer CitrusPerl

http://www.citrusperl.com/download/CitrusPerl/citrusperl-standard-51402-20812-msw-x64-014.zip
  • Sla de zipfile op, en pak de zipfile uit, bijvoorbeeld in de c:\eekboek directory. Er onstaat een directory:
C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\
  • Start de tool citrusutils, in
C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\citrusutils.exe
  • Hiermee zetten we een aantal paden goed, en installeren we MinGW (de GCC compiler voor Windows, benodigd vanwege dmake.exe).
  • In het eerste tabblad: klik SET GCC en kies voor de bovenste optie, "download the binary MinGW distribution used to build this"
  • Selecteer een pad om uit te pakken en neer te zetten, bijvoorbeeld C:\eekboek\mingw-x64\
  • Klik ook eenmaal op de knop met de twee pijltjes onder de SET GCC button. (Niet zeker of dat nodig is).
  • Sluit de CitrusUtils applicatie af.


Download en bouw EekBoek

  • Maak een directory c:\eekboek\builddir64\
  • start een terminal vanuit CitrusPerl, door het volgende te runnen:
C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\citrusterm.bat

binnen deze terminal de volgende commando's:

cpan Term::ReadKey (eenmalig, dit geeft een hele lijst met output, en moet eindigen met OK)
cd c:\eekboek\builddir64\
git clone -b btwcodes git://eekboek.git.sourceforge.net/gitroot/eekboek/eekboek
cd eekboek
make bootstrap
perl Build.PL 
Build 
Build test 

Als je een alleen re-build van een nieuwere versie doet:

cd c:\eekboek\builddir64\eekboek
git pull
make bootstrap
perl Build.PL 
Build 
Build test 

< Noot: een aantal tests faalt, dat komt doordat er geen externe database server beschikbaar is, en doordat er files ontbreken.

Om naar een bepaalde versie te springen:

git checkout tags/R02_01_06

Een voorbeeld van het resultaat:

Test Summary Report
-------------------
t\93_ivp_en.t       (Wstat: 65280 Tests: 11 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 129 tests but ran 11.
Files=11, Tests=464, 258 wallclock secs ( 0.14 usr +  0.00 sys =  0.14 CPU)
Result: FAIL
Failed 1/11 test programs. 0/464 subtests failed.

Hoewel er dus fouten zijn, gaan we toch door.

Mocht je EekBoek niet willen inpakken, maar zelf willen gebruiken, dan kun je hier stoppen.

Het packagen van EekBoek

Download en installeer Cava

  • Download Cava, een Perl packager:

<<Voor de 32 bit variant heb ik versie 72 gebruikt!, nu versie 76>>

http://www.citrusperl.com/download/CavaPackager/cava-packager-msw-x64-2-0-76.exe

Run de installer, als administrator (rechtsklikken, Run as Administrator), omdat anders de benodigde directory's niet kunnen worden aangemaakt.

Helaas heeft de maker van deze installer dit programma niet ondertekend. (zie ook de todo...)


Download en installeer InnoSetup

Er is geen aparte 64-bit versie van InnoSetup.

Ik heb gekozen voor de unicode verie, van een Nederlandse mirror:

http://www.jrsoftware.org/download.php/is-unicode.exe?site=2

Voer het bestand uit, accepteer de licentie en de locatie. Aan het einde is het niet nodig om innosetup te starten. Het wordt door Cava onderwater gebruikt.


Inpakken met Cava

Start Cava Packager 2.0 vanuit het start menu. Er kunnen helaas geen 64-bit en 32-bit varianten tegelijk geïnstalleerd zijn.

<hier de opmerkingen van Johan toevoegen>

zipfile van Johan uitgepakt als c:\eekboek\ebcava64

innosetup file verwijderd.

Cava opstarten. Cava file (c:\eekboek\ebcava64\cava20.cpkgproj) openen

Interpreter goedzetten in menu EekBoek, laatste tab.

(C:\eekboek\citrusperl-standard-51402-20812-msw-x64-014\CitrusPerl\bin\perl.exe) Klaagt ergens over..

Voeg hier ook c:\eekboek\builddir64\eekboek\lib\ en C:\eekboek\builddir64\eekboek\lib\EB\CPAN toe aan "extra module search paths"

Menu scripts -> script locatie goedzetten voor beide scripts. c:\eekboek\builddir64\eekboek\scripts

Menu resources -> toevoegen met knop ... C:\eekboek\builddir64\eekboek\lib\EB\res

Menu user -> toevoegen met knop ... C:\eekboek\builddir64\eekboek\lib\EB\user

Menu installer -> check 'require administrator privileges to install'

Menu build -> rechtsbovenaan zit een knopje waar 'scan and build' als helptext bij verschijnt. Druk op die knop.

In C:\eekboek\ebcava64\release\EekBoek staat een installatie, die je snel kan proberen.

In C:\eekboek\ebcava64\installer\ staat de gewenste installer.

< laatst uitgevoerd op 30-08-2012 met versie 2.1.4 >


ToDo

1) De installer in unsigned. Dat betekent dat de auteur als unknown staat en Windows je afraadt dit te installeren.

Hiervoor is een certificaat nodig. Het is me nog niet duidelijk (genoeg) hoe dit te doen.

2) Er moet nog een installatie pagina komen, hoe je deze files installeert. Zou zichzelf moeten wijzen, als er een download pagina is. Feitelijk: downloaden en dubbelklikken, accepteren dat de auteur onbekend is.

3) In ebcava kan nog een licentie text worden opgegeven.