The SWORD Project for Windows Installer The goal of this effort was to use an open source installer to provide the same functionality as the existing installer, no more, no less. As with all goals, it changed over time, but not much. To create the installer you will need NSIS which you can get from http://nsis.sourceforge.net. This effort used version 2.19, but I think you might be able to use and earlier version. There are a few scenarios for building an installer: 1) A CD Installer. This installer takes a live image from a CD and installs it to the user's hard drive. It also teaches the InstallManager which drive was used so that it can be used for future installs. 2) A standalone installer without modules. 3) A standalone installer with modules. For each of these scenarios create a directory, say SwordInstaller, with the following files. SwordInstaller\ SwordInstaller\LICENSE SwordInstaller\Sword.bmp SwordInstaller\SwordSetup.nsi SwordInstaller\include\ SwordInstaller\include\MSReg.nsh SwordInstaller\include\SwordFamily.nsh SwordInstaller\include\SwordFinish.nsh SwordInstaller\include\SwordLang.nsh SwordInstaller\include\SwordMUI.nsh SwordInstaller\include\SwordPages.nsh SwordInstaller\include\SwordPath.nsh SwordInstaller\include\SwordProduct.nsh SwordInstaller\include/SwordReserve.nsh SwordInstaller\include\SwordUtil.nsh SwordInstaller\include\WriteEnvStr.nsh These can be obtained from SwordInstaller.zip. (Note: be careful to not include .svn directories in the directories being compiled.) Full Description of Scenarios: (The following refer to A), B) and C) which are defined at the bottom of the file) 1) CD Installer (Assuming d: is the cd drive, just for the sake of discussion.) Compile SwordSetup.nsi into SwordSetup.exe Note: SwordInstaller will not contain A), B) or C) Create the following at the root of the CD: Move SwordSetup.exe to D:\ Rename SwordSetup.exe as desired. Use Windows Files A) resulting in D:\Windows\* D:\mods.d\ contains all the module confs D:\modules\ contains all the raw modules 2) Standalone installer without Modules Create the following within SwordInstaller Use Windows Files A) resulting in SwordInstaller\Windows\* Use Library Files C) resulting in SwordInstaller\library\mods.d\globals.conf Compile SwordSetup.nsi into SwordSetup.exe Rename SwordSetup.exe as desired. 3) Standalone installer with Modules Create the following within SwordInstaller Use Windows Files A) resulting in SwordInstaller\Windows\* Use Library Files C) resulting in SwordInstaller\library\{mods.d,modules}\* Compile SwordSetup.nsi into SwordSetup.exe Rename SwordSetup.exe as desired. Below are the typical contents of Window and library. A) Windows/ Windows/layout.conf Windows/options.conf Windows/readme.txt Windows/InstallManager.exe Windows/sword.exe Windows/LICENSE Windows/icudt34.dll Windows/bookmarks/ Windows/bookmarks/getsaved.conf Windows/bookmarks/personal.conf Windows/bookmarks/wtbsa.conf Windows/colors/ Windows/colors/Default.sch Windows/colors/Light Blues.sch Windows/colors/Lighten Up.sch Windows/colors/Midnight.sch Windows/colors/Navy Blues.sch Windows/colors/Parchment.sch Windows/help/ Windows/help/Sword.chm Windows/help/about.html Windows/help/faqh.html Windows/help/index.html Windows/help/menush.html Windows/help/modulesh.html Windows/help/prefer.html Windows/help/searchh.html Windows/help/sourceh.html Windows/help/toolsh.html Windows/help/windowsh.html Windows/installMgr/ Windows/installMgr/installmgr.conf Windows/locales.d/ Windows/locales.d/abbr.conf Windows/locales.d/af-utf8.conf Windows/locales.d/af.conf Windows/locales.d/bg_BG-cp1251.conf Windows/locales.d/bg_BG-utf8.conf Windows/locales.d/cs-utf8.conf Windows/locales.d/cs.conf Windows/locales.d/da-utf8.conf Windows/locales.d/da.conf Windows/locales.d/de-utf8.conf Windows/locales.d/de.conf Windows/locales.d/de_abbrev-utf8.conf Windows/locales.d/de_abbrev.conf Windows/locales.d/en_GB.conf Windows/locales.d/es-utf8.conf Windows/locales.d/es.conf Windows/locales.d/et-utf8.conf Windows/locales.d/et.conf Windows/locales.d/et_abbr-utf8.conf Windows/locales.d/et_abbr.conf Windows/locales.d/fi-utf8.conf Windows/locales.d/fi.conf Windows/locales.d/fr-utf8.conf Windows/locales.d/fr.conf Windows/locales.d/fr_FR.ISO-8859-1.conf Windows/locales.d/hu-utf8.conf Windows/locales.d/hu.conf Windows/locales.d/id.conf Windows/locales.d/it-utf8.conf Windows/locales.d/it.conf Windows/locales.d/ko-utf8.conf Windows/locales.d/ko.conf Windows/locales.d/ko_abbrev-utf8.conf Windows/locales.d/ko_abbrev.conf Windows/locales.d/la.conf Windows/locales.d/lt-utf8.conf Windows/locales.d/nl.conf Windows/locales.d/no-utf8.conf Windows/locales.d/no.conf Windows/locales.d/pl-utf8.conf Windows/locales.d/pl.conf Windows/locales.d/pt-utf8.conf Windows/locales.d/pt.conf Windows/locales.d/pt_BR-utf8.conf Windows/locales.d/pt_BR.conf Windows/locales.d/ro.conf Windows/locales.d/ru.conf Windows/locales.d/ru_RU-cp1251.conf Windows/locales.d/ru_RU-koi8-r.conf Windows/locales.d/ru_RU-utf8.conf Windows/locales.d/sk-utf8.conf Windows/locales.d/sk.conf Windows/locales.d/sl.conf Windows/locales.d/sv-utf8.conf Windows/locales.d/sv.conf Windows/locales.d/uk_UA-cp1251.conf Windows/locales.d/uk_UA-koi8-u.conf Windows/locales.d/uk_UA-utf8.conf Windows/locales.d/ar_EG-cp1256.conf Windows/locales.d/ar_EG-utf8.conf Windows/locales.d/he-utf8.conf Windows/uilocales.d/ Windows/uilocales.d/af.conf Windows/uilocales.d/de.conf Windows/uilocales.d/de_back.bmp Windows/uilocales.d/de_search.bmp Windows/uilocales.d/en_GB.conf Windows/uilocales.d/fi.conf Windows/uilocales.d/fi_back.bmp Windows/uilocales.d/fi_search.bmp Windows/uilocales.d/hu.conf Windows/uilocales.d/hu_back.bmp Windows/uilocales.d/hu_search.bmp Windows/uilocales.d/id.conf Windows/uilocales.d/pl.conf Windows/uilocales.d/pl_back.bmp Windows/uilocales.d/pl_search.bmp Windows/uilocales.d/pt_BR.conf Windows/uilocales.d/sl.conf Windows/uilocales.d/sl_back.bmp Windows/uilocales.d/sl_search.bmp B) library/ library/mods.d library/mods.d/globals.conf C) library/ library/mods.d/ library/mods.d/kjv.conf library/mods.d/personal.conf library/mods.d/robinson.conf library/mods.d/strongsgreek.conf library/mods.d/strongshebrew.conf library/modules/ library/modules/comments/ library/modules/comments/rawfiles/ library/modules/comments/rawfiles/personal/ library/modules/comments/rawfiles/personal/nt library/modules/comments/rawfiles/personal/nt.vss library/modules/comments/rawfiles/personal/ot library/modules/comments/rawfiles/personal/ot.vss library/modules/lexdict/ library/modules/lexdict/rawld/ library/modules/lexdict/rawld/strongshebrew/ library/modules/lexdict/rawld/strongshebrew/strongs.doc library/modules/lexdict/rawld/strongshebrew/strongshebrew.dat library/modules/lexdict/rawld/strongshebrew/strongshebrew.idx library/modules/lexdict/rawld/strongsgreek/ library/modules/lexdict/rawld/strongsgreek/strongs.doc library/modules/lexdict/rawld/strongsgreek/strongsgreek.dat library/modules/lexdict/rawld/strongsgreek/strongsgreek.idx library/modules/lexdict/rawld/robinson/ library/modules/lexdict/rawld/robinson/robinson.dat library/modules/lexdict/rawld/robinson/robinson.idx library/modules/texts/ library/modules/texts/ztext/ library/modules/texts/ztext/kjv/ library/modules/texts/ztext/kjv/nt.bzs library/modules/texts/ztext/kjv/nt.bzv library/modules/texts/ztext/kjv/nt.bzz library/modules/texts/ztext/kjv/ot.bzv library/modules/texts/ztext/kjv/ot.bzz