From a48bd032ecdaac6f3f7124e6b0d64d9064f1f017 Mon Sep 17 00:00:00 2001 From: Richard Kimberly Heck Date: Sat, 4 Apr 2020 19:21:00 -0400 Subject: [PATCH] Description for windows installer and dependencies Patch from Eugene. --- INSTALL.Win32 | 8 +- .../Win32/packaging/installer/Readme.txt | 105 ++++++++++++++---- 2 files changed, 92 insertions(+), 21 deletions(-) diff --git a/INSTALL.Win32 b/INSTALL.Win32 index 592d5e913f..abfc4cb470 100644 --- a/INSTALL.Win32 +++ b/INSTALL.Win32 @@ -28,6 +28,10 @@ Compiling with Microsoft Visual C++ (MSVC) (either selecting Python-Development workload or just Python 3 in the individual components tab) in the Visual Studio installer, so that you don't have to install it separately + You may also want to install following extensions: + - Qt Visual Studio Tools: enables preview of some Qt variables, like QString, while debugging + - Concurrency Visualizer for Visual Studio: graphically shows which thread does what and when + 2 Install Qt Download the latest Qt online installer for Open Source development on Windows @@ -170,6 +174,8 @@ Debugging normal view active will start LyX.exe located in e.g. C:\LyX\build\bin\Debug, it won't find the dependencies and will therefore fail. Once debugging has started you can switch back to normal view of the Solution Explorer) + - Don't forget to build the INSTALL project each time you change the source code. + Creating a patch file containing a bugfix ========================================= @@ -190,7 +196,7 @@ Creating a patch file containing a bugfix Creating the Installer ====================== - - Get NSIS from http://nsis.sourceforge.net + - The installer is done with NSIS from http://nsis.sourceforge.net - In the LyX source directory, go to development\Win32\packaging\installer - Follow the steps in the file Readme.txt diff --git a/development/Win32/packaging/installer/Readme.txt b/development/Win32/packaging/installer/Readme.txt index f288a2d4f6..2709dcabc7 100644 --- a/development/Win32/packaging/installer/Readme.txt +++ b/development/Win32/packaging/installer/Readme.txt @@ -1,21 +1,86 @@ -To build the installer do the following: +Building the installer +====================== -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 ones 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 (https://nsis.sourceforge.io/Download) -4. 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) -5. open the file FindProcDLL Unicode bin.zip (that is part of this bundle), - extract from it the file FindProc.dll to the folder \Plugins\x86-unicode of - NSIS's installation folder -6. open the file Inetc.zip (that is part of this bundle), - extract from it the file INetC.dll to the folder \Plugins\x86-unicode 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 +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 FindProcDLL, choose the release for unicode (https://nsis.sourceforge.io/FindProcDLL_plug-in), + extract from it the file FindProc.dll to the folder \Plugins\x86-unicode of NSIS's installation folder +- download the plugin Inetc (https://nsis.sourceforge.io/Inetc_plug-in) + extract the content into the NSIS's installation folder +- 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, there will be many executable files which are the exact same size as "magick.exe" which is + the only executable LyX needs, delete these 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, current version is 0.6.1. + From C:\texlive\2019\bin\win32 copy these files + dt2dv.exe + dv2dt.exe + to %%dependencies%%\bin. You can uninstall the package afterwards. + +- 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, + it uses System.dll and Console.dll \ No newline at end of file