Description for windows installer and dependencies

Patch from Eugene.
This commit is contained in:
Richard Kimberly Heck 2020-04-04 19:21:00 -04:00
parent bd660c459f
commit a48bd032ec
2 changed files with 92 additions and 21 deletions

View File

@ -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

View File

@ -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
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