]> git.lyx.org Git - lyx.git/blobdiff - development/Win32/packaging/installer/Readme.txt
Wininstaller2: improved check if over installing
[lyx.git] / development / Win32 / packaging / installer / Readme.txt
index 46a984e5f08f2bae18d9f051be5b5cff36aa04c2..1d17b7fc2a6f97669d8d8ebe5e42b827a9654041 100644 (file)
-To build the installer do the following:
-
-1. extract the source zip-file to e.g. the path "C:\LyX-Installer"
-2. open the file settings.nsh with a text editor
-   and adapt there the following paths to the one on your PC, e.g.:
- !define FILES_LYX "C:\LyX-Installer\LyXPackage\LyX"
- !define FILES_DEPS "C:\LyX-Installer\LyX2.2x\lyx-windows-deps-msvc2015"
- !define FILES_QT "C:\LyX-Installer\LyXPackage\LyX"
-3. install the latest version 3.x of NSIS (http://nsis.sourceforge.net/Download)
-4. install the NSIS Large Strings extension (http://nsis.sourceforge.net/Special_Builds)
-   (extract the extension ZIP file in your NSIS installation folder and this way overwrite some files) 
-5. open the file FindProcDLL.zip (that is part of this bundle),
-   extract from it the file FindProc.dll to the folder \Plugins\x86-ansi of
-   NSIS's installation folder
-6. open the file InetLoad.zip (that is part of this bundle),
-   extract from it the file InetLoad.dll to the folder \Plugins\x86-ansi of
-   NSIS's installation folder
-7. right-click on the file lyx-standard.nsi and choose "Compile NSIS script"
-   to compile the standard installer
-8. right-click on the file lyx-bundle.nsi and choose "Compile NSIS script"
-   to compile the bundle installer
\ No newline at end of file
+Building the installer
+======================
+
+To build the installer do the following:
+
+- install the latest version 3.x of NSIS (https://nsis.sourceforge.io/Download)
+- install the NSIS Large Strings build (https://nsis.sourceforge.io/Special_Builds)
+  (extract the extension ZIP file in your NSIS installation folder and this way overwrite some files)
+- download the plugin Inetc (https://nsis.sourceforge.io/Inetc_plug-in)
+  extract the content into the NSIS's installation folder
+- download the plugin NSISList (https://nsis.sourceforge.io/NSISList_plug-in), download both .zip archives,
+  extract Include\NSISList.nsh from the first archive to the folder Include of NSIS's installation folder and
+  extract NSISList-Unicode\NSISList.dll from the second archive to the folder \Plugins\x86-unicode of NSIS's installation folder
+- download the plugin ShellLink (https://nsis.sourceforge.io/ShellLink_plug-in)
+  extract Unicode\Plugins\ShellLink.dll from the archive to the folder \Plugins\x86-unicode of NSIS's installation folder
+- download the plugin ShellExecAsUser (https://nsis.sourceforge.io/ShellExecAsUser_plug-in), choose Unicode version
+  extract unicode\ShellExecAsUser.dll from the archive to the folder \Plugins\x86-unicode of NSIS's installation folder
+- Go to the Qt-kit directory, which you have specified as CMAKE_PREFIX_PATH before compiling in CMake Gui, enter the bin folder,
+  copy these files:
+   Qt5Concurrent.dll"
+   Qt5Network.dll"
+   Qt5OpenGL.dll"
+   Qt5PrintSupport.dll"
+  to %%lyxbuild%%\LYX_INSTALLED\bin
+- open the file settings.nsh with a text editor and adapt the settings for your need. A good text editor
+  for NSIS development is e.g. Visual Studio Code with the NSIS extension.
+- right-click on the file lyx-standard.nsi and choose "Compile NSIS script"
+
+
+Updating dependencies
+=====================
+
+- Imagemagick:
+  download the portable version of imagemagick for windows from https://imagemagick.org/script/download.php (32 or 64 bit),
+  current version is 7.0.10-0
+  extract the zip archive,
+  run imagemagickConvert.bat in %%repo%%\development\Win32\packaging\dependencies, browse to the extracted imagemagick archive,
+  after the script finishes check for anything suspicious.
+  if there is anything suspicious or it didn't work (in case imagemagic devs changed something), read the following description,
+  it describes how it was done for 7.0.10-0, repair the bat file and update the description
+  In the fresh extracted archive will be many executable files which are the exact same size as "magick.exe". magick.exe is
+  the only executable LyX needs, delete the other redundant executables. Also delete ffmpeg.exe and IMDisplay.exe.
+  The resulting folder size should be around 15-16 MB
+
+- Ghostscript
+  download ghostscript for windows from https://www.ghostscript.com/download/gsdnld.html (32 or 64 bit), current version is 9.50
+  install to your computer or open the installer executable with 7zip, extract the folders "bin" and "lib" from the installdir/archive
+  to %%dependencies%%\ghostscript.
+
+- Python
+  download the latest Python 2 release for windows from https://www.python.org/downloads/windows/ (32 or 64 bit),
+  current version is 2.7.17
+  Install it or extract with a tool named lessmsi. If you install it, you will have to find python27.dll in the 
+  Windows\System32 folder. 64-bit dlls on a 64-bit windows are stored in Windows\System32 folder, 32-bit dlls on a 64-bit windows
+  are stored in Windows\SysWOW64. Copy this python27.dll to %%dependencies%%\Python, from the python installation folder copy
+  all files and "DLLs", "Lib" and "libs" subfolders to %%dependencies%%\Python. You can uninstall python afterwards.
+  If you extracted with lessmsi, you will also get visual studio runtime dlls and some executables, which are used during installation,
+  these are not needed. Copy the 2 python executables, the python dll, the 3 textfiles (license, news and readme) and the "DLLs",
+  "Lib" and "libs" subfolders to %%dependencies%%\Python.
+
+- Visual Studio runtime
+  Download the latest Visual C++ Redistributable (if you still haven't), the version should match with your VS C++ compiler
+  (Buildtools) though. Find these files in Windows/System32 folder:
+   concrt140.dll
+   msvcp140.dll
+   vcamp140.dll
+   vccorlib140.dll
+   vcomp140.dll
+   vcruntime140.dll
+  For 64 bit you will additionally need
+   vcruntime140_1.dll
+  See the Python description above for explanation of different store locations of 64 and 32 bit dlls. Copy these dlls to
+  %%dependencies%%\bin.
+
+- NetPbm
+  download the latest binaries zip file from http://gnuwin32.sourceforge.net/packages/netpbm.htm,
+  current version is 10.27, last updated on 12 May 2005
+  extract the files
+   libnetpbm10.dll
+   pnmcrop.exe
+  to %%dependencies%%\bin.
+
+- DTL
+  Using TeX Live Manager install package dtl.win32,
+  From C:\texlive\2019\bin\win32 copy these files
+   dt2dv.exe
+   dv2dt.exe
+  to %%dependencies%%\bin. You can uninstall the package afterwards.
+  Info: Version 0.6.1 does not work with MikTex (math preview triggers error complaining about missing kpathsea631.dll),
+  therefore this method is not usable.
+  Update: as of report 11325 DTL tools are included in lyxgit and get compiled alongside lyx.
+
+- rsvg-convert
+  dowload the 7zip archve from https://opensourcepack.blogspot.com/2012/06/rsvg-convert-svg-image-conversion-tool.html,
+  current version is 2.40.20
+  Extract rsvg-convert.exe ti %%dependencies%%\bin.
+
+- unoconv
+  download the latest source code (zip) from https://github.com/unoconv/unoconv/releases
+  current version is 0.8.2
+  extract unoconv (no file extension) to %%dependencies%%\bin and add the extension ".py"
+
+- pdfview.exe
+  this is a NSIS script, which calls users standard pdf viewer to display pdf files you compile with
+  LaTeX using LyX, its source is available in %%lyxgit%%\development\Win32\pdfview
+
+Note: if you update any dependencies, please add a note to ChangeLog.txt
\ No newline at end of file