summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrahulp132021-01-06 14:26:33 +0530
committerrahulp132021-01-06 14:26:33 +0530
commit1b40809db8f7d71f8837226371ec4199147c0e37 (patch)
tree203c4d2c207665e5e0041535cc87954dfa3fae62
parent6f0dc585f993f095f8b6e9243979e5474d2eec8f (diff)
downloadKiCad-eSim-1b40809db8f7d71f8837226371ec4199147c0e37.tar.gz
KiCad-eSim-1b40809db8f7d71f8837226371ec4199147c0e37.tar.bz2
KiCad-eSim-1b40809db8f7d71f8837226371ec4199147c0e37.zip
updated installer script and readme
-rw-r--r--NSIS/install.nsi280
-rw-r--r--README.md46
-rw-r--r--kicad-4.0.7-i686.exebin0 -> 88090794 bytes
3 files changed, 258 insertions, 68 deletions
diff --git a/NSIS/install.nsi b/NSIS/install.nsi
index b004a89..1d3e2e5 100644
--- a/NSIS/install.nsi
+++ b/NSIS/install.nsi
@@ -6,8 +6,9 @@
; This script is provided as is with no warranties.
;
; Copyright (C) 2006 Alastair Hoyle <ahoyle@hoylesolutions.co.uk>
-; Copyright (C) 2015 Nick Østergaard
+; Copyright (C) 2015 Nick Østergaard
; Copyright (C) 2015 Brian Sidebotham <brian.sidebotham@gmail.com>
+; Copyright (C) 2016 Bevan Weiss <bevan.weiss@gmail.com>
;
; 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
@@ -23,22 +24,25 @@
; This script expects the install.ico, uninstall.ico, language and license
; files to be in the same directory as this script
+!include "winmessages.nsh"
+
; General Product Description Definitions
!define PRODUCT_NAME "KiCad"
-!define ALT_DOWNLOAD_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
-!define LIBRARIES_WEB_SITE "https://github.com/KiCad/"
+!define LIBRARIES_WEB_SITE "https://kicad.github.io/"
!define KICAD_MAIN_SITE "www.kicad-pcb.org/"
-!define COMPANY_NAME ""
+!define COMPANY_NAME "KiCad"
!define TRADE_MARKS ""
!define COPYRIGHT "Kicad Developers Team"
!define COMMENTS ""
-!define HELP_WEB_SITE "http://groups.yahoo.com/group/kicad-users/"
+!define KICAD_USER_FORUM "https://forum.kicad.info/"
!define DEVEL_WEB_SITE "https://launchpad.net/kicad/"
!define WINGS3D_WEB_SITE "http://www.wings3d.com"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define UNINST_ROOT "HKLM"
+!define ENV_HKLM 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
+
!define gflag ;Needed to use ifdef and such
;Define on command line //DPRODUCT_VERSION=42
!ifndef PRODUCT_VERSION
@@ -49,6 +53,9 @@
!define OPTION_STRING "i686"
!endif
+;Properly display all languages (Installer will not work on Windows 95, 98 or ME!)
+Unicode true
+
;Comment out the following SetCompressor command while testing this script
;SetCompressor /final /solid lzma
@@ -73,10 +80,11 @@ RequestExecutionLevel admin
ShowInstDetails show
ShowUnInstDetails show
-BrandingText "KiCad installer for windows"
+BrandingText "KiCad installer for Windows"
-; MUI 1.67 compatible ------
-!include "MUI.nsh"
+; MUI 2 compatible ------
+!include "MUI2.nsh"
+!include "${NSISDIR}\Examples\System\System.nsh"
; MUI Settings
!define MUI_ABORTWARNING
@@ -95,16 +103,16 @@ BrandingText "KiCad installer for windows"
!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit
!define MUI_CUSTOMFUNCTION_UNGUIINIT un.myGuiInit
!define MUI_WELCOMEPAGE_TEXT $(WELCOME_PAGE_TEXT)
-;!define MUI_WELCOMEPAGE_TEXT "test"
+!define MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE $(MUILicense)
+;!insertmacro MUI_PAGE_LICENSE $(MUILicense)
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_SHOWREADME ${WINGS3D_WEB_SITE}
-!define MUI_FINISHPAGE_SHOWREADME_TEXT "text"
+!define MUI_FINISHPAGE_SHOWREADME_TEXT $(WINGS3D_PROMPT)
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
-!define MUI_PAGE_CUSTOMFUNCTION_PRE ModifyFinishPage
+!define MUI_PAGE_CUSTOMFUNCTION_SHOW ModifyFinishPage
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
@@ -114,22 +122,33 @@ BrandingText "KiCad installer for windows"
; - To add another language; add an insert macro line here and include a language file as below
; - This must be after all page macros have been inserted
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
-;!insertmacro MUI_LANGUAGE "French"
+;!insertmacro MUI_LANGUAGE "German"
;!insertmacro MUI_LANGUAGE "Italian"
-;!insertmacro MUI_LANGUAGE "Polish"
-;!insertmacro MUI_LANGUAGE "Portuguese"
-;!insertmacro MUI_LANGUAGE "Dutch"
-;!insertmacro MUI_LANGUAGE "Russian"
-;!insertmacro MUI_LANGUAGE "Japanese"
+;!insertmacro MUI_LANGUAGE "Spanish"
+;!insertmacro MUI_LANGUAGE "Greek"
!include "English.nsh"
-;!include "French.nsh"
-;!include "Dutch.nsh"
+;!include "German.nsh"
;!include "Italian.nsh"
-;!include "Japanese.nsh"
-;!include "Polish.nsh"
-;!include "Portuguese.nsh"
-;!include "Russian.nsh"
+;!include "Spanish.nsh"
+;!include "Greek.nsh"
+
+VIProductVersion "0.0.0.0" ; Dummy version, because this can only be X.X.X.X
+VIAddVersionKey "ProductName" "${COMPANY_NAME}"
+VIAddVersionKey "CompanyName" "${COMPANY_NAME}"
+VIAddVersionKey "LegalCopyright" "${COMPANY_NAME}"
+VIAddVersionKey "FileDescription" "Installer for the KiCad EDA Suite"
+VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
+VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"
+
+;--------------------------------
+;Reserve Files
+
+ ;If you are using solid compression, files that are required before
+ ;the actual installation should be stored first in the data block,
+ ;because this will make your installer start faster.
+
+ !insertmacro MUI_RESERVEFILE_LANGDLL
; MUI end ------
@@ -148,24 +167,24 @@ Function .onInit
Goto LangDisplay
AdminQuit:
- MessageBox MB_OK "Admin rights are required to install KiCad!"
+ MessageBox MB_OK $(ERROR_ADMIN_REQ)
Quit
LangDisplay:
ReserveFile "install.ico"
ReserveFile "uninstall.ico"
- ReserveFile "${NSISDIR}\Plugins\x86-unicode\InstallOptions.dll"
ReserveFile "${NSISDIR}\Plugins\x86-unicode\LangDLL.dll"
ReserveFile "${NSISDIR}\Plugins\x86-unicode\System.dll"
- ReserveFile "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini"
- !insertmacro MUI_LANGDLL_DISPLAY
+ ;!insertmacro MUI_LANGDLL_DISPLAY
Goto done
Win9x:
- MessageBox MB_OK "Error! This can't run under Windows 9x!"
+ MessageBox MB_OK $(ERROR_WIN9X)
Quit
done:
+ Call EnableLiteMode
+
FunctionEnd
Function myGuiInit
@@ -174,9 +193,21 @@ Function myGuiInit
FunctionEnd
Function ModifyFinishPage
- !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Text" $(WINGS3D_PROMPT)
- !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" 168 ;make more space for prompt
- !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "CancelShow" "0" ;hide cancel button - already installed!!
+ ; resize the Text control, otherwise we get clipping on the top and bottom
+ ; Create RECT struct
+ System::Call "*${stRECT} .r1"
+ ; Find Window info for the window we're displaying
+ System::Call "User32::GetWindowRect(i, i) i ($mui.FinishPage.ShowReadme, r1) .r2"
+ ; Get left/top/right/bottom
+ System::Call "*$1${stRECT} (.r2, .r3, .r4, .r5)"
+ System::Free $1
+ ; calculate the width, we'll keep this the same
+ IntOp $6 $4 - $2
+ ; then calculate the height, and we'll make this 4 times as high
+ IntOp $7 $5 - $3
+ IntOp $7 6 * $7
+ ; then we finally update the control size.. we don't want to move it, or change its z-order however
+ System::Call "User32::SetWindowPos(i $mui.FinishPage.ShowReadme, i 0, i 0, i 0, i $6, i $7, i ${SWP_NOMOVE} | ${SWP_NOZORDER})"
FunctionEnd
Section $(TITLE_SEC_MAIN) SEC01
@@ -200,6 +231,8 @@ Section $(TITLE_SEC_MAIN) SEC01
;File /r "..\lib\*"
SetOutPath "$INSTDIR\share\kicad\internat"
;File /nonfatal /r "..\share\kicad\internat\*"
+ ;SetOutPath "$INSTDIR\ssl\certs"
+ ;File "..\ssl\certs\ca-bundle.crt"
SectionEnd
Section $(TITLE_SEC_SCHLIB) SEC02
@@ -214,34 +247,89 @@ Section $(TITLE_SEC_FPLIB) SEC03
;File /nonfatal /r "..\share\kicad\modules\*"
SectionEnd
-Section $(TITLE_SEC_DEMOS) SEC04
+Section $(TITLE_SEC_FPWIZ) SEC04
SetOverwrite try
- SetOutPath "$INSTDIR\share\kicad\demos"
- ;File /nonfatal /r "..\share\kicad\demos\*"
- SetOutPath "$INSTDIR\share\doc\kicad\tutorials"
- ;File /nonfatal /r "..\share\doc\kicad\tutorials\*"
+ SetOutPath "$INSTDIR\share\kicad\scripting\kicad_pyshell"
+ ;File /nonfatal /r "..\share\kicad\scripting\kicad_pyshell\*"
+ SetOutPath "$INSTDIR\share\kicad\scripting\plugins"
+ ;File /nonfatal /r "..\share\kicad\scripting\plugins\*"
SectionEnd
-Section $(TITLE_SEC_DOCS) SEC05
- SetOverwrite try
- SetOutPath "$INSTDIR\share\doc\kicad\help"
- ;File /nonfatal /r "..\share\doc\kicad\help\*"
+;Section $(TITLE_SEC_DEMOS) SEC05
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\kicad\demos"
+; File /nonfatal /r "..\share\kicad\demos\*"
+; SetOutPath "$INSTDIR\share\doc\kicad\tutorials"
+; File /nonfatal /r "..\share\doc\kicad\tutorials\*"
+;SectionEnd
+
+;SectionGroup $(TITLE_SEC_DOCS) SEC06
+ Section $(LANGUAGE_NAME_EN) SEC06_EN
+ SetOverwrite try
+ SetOutPath "$INSTDIR\share\doc\kicad\help\en"
+ ;File /nonfatal /r "..\share\doc\kicad\help\en\*"
+ SectionEnd
+; Section $(LANGUAGE_NAME_DE) SEC06_DE
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\doc\kicad\help\de"
+; File /nonfatal /r "..\share\doc\kicad\help\de\*"
+; SectionEnd
+; Section $(LANGUAGE_NAME_ES) SEC06_ES
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\doc\kicad\help\es"
+; File /nonfatal /r "..\share\doc\kicad\help\es\*"
+; SectionEnd
+; Section $(LANGUAGE_NAME_FR) SEC06_FR
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\doc\kicad\help\fr"
+; File /nonfatal /r "..\share\doc\kicad\help\fr\*"
+; SectionEnd
+; Section $(LANGUAGE_NAME_IT) SEC06_IT
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\doc\kicad\help\it"
+; File /nonfatal /r "..\share\doc\kicad\help\it\*"
+; SectionEnd
+; Section $(LANGUAGE_NAME_JA) SEC06_JA
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\doc\kicad\help\ja"
+; File /nonfatal /r "..\share\doc\kicad\help\ja\*"
+; SectionEnd
+; Section $(LANGUAGE_NAME_NL) SEC06_NL
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\doc\kicad\help\nl"
+; File /nonfatal /r "..\share\doc\kicad\help\nl\*"
+; SectionEnd
+; Section $(LANGUAGE_NAME_PL) SEC06_PL
+; SetOverwrite try
+; SetOutPath "$INSTDIR\share\doc\kicad\help\pl"
+; File /nonfatal /r "..\share\doc\kicad\help\pl\*"
+; SectionEnd
+;SectionGroupEnd
+
+Section $(TITLE_SEC_ENV) SEC07
+ WriteRegExpandStr ${ENV_HKLM} KICAD_PTEMPLATES "$INSTDIR\share\kicad\template"
+ ;WriteRegExpandStr ${ENV_HKLM} KISYS3DMOD "$INSTDIR\share\kicad\modules\packages3d"
+ WriteRegExpandStr ${ENV_HKLM} KISYSMOD "$INSTDIR\share\kicad\modules"
+ WriteRegExpandStr ${ENV_HKLM} KICAD_SYMBOL_DIR "$INSTDIR\share\kicad\library"
+
+ WriteRegDWORD ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "EnvInstalled" "1"
+
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
SectionEnd
Section -CreateShortcuts
SetOutPath $INSTDIR
WriteIniStr "$INSTDIR\HomePage.url" "InternetShortcut" "URL" "${KICAD_MAIN_SITE}"
- WriteIniStr "$INSTDIR\UserGroup.url" "InternetShortcut" "URL" "${HELP_WEB_SITE}"
+ WriteIniStr "$INSTDIR\UserForum.url" "InternetShortcut" "URL" "${KICAD_USER_FORUM}"
WriteIniStr "$INSTDIR\DevelGroup.url" "InternetShortcut" "URL" "${DEVEL_WEB_SITE}"
WriteIniStr "$INSTDIR\LibrariesGroup.url" "InternetShortcut" "URL" "${LIBRARIES_WEB_SITE}"
WriteIniStr "$INSTDIR\Wings3D.url" "InternetShortcut" "URL" "${WINGS3D_WEB_SITE}"
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\KiCad"
CreateShortCut "$SMPROGRAMS\KiCad\Home Page.lnk" "$INSTDIR\HomePage.url"
- CreateShortCut "$SMPROGRAMS\KiCad\KiCad Alternate Download.lnk" "$INSTDIR\AltDownloadSite.url"
CreateShortCut "$SMPROGRAMS\KiCad\KiCad Libraries.lnk" "$INSTDIR\LibrariesGroup.url"
CreateShortCut "$SMPROGRAMS\KiCad\Wings3D.lnk" "$INSTDIR\Wings3D.url"
- CreateShortCut "$SMPROGRAMS\KiCad\KiCad User Group.lnk" "$INSTDIR\UserGroup.url"
+ CreateShortCut "$SMPROGRAMS\KiCad\KiCad User Forum.lnk" "$INSTDIR\UserForum.url"
CreateShortCut "$SMPROGRAMS\KiCad\KiCad Devel Group.lnk" "$INSTDIR\DevelGroup.url"
CreateShortCut "$SMPROGRAMS\KiCad\Uninstall.lnk" "$INSTDIR\uninstaller.exe"
CreateShortCut "$SMPROGRAMS\KiCad\KiCad.lnk" "$INSTDIR\bin\kicad.exe"
@@ -264,7 +352,7 @@ Section -CreateAddRemoveEntry
WriteRegDWORD ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "NoModify" "1"
WriteRegDWORD ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "NoRepair" "1"
WriteRegStr ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "Comments" "${COMMENTS}"
- WriteRegStr ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "HelpLink" "${HELP_WEB_SITE}"
+ WriteRegStr ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "HelpLink" "${KICAD_USER_FORUM}"
WriteRegStr ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "URLUpdateInfo" "${KICAD_MAIN_SITE}"
WriteRegStr ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "InstallLocation" "$INSTDIR"
@@ -275,8 +363,18 @@ SectionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} $(DESC_SEC_MAIN)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} $(DESC_SEC_SCHLIB)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} $(DESC_SEC_FPLIB)
- !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $(DESC_SEC_DEMOS)
- !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} $(DESC_SEC_DOCS)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $(DESC_SEC_FPWIZ)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} $(DESC_SEC_DEMOS)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06} $(DESC_SEC_DOCS)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC06_EN} $(DESC_SEC_DOCS_EN)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06_DE} $(DESC_SEC_DOCS_DE)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06_ES} $(DESC_SEC_DOCS_ES)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06_FR} $(DESC_SEC_DOCS_FR)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06_IT} $(DESC_SEC_DOCS_IT)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06_JA} $(DESC_SEC_DOCS_JA)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06_NL} $(DESC_SEC_DOCS_NL)
+ ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC06_PL} $(DESC_SEC_DOCS_PL)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC07} $(DESC_SEC_ENV)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
Function un.onInit
@@ -301,17 +399,23 @@ Section Uninstall
;remove start menu shortcuts and web page links
SetShellVarContext all
Delete "$SMPROGRAMS\KiCad\Home Page.lnk"
- Delete "$SMPROGRAMS\KiCad\Kicad Libraries.lnk"
- Delete "$SMPROGRAMS\KiCad\Kicad Alternate Download.lnk"
- Delete "$SMPROGRAMS\KiCad\Devel Group.lnk"
- Delete "$SMPROGRAMS\KiCad\User Group.lnk"
+ Delete "$SMPROGRAMS\KiCad\KiCad Libraries.lnk"
+ Delete "$SMPROGRAMS\KiCad\KiCad Alternate Download.lnk"
+ Delete "$SMPROGRAMS\KiCad\KiCad Devel Group.lnk"
+ Delete "$SMPROGRAMS\KiCad\KiCad User Group.lnk"
Delete "$SMPROGRAMS\KiCad\Uninstall.lnk"
Delete "$SMPROGRAMS\KiCad\KiCad.lnk"
Delete "$SMPROGRAMS\KiCad\Wings3D.lnk"
+ Delete "$SMPROGRAMS\KiCad\Eeschema.lnk"
+ Delete "$SMPROGRAMS\KiCad\Pcbnew.lnk"
+ Delete "$SMPROGRAMS\KiCad\Gerbview.lnk"
+ Delete "$SMPROGRAMS\KiCad\Bitmap2component.lnk"
+ Delete "$SMPROGRAMS\KiCad\PCB calculator.lnk"
+ Delete "$SMPROGRAMS\KiCad\Pagelayout editor.lnk"
Delete "$DESKTOP\KiCad.lnk"
Delete "$INSTDIR\Wings3D.url"
Delete "$INSTDIR\HomePage.url"
- Delete "$INSTDIR\UserGroup.url"
+ Delete "$INSTDIR\UserForum.url"
Delete "$INSTDIR\AltDownloadSite.url"
Delete "$INSTDIR\DevelGroup.url"
Delete "$INSTDIR\LibrariesGroup.url"
@@ -331,20 +435,34 @@ Section Uninstall
RMDir /r "$INSTDIR\share\modules"
RMDir /r "$INSTDIR\share\kicad\template"
RMDir /r "$INSTDIR\share\kicad\internat"
- RMDir /r "$INSTDIR\share\kicad\demos"
- RMDir /r "$INSTDIR\share\doc\kicad\tutorials"
+ ;RMDir /r "$INSTDIR\share\kicad\demos"
+ ;RMDir /r "$INSTDIR\share\doc\kicad\tutorials"
RMDir /r "$INSTDIR\share\doc\kicad\help"
+ RMDir /r "$INSTDIR\wings3d"
RMDir /r "$INSTDIR\share\doc\kicad"
RMDir /r "$INSTDIR\share\doc"
RMDir /r "$INSTDIR\share"
- RMDir /r "$INSTDIR\wings3d"
-
+ RMDir /r "$INSTDIR\ssl\certs"
RMDir /r "$INSTDIR\ssl"
;don't remove $INSTDIR recursively just in case the user has installed it in c:\ or
;c:\program files as this would attempt to delete a lot more than just this package
Delete "$INSTDIR\*.txt"
RMDir "$INSTDIR"
+ ;remove environment only if it was "installed" last
+ ClearErrors
+ ReadRegDWORD $0 ${UNINST_ROOT} "${PRODUCT_UNINST_KEY}" "EnvInstalled"
+ IfErrors FinishUninstall 0
+
+ IntCmp $0 1 0 FinishUninstall FinishUninstall
+
+ DeleteRegValue ${ENV_HKLM} KICAD_PTEMPLATES
+ ;DeleteRegValue ${ENV_HKLM} KISYS3DMOD
+ DeleteRegValue ${ENV_HKLM} KISYSMOD
+ DeleteRegValue ${ENV_HKLM} KICAD_SYMBOL_DIR
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
+
+ FinishUninstall:
;Note - application registry keys are stored in the users individual registry hive (HKCU\Software\kicad".
;It might be possible to remove these keys as well but it would require a lot of testing of permissions
;and access to other people's registry entries. So for now we will leave the application registry keys.
@@ -376,3 +494,53 @@ Function CheckAlreadyInstalled
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION $(ALREADY_INSTALLED) /SD IDOK IDOK +2
Abort
FunctionEnd
+
+!macro CompileTimeIfFileExist path define
+ !tempfile tmpinc
+ !system 'IF EXIST "${path}" echo !define ${define} > "${tmpinc}"'
+ !include "${tmpinc}"
+ !delfile "${tmpinc}"
+ !undef tmpinc
+!macroend
+
+Function EnableLiteMode
+ ; TODO: Add override string for lite mode
+ !insertmacro CompileTimeIfFileExist "..\share\kicad\library" ADD_LIBS
+ !ifndef ADD_LIBS
+ !insertmacro SetSectionFlag ${SEC02} ${SF_RO}
+ !insertmacro UnselectSection ${SEC02}
+ !endif
+
+ !insertmacro CompileTimeIfFileExist "..\share\kicad\modules" ADD_MODULES
+ !ifndef ADD_MODULES
+ !insertmacro SetSectionFlag ${SEC03} ${SF_RO}
+ !insertmacro UnselectSection ${SEC03}
+ !endif
+
+ !insertmacro CompileTimeIfFileExist "..\share\doc\kicad\help" ADD_HELP
+ !ifndef ADD_HELP
+ ;!insertmacro SetSectionFlag ${SEC06} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06}
+
+ !insertmacro SetSectionFlag ${SEC06_EN} ${SF_RO}
+ !insertmacro UnselectSection ${SEC06_EN}
+
+ ;!insertmacro SetSectionFlag ${SEC06_DE} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06_DE}
+ ;!insertmacro SetSectionFlag ${SEC06_ES} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06_ES}
+ ;!insertmacro SetSectionFlag ${SEC06_FR} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06_FR}
+ ;!insertmacro SetSectionFlag ${SEC06_IT} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06_IT}
+ ;!insertmacro SetSectionFlag ${SEC06_JA} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06_JA}
+ ;!insertmacro SetSectionFlag ${SEC06_NL} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06_NL}
+ ;!insertmacro SetSectionFlag ${SEC06_PL} ${SF_RO}
+ ;!insertmacro UnselectSection ${SEC06_PL}
+ !endif
+
+ ; Make the envvar install not be default
+ ; !insertmacro UnselectSection ${SEC07}
+FunctionEnd
diff --git a/README.md b/README.md
index 91e723f..8b49a64 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,44 @@
-# KiCad-eSim
-This repository is maintained by FOSSEE team for KiCad v4.0.7
+[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
+[![GitHub issues](https://img.shields.io/github/issues/fossee/KiCad-eSim)](https://github.com/fossee/KiCad-eSim/issues)
+[![GitHub forks](https://img.shields.io/github/forks/fossee/KiCad-eSim)](https://github.com/fossee/KiCad-eSim/network)
+[![GitHub stars](https://img.shields.io/github/stars/fossee/KiCad-eSim)](https://github.com/fossee/KiCad-eSim/stargazers)
+[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](https://github.com/fossee/KiCad-eSim)
+![GitHub contributors](https://img.shields.io/github/contributors/fossee/kicad-esim)
+
+KiCad Installer for eSim
+====
+
+This repository is maintained by FOSSEE team for KiCad v4.0.7. It contains all the documentation for making KiCad executable for Windows 7 and above and has been customized for the needs of eSim.
+
+> Note: Most of the contents of `master` branch of this repository has been made available by extracting the KiCad installer from - https://kicad-downloads.s3.cern.ch/windows/stable/kicad-4.0.7-i686.exe.
+> The difference with the original KiCad installer is the removal of 3D packages, help doc in all languages (except English) and addition of eSim compatible KiCad libraries.
+
## Building KiCad installer for eSim
-1. Download the KiCad installer from - https://kicad-downloads.s3.cern.ch/windows/stable/kicad-4.0.7-i686.exe
+1. Take the `master` branch of of this repository. Rename the folder to `kicad`.
-2. Install KiCad from the executable [kicad-4.0.7-i686.exe] downloaded in step 1 at preferred location. Henceforth this location is to be referred to as `installdirectory`.
+2. Remove following files/directories from the `kicad` folder:
+ - `.git` folder
+ - kicad-4.0.7.tar.xz
+ - README.md
+ - share/doc/kicad/help/de
+ - share/doc/kicad/help/es
+ - share/doc/kicad/help/fr
+ - share/doc/kicad/help/it
+ - share/doc/kicad/help/ja
+ - share/doc/kicad/help/nl
+ - share/doc/kicad/help/pl
+ - previous kicad installer (if any)
-3. Clone the folder `NSIS` present in this repository and place it at the KiCad install location, i.e. installdirectory/.
+3. Compress the folders `bin`, `lib`, `share` and `ssl` into file named **KiCad.7z**.
-4. Delete the folder `packages3d` present at the location installdirectory/share/kicad/modules/.
+ > Note: 7z compresssion tool can be obtained at - https://www.7-zip.org/download.html
-5. Compress the folders `bin`, `lib`, `share` and `ssl` into file named **KiCad.7z**. This file should be placed at `installdirectory/`.\
-(7z compresssion tool can be obtained at - https://www.7-zip.org/download.html )
+3. Goto the `NSIS` folder and compile the script `install.nsi`.
-6. Goto the `NSIS` folder and compile the script `install.nsi`.\
-(NSIS compiler can be obtained at - https://prdownloads.sourceforge.net/nsis/nsis-3.05-setup.exe?download)
+ > Note: NSIS compiler can be obtained at - https://prdownloads.sourceforge.net/nsis/nsis-3.05-setup.exe?download
-7. Use the generated `kicad-4.0.7-i686.exe` in the `NSIS` folder as the default installer for KiCad when building installer for eSim.
+4. Use the generated `kicad-4.0.7-i686.exe` in the `NSIS` folder as the default installer for KiCad when building installer for eSim.
-8. Uninstall the KiCad used to build this installer.
+ > Note: This new generated installer should be pushed to the repository for any future requirements
diff --git a/kicad-4.0.7-i686.exe b/kicad-4.0.7-i686.exe
new file mode 100644
index 0000000..9feafe2
--- /dev/null
+++ b/kicad-4.0.7-i686.exe
Binary files differ