Skip to content

Commit

Permalink
adding pack for windows using NSIS
Browse files Browse the repository at this point in the history
  • Loading branch information
kariminf committed Mar 7, 2016
1 parent 73bdbe6 commit b7392dc
Show file tree
Hide file tree
Showing 6 changed files with 242 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Assajjaa/Assajjaa.pro
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ CONFIG += help
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Assajjaa
TEMPLATE = app
VERSION = 0.0.2 #dev version
VERSION = 0.1.0 #test version

DEFINES += VERSION=\\\"$$VERSION\\\"
DEFINES += arbDbPath=\\\"./DB/arwords.db\\\" #/usr/share/assajjaa/DB
Expand Down
167 changes: 167 additions & 0 deletions pack/windows/Assajjaa.nsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
; Assajjaa.nsi

;--------------------------------

;Unicode true

XPStyle on

; The name of the installer
;Name "Assajjaa"

; The file to write
OutFile "Assajjaa-0.1.0beta.exe"

; The default installation directory
InstallDir "$PROGRAMFILES\Assajjaa"

; Registry key to check for directory (so if you install again, it will
; overwrite the old one automatically)
InstallDirRegKey HKLM "Software\Assajjaa" "Install_Dir"

; Request application privileges for Windows Vista
RequestExecutionLevel admin

;--------------------------------
Page license
Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles
;--------------------------------

; First is default
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Arabic.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\French.nlf"

; License data
LicenseLangString myLicenseData ${LANG_ENGLISH} "Assajjaa\license\en.txt"
LicenseLangString myLicenseData ${LANG_ARABIC} "Assajjaa\license\ar.txt"
LicenseLangString myLicenseData ${LANG_JAPANESE} "Assajjaa\license\ja.txt"
LicenseLangString myLicenseData ${LANG_FRENCH} "Assajjaa\license\fr.txt"
LicenseData $(myLicenseData)

; Set name using the normal interface (Name command)
LangString Name ${LANG_ENGLISH} " Assajjaa "
LangString Name ${LANG_ARABIC} " السجاع "
LangString Name ${LANG_JAPANESE} " アッサッジャア "
LangString Name ${LANG_FRENCH} " Assajjaa "
Name $(Name)

; Section Assajjaa
Section "Assajjaa"
SectionIn RO

; Set output path to the installation directory.
SetOutPath $INSTDIR

; Put file there
File /r "Assajjaa\*"

; Write the installation path into the registry
WriteRegStr HKLM SOFTWARE\Assajjaa "Install_Dir" "$INSTDIR"

; Write the uninstall keys for Windows
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Assajjaa" "DisplayName" "Assajjaa"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Assajjaa" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Assajjaa" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Assajjaa" "NoRepair" 1
WriteUninstaller "uninstall.exe"

SectionEnd

; Section Start Menu Shortcuts
LangString startM ${LANG_ENGLISH} "Start Menu Shortcuts"
LangString startM ${LANG_ARABIC} "اختصارات قائمة ابدأ"
LangString startM ${LANG_JAPANESE} "スタートメニューのショートカット"
LangString startM ${LANG_FRENCH} "Raccourcis du menu Démarrer"
Section !$(startM) sec1
CreateDirectory "$SMPROGRAMS\Assajjaa"
CreateShortCut "$SMPROGRAMS\Assajjaa\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Assajjaa\Assajjaa.lnk" "$INSTDIR\jpconj.exe" "" "$INSTDIR\jpconj.exe" 0
SectionEnd

; Section Desktop Shortcut
LangString desk ${LANG_ENGLISH} "Desktop Shortcut"
LangString desk ${LANG_ARABIC} "اختصار سطح المكتب"
LangString desk ${LANG_JAPANESE} "デスクトップのショートカット"
LangString desk ${LANG_FRENCH} "Raccourci du bureau"
Section !$(desk) sec2
CreateShortCut "$DESKTOP\Assajjaa.lnk" "$INSTDIR\Assajjaa.exe" "" "$INSTDIR\Assajjaa.exe" 0
SectionEnd

;--------------------------------

Function .onInit

ReadRegStr $R0 HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Assajjaa" \
"UninstallString"
StrCmp $R0 "" done

MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
"Assajjaa is already installed. $\n$\nClick `OK` to remove the \
previous version or `Cancel` to cancel this upgrade." \
IDOK uninst
Abort

;Run the uninstaller
uninst:
ClearErrors
ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file

IfErrors no_remove_uninstaller done
;You can either use Delete /REBOOTOK in the uninstaller or add some code
;here to remove the uninstaller. Use a registry key to check
;whether the user has chosen to uninstall. If you are using an uninstaller
;components page, make sure all sections are uninstalled.
no_remove_uninstaller:
Abort
done:

;Language selection dialog

Push ""
Push ${LANG_ENGLISH}
Push English
Push ${LANG_ARABIC}
Push Arabic
Push ${LANG_JAPANESE}
Push Japanese
Push ${LANG_FRENCH}
Push French
Push A ; A means auto count languages
; for the auto count to work the first empty push (Push "") must remain
LangDLL::LangDialog "Installer Language" "Please select the language of the installer"

Pop $LANGUAGE
StrCmp $LANGUAGE "cancel" 0 +2
Abort
FunctionEnd

; Uninstaller

Section "Uninstall"

; Remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Assajjaa"
DeleteRegKey HKLM SOFTWARE\Assajjaa

; Remove files and uninstaller
;Delete /r $INSTDIR\*
;Delete $INSTDIR\uninstall.exe
RMDir /r "$INSTDIR"

; Remove shortcuts, if any
Delete "$SMPROGRAMS\Assajjaa\*.*"
Delete "$DESKTOP\Assajjaa.lnk"

; Remove directories used
RMDir "$SMPROGRAMS\Assajjaa"


SectionEnd
18 changes: 18 additions & 0 deletions pack/windows/license/ar.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
حقوق النشر 2016 عبد الكريم عريس وهشام عمر
(kariminfo0@gmail.com)

مرخص تحت GNU GPLv3 أو أي نسخة لاحقة.


هذا البرنامج هو برنامج حر: يمكنك إعادة توزيعه و/أو تعديله
تحت شروط رخصة غنو العمومية والتي نشرتها مؤسسة البرمجيات الحرة،
سواء الإصدار 3 من الرخصة، أو أي إصدار لاحق.

يوزع هذا البرنامج على أمل أن يكون مفيدا،
ولكن من دون اي ضمانات؛ حتى دون ضمان
صلاحية التسويق أو الملاءمة لغرض معين.
راجع رخصة غنو العمومية لمزيد من التفاصيل.


يجب أن تكون قد تلقيت نسخة من رخصة غنو العمومية مع هذا البرنامج.
إن لم يكن كذلك، راجع http://www.gnu.org/licenses/
18 changes: 18 additions & 0 deletions pack/windows/license/en.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Copyright 2016 Abdelkrime Aries and Hisham Omar
(kariminfo0@gmail.com)

Licensed under GNU GPLv3 or later


This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.


You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
18 changes: 18 additions & 0 deletions pack/windows/license/fr.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Droits d'auteur 2016 Abdelkrime Aries et Hisham Omar
(kariminfo0@gmail.com)

Sous la licence GNU GPLv3 ou versions ultérieures.


Ce programme est un logiciel libre: vous pouvez le redistribuer et/ou
le modifier selon les termes de la Licence Publique Générale GNU, telle
que publiée par la Free Software Foundation, soit la version 3 de la
Licence, ou toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile,
mais SANS AUCUNE GARANTIE, sans même la garantie implicite de
COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER.
Voir la Licence Publique Générale GNU pour plus de détails.


Vous devriez avoir reçu une copie de la Licence Publique Générale GNU avec ce programme. Sinon, voir http://www.gnu.org/licenses/
20 changes: 20 additions & 0 deletions pack/windows/license/ja.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Copyright 2013 Abdelkrime Aries and Hisham Omar
(kariminfo0@gmail.com)

GNU GPLv3 の下で、または後のバージョンの下でライセンスされています。


このプログラムはフリーソフトウェアです。あなたはこれを、
フリーソフトウェア財団によって発行されたGNU 一般公衆利用許諾書
(バージョン3か、 それ以降のバージョンのうちどれか)
が定める条件の下で再頒布または改変することができます。

このプログラムは有用であることを願って頒布されますが、
*全くの無保証 *です。商業可能性の保証や特定目的への適合性は、
言外に示されたものも 含め、全く存在しません。
詳しくはGNU 一般公衆利用許諾書をご覧ください。


あなたはこのプログラムと共に、GNU 一般公衆利用許諾書のコピーを一部受け取っているはずです。もし受け取っていなければ、http://www.gnu.org/licenses/ をご覧ください。


0 comments on commit b7392dc

Please sign in to comment.