Πώς να φτιάξετε αρχεία εγκατάστασης για τις εφαρμογές σας (Μέρος Ι)

Εδώ θα βρείτε ένα παράδειγμα για το πώς θα δημιουργήσετε ένα πολύ απλό αρχείο εγκατάστασης για οποιαδήποτε εφαρμογή δωρεάν! Θα χρησιμοποιήσουμε το ανοιχτού κώδικα Nullsoft Scriptable Install System (NSIS) με το οποίο μπορείτε να δημιουργήσετε απλά αρχεία εγκατάστασης αλλά και σύνθετα (καταχωρήσεις/διαγραφές στη Registry, ανεπτυγμένο γραφικό περιβάλλον και πολλές άλλες δυνατότητες). Το πιο κάτω παράδειγμα είναι πολύ απλό και περιγράφει τη δημιουργία ενός αρχείου εγκατάστασης για μια εφαρμογή Sample.exe που βρίσκεται σε ένα φάκελο Sample. Το script που ακολουθεί πρέπει να βρίσκεται σε ένα αρχείο .nsi (το δημιουργείτε με το Notepad) στην ίδια διαδρομή με το φάκελο Sample και θα το κάνετε Compile με το NSIS που μπορείτε να κατεβάσετε από εδώ. Για να κάνετε Compile ένα αρχείο NSI απλά το επιλέγετε, κάνετε δεξί click και ακολούθως επιλέγετε "Compile NSIS Script".

!define VERSION "1.0.0"
; καθορισμός της έκδοσης της εφαρμογής μας (θα φαίνεται στο TitleBar κατά την εγκατάσταση)
Name "Sample ${VERSION}"
; καθορισμός του ονόματος της εφαρμογής μας(θα φαίνεται στο TitleBar κατά την εγκατάσταση)
OutFile "SampleInstall.exe"
;το όνομα του αρχείου εγκατάστασης που θα δημιουργηθεί
InstallDir $PROGRAMFILES\Sample
; η τοποθεσία που θα γίνει η εγκατάσταση στο σκληρό δίσκο
Page directory
; ορισμός που χρειάζεται για να χρησιμοποιήσουμε τη σελίδα επιλογής χώρου εγκατάστασης
Page instfiles
; ορισμός που χρειάζεται για να χρησιμοποιήσουμε τη σελίδα επιλογής χώρου εγκατάστασης
Function .onInit
; παράδειγμα διαδικασίας που εμφανίζει κάποιο μήνυμα μόλις τρέξει η εφαρμογή εγκατάστασης
MessageBox MB_YESNO "You are about to install Sample Application. Do you wish to continue?" IDYES cont
; εμφάνιση μηνύματος YES / NΟ
Abort
; Αν πατηθεί το NO τότε κλείνει την εφαρμογή
cont:
;συνέχισε
FunctionEnd
;τέλος διαδικασίας
Function un.onInit
; Παρόμοια διαδικασία η οποία εκτελείτε κατά την απεγκατάσταση (Προσέξτε το "un" πριν το onInit)
MessageBox MB_YESNO "You are about to uninstall Sample Application. Do you wish to continue?" IDYES cont
Abort
cont:
FunctionEnd
Section "Uninstall"
; έναρξη "τομέα" Unistall (εδώ επιλέγουμε τι θέλουμε να διαγραφεί κατά την απεγκατάσταση)
Delete $INSTDIR\Uninstall.exe
; διαγράφει το Unistall τον εαυτό του
RMDir /r /REBOOTOK $INSTDIR
; διαγράφει τα περιεχόμενα και το φάκελο της εγκατάστασης (το /r το βάζουμε ώστε αν κάποιο από τα περιεχόμενα του φακέλου χρησιμοποιείται να διαγραφεί στην επόμενη εκκίνηση του υπολογιστή)
RMDir /r /REBOOTOK $SMPROGRAMS\Sample
;διαγράφει τα περιεχόμενα και το φάκελο της εγκατάστασης στο Μενού έναρξης
SectionEnd
;τέλος τομέα
Section ""
; Έναρξη του Section εγκατάστασης δεν απαιτεί καθορισμό ονόματος
SetOutPath $PROGRAMFILES\Sample
; Πού θα αποσυμπιεστούν τα αρχεία της εγκατάστασης(εδώ μπορούσαμε να χρησιμοποιήσουμε το $INSTDIR με τα ίδια αποτελέσματα)
File /r Sample\*.*
; Ορισμός των αρχείων που θα γίνουν εγκατάσταση( Στη περίπτωση μας πρέπει να βρίσκονται όλα σε ένα φάκελο "Sample" στην ίδια διαδρομή με το αρχείο κώδικα nsi.
WriteUninstaller $INSTDIR\Uninstall.exe
; δημιουργία Unistaller
CreateDirectory "$SMPROGRAMS\Sample"
; δημιουργία φακέλου στο Μενού 'Εναρξης
CreateShortCut "$SMPROGRAMS\Sample\Sample.lnk" "$INSTDIR\Sample.exe"
; δημιουργία συντόμευσης της εφαρμογής μας στο μενού 'Εναρξης
CreateShortCut "$SMPROGRAMS\Sample\Unistall.lnk" "$INSTDIR\Uninstall.exe"
; δημιουργία συντόμευσης του αρχείου απεγκατάστασης στο μενού 'Εναρξης
CreateShortCut "$DESKTOP\Sample.lnk" "$INSTDIR\Sample.exe"
; δημιουργία συντόμευσης της εφαρμογής μας στην επιφάνεια εργασίας
SectionEnd
;Τέλος τομέα


Θα ακολουθήσει και άλλο παράδειγμα με πιο σύνθετες λειτουργίες
blog comments powered by Disqus