mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +00:00
Sync the 1.3.x and 1.4.x Windows packaging stuff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10201 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
0aab8ead34
commit
017bd21202
@ -1,12 +1,19 @@
|
|||||||
Packaging LyX 1.3.6 for Windows
|
Packaging LyX 1.3.6 for Windows
|
||||||
===============================
|
===============================
|
||||||
|
Angus Leeming, 14 July 2005
|
||||||
|
===========================
|
||||||
|
|
||||||
Preparing the way
|
Preparing the way
|
||||||
=================
|
=================
|
||||||
|
|
||||||
The very first thing to do on the way to creating a LyX/Win package is
|
The very first thing to do on the way to creating a LyX/Win package is
|
||||||
to build the sources and install them somewhere accessible. (I've been
|
to build the sources and install them somewhere accessible. I've written
|
||||||
using PREFIX='/J/Programs/LyX'.)
|
a script, build_lyxwin.sh, that performs all the necessary steps. Please
|
||||||
|
read the preamble and (un)comment those steps that are necessary at the
|
||||||
|
end of the script.
|
||||||
|
|
||||||
|
The (eventual --- mingw is a *very* slow compiler) result is a lyx
|
||||||
|
package that's almost ready to go in $LYX_SRCS/build/installprefix.
|
||||||
|
|
||||||
Thereafter, the contents of this tree must be manipulated a
|
Thereafter, the contents of this tree must be manipulated a
|
||||||
little. I've written a little script, package_lyxwin.sh, to automate
|
little. I've written a little script, package_lyxwin.sh, to automate
|
||||||
@ -91,7 +98,7 @@ lyx_original.exe. Remove it.
|
|||||||
Building the LyX installer
|
Building the LyX installer
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
At this point my J:\Programs\LyX tree now contains everything that is
|
At this point my build/installprefix tree now contains everything that is
|
||||||
to be released as a LyX/Win package. All that remains to do is to
|
to be released as a LyX/Win package. All that remains to do is to
|
||||||
generate a Windows installer for it. I've written a script for NSIS
|
generate a Windows installer for it. I've written a script for NSIS
|
||||||
(http://nsis.sourceforge.net/) to compile into an installer.
|
(http://nsis.sourceforge.net/) to compile into an installer.
|
||||||
|
319
development/Win32/packaging/build_lyxwin.sh
Normal file
319
development/Win32/packaging/build_lyxwin.sh
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
# This script aims to do averything necessary to automate the building
|
||||||
|
# of a LyX/Win package.
|
||||||
|
|
||||||
|
# Invocation:
|
||||||
|
# sh build_lyxwin.sh "1.3.6-pre23"
|
||||||
|
# The string will be shown in the "About LyX" dialog.
|
||||||
|
|
||||||
|
# This script is written as a bunch of subroutines. You'll probably
|
||||||
|
# only need to build a couple of the packages (dtl, aspell) once.
|
||||||
|
# Thereafter, the invocation of these subroutines can be commented out.
|
||||||
|
# (See the end of the script.)
|
||||||
|
|
||||||
|
# Notes:
|
||||||
|
# It uses the MinGW/MinSYS environment and compiler.
|
||||||
|
|
||||||
|
# It asks whether the Qt and LyX cvs trees are up to date.
|
||||||
|
# It asks whether the Qt library has been compiled.
|
||||||
|
# It checks that qt-mt3.dll, libiconv-2.dll,
|
||||||
|
# mingw10.dll and clean_dvi.py exist.
|
||||||
|
# It compiles the dv2dt and dt2dv utilites.
|
||||||
|
# It compiles and installs the Aspell library.
|
||||||
|
# It compiles and installs LyX.
|
||||||
|
# It copies the dv2dt and dt2dv utilites, the .dlls and
|
||||||
|
# clean_dvi.py to the lyx package.
|
||||||
|
# It modifies the Resources/lyx/configure script to
|
||||||
|
# ensure that the generated .dvi file is usable.
|
||||||
|
|
||||||
|
# Once all this is done, you're ready to "package" LyX.
|
||||||
|
# See the README for details.
|
||||||
|
|
||||||
|
# The script compiles the .dll version of the Qt libraries. Linking of lyx
|
||||||
|
# against this will, therefore, take "some time".
|
||||||
|
|
||||||
|
# It compiles the static version of the Aspell libraries because no
|
||||||
|
# .dll version exists.
|
||||||
|
|
||||||
|
HOME="/home/Angus"
|
||||||
|
|
||||||
|
# You may need to change these three variables.
|
||||||
|
QT_DIR="${HOME}"/qt3
|
||||||
|
ASPELL_DIR="${HOME}"/aspell-0.50.5
|
||||||
|
# A space-separated string of directories
|
||||||
|
# ASPELL_DICT_DIRS="${HOME}/aspell-en-0.50-2 ${HOME}/aspell-de-0.50-2 "
|
||||||
|
ASPELL_DICT_DIRS="${HOME}/aspell-en-0.50-2"
|
||||||
|
LYX_DIR="${HOME}"/lyx/13x
|
||||||
|
|
||||||
|
# Everything from here on down should be OK "as is".
|
||||||
|
PACKAGING_DIR="$LYX_DIR/development/Win32/packaging"
|
||||||
|
DTL_DIR="$PACKAGING_DIR/dtl"
|
||||||
|
CLEAN_DVI_DIR="$PACKAGING_DIR"
|
||||||
|
|
||||||
|
ASPELL_INSTALL_DIR="c:/Aspell"
|
||||||
|
LYX_ASPELL_DIR="/c/Aspell" # the Autotools don't like "C:/" syntax.
|
||||||
|
LYX_RELATIVE_BUILDDIR=build
|
||||||
|
LYX_INSTALL_DIR=installprefix
|
||||||
|
|
||||||
|
# These are all installed in the final LyX package
|
||||||
|
QT_DLL="${QT_DIR}/bin/qt-mt3.dll"
|
||||||
|
LIBICONV_DLL="/j/MinGW/bin/libiconv-2.dll"
|
||||||
|
MINGW_DLL="/j/MinGW/bin/mingwm10.dll"
|
||||||
|
|
||||||
|
DT2DV="$DTL_DIR/dt2dv.exe"
|
||||||
|
DV2DT="$DTL_DIR/dv2dt.exe"
|
||||||
|
CLEAN_DVI_PY="$CLEAN_DVI_DIR/clean_dvi.py"
|
||||||
|
|
||||||
|
# Change this to 'mv -f' when you are confident that
|
||||||
|
# the various sed scripts are working correctly.
|
||||||
|
MV='mv -f'
|
||||||
|
|
||||||
|
check_dirs_exist()
|
||||||
|
{
|
||||||
|
for dir in "$QT_DIR" "$ASPELL_DIR" "$LYX_DIR" "$DTL_DIR"
|
||||||
|
do
|
||||||
|
test -d "$dir" || {
|
||||||
|
echo "$dir does not exist" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
query_qt()
|
||||||
|
{
|
||||||
|
echo "Please ensure that the Qt and LyX cvs trees are up to date"
|
||||||
|
echo "and that the Qt library is compiled and ready to go."
|
||||||
|
echo "Press any key to continue"
|
||||||
|
read ans
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
check_files_exist()
|
||||||
|
{
|
||||||
|
# Check that the dlls and clean_dvi.py exist
|
||||||
|
for file in "${QT_DLL}" "${LIBICONV_DLL}" "${MINGW_DLL}" "${CLEAN_DVI_PY}"
|
||||||
|
do
|
||||||
|
test -r "${file}" || {
|
||||||
|
echo "$file does not exist" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
build_dtl()
|
||||||
|
{
|
||||||
|
# dt2dv and dv2dt
|
||||||
|
(
|
||||||
|
cd "$DTL_DIR" || {
|
||||||
|
echo "Unable to cd $DTL_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
make || {
|
||||||
|
echo "Failed to make $DTL_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
for file in "${DT2DV}" "${DV2DT}"
|
||||||
|
do
|
||||||
|
test -x "$file" || {
|
||||||
|
echo "${file} does not exist or is not executable" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
build_aspell()
|
||||||
|
{
|
||||||
|
# Aspell
|
||||||
|
(
|
||||||
|
cd "$ASPELL_DIR" || {
|
||||||
|
echo "Unable to cd $ASPELL_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
./configure --enable-static --disable-shared --prefix="${ASPELL_INSTALL_DIR}" --sysconfdir="${ASPELL_INSTALL_DIR}" --enable-docdir="${ASPELL_INSTALL_DIR}/doc" --datadir="${ASPELL_INSTALL_DIR}/data" --enable-pkgdatadir="${ASPELL_INSTALL_DIR}/data" --enable-dict-dir="${ASPELL_INSTALL_DIR}/dict" --enable-win32-relocatable || {
|
||||||
|
echo "Failed to configure $ASPELL_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# We have to clean up two of the generated Makefiles.
|
||||||
|
TMP=tmp.$$
|
||||||
|
MAKEFILE=examples/Makefile
|
||||||
|
sed '
|
||||||
|
# Replace "CC = gcc" with "CC = g++"
|
||||||
|
s/^ *\(CC *= *\)gcc *$/\1g++/
|
||||||
|
# Remove trailing "/" from the -I directory.
|
||||||
|
s@^ *\(INCLUDES *= *-I\${top_srcdir}/interfaces/cc\)/ *$@\1@
|
||||||
|
' "${MAKEFILE}" > "${TMP}"
|
||||||
|
cmp -s "${MAKEFILE}" "${TMP}" && {
|
||||||
|
echo "${MAKEFILE} is unchanged" 2>&1
|
||||||
|
} || {
|
||||||
|
diff -u "${MAKEFILE}" "${TMP}"
|
||||||
|
${MV} "${TMP}" "${MAKEFILE}"
|
||||||
|
}
|
||||||
|
rm -f "${TMP}"
|
||||||
|
|
||||||
|
MAKEFILE=prog/Makefile
|
||||||
|
sed '
|
||||||
|
# Remove trailing "/" from the -I directories.
|
||||||
|
/^ *INCLUDES *= *-I\${top_srcdir}\/common/{
|
||||||
|
:loop
|
||||||
|
$!{
|
||||||
|
N
|
||||||
|
/\n *$/!bloop
|
||||||
|
}
|
||||||
|
s@/ *\(\\ *\n\)@ \1@g
|
||||||
|
}' "${MAKEFILE}" > "${TMP}"
|
||||||
|
cmp -s "${MAKEFILE}" "${TMP}" && {
|
||||||
|
echo "${MAKEFILE} is unchanged" 2>&1
|
||||||
|
} || {
|
||||||
|
diff -u "${MAKEFILE}" "${TMP}"
|
||||||
|
${MV} "${TMP}" "${MAKEFILE}"
|
||||||
|
}
|
||||||
|
rm -f "${TMP}"
|
||||||
|
|
||||||
|
make || {
|
||||||
|
echo "Failed to make $ASPELL_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
rm -fr "$ASPELL_INSTALL_DIR" || {
|
||||||
|
echo "Failed to remove $ASPELL_INSTALL_DIR prior to installing Aspell" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
make install || {
|
||||||
|
echo "Failed to install $ASPELL_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
build_aspell_dicts()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
PATH="${LYX_ASPELL_DIR}:$PATH"
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
for dir in $ASPELL_DICT_DIRS
|
||||||
|
do
|
||||||
|
(
|
||||||
|
cd $dir
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
)
|
||||||
|
done
|
||||||
|
)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
modify_version_C()
|
||||||
|
{
|
||||||
|
VERSION_C="src/version.C"
|
||||||
|
test -r "${VERSION_C}" || {
|
||||||
|
echo "Unable to find ${VERSION_C}"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
test "${LYX_VERSION_STR}" == "" && return
|
||||||
|
|
||||||
|
sed '/char const \* lyx_version = /s/"[^"]*"/"'${LYX_VERSION_STR}'"/' \
|
||||||
|
${VERSION_C} > tmp.$$
|
||||||
|
diff -u ${VERSION_C} tmp.$$
|
||||||
|
${MV} tmp.$$ ${VERSION_C}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
build_lyx()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
cd "${LYX_DIR}" || {
|
||||||
|
echo "Unable to cd ${LYX_DIR}" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check the line endings of configure.ac
|
||||||
|
# The configure script will be unable to create config.h if it
|
||||||
|
# contains Win32-style line endings.
|
||||||
|
sed 's/
|
||||||
|
$//' ${LYX_DIR}/configure.ac > configure.ac.$$
|
||||||
|
cmp -s ${LYX_DIR}/configure.ac configure.ac.$$ && {
|
||||||
|
rm -f configure.ac.$$
|
||||||
|
} || {
|
||||||
|
mv -f configure.ac.$$ ${LYX_DIR}/configure.ac
|
||||||
|
echo 'configure.ac has Win32-style line endings. Corrected' >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
./autogen.sh || {
|
||||||
|
echo "autogen.sh failed" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
BUILDDIR="${LYX_RELATIVE_BUILDDIR}"
|
||||||
|
test ! -d "${BUILDDIR}" && {
|
||||||
|
mkdir "${BUILDDIR}" || \
|
||||||
|
Error "Unable to create build dir, ${BUILDDIR}."
|
||||||
|
}
|
||||||
|
|
||||||
|
CONFIGURE="../configure --without-x --with-included-gettext --with-extra-prefix='${LYX_ASPELL_DIR}' --with-frontend=qt QTDIR='$QT_DIR'"
|
||||||
|
|
||||||
|
echo "${CONFIGURE}"
|
||||||
|
cd "${BUILDDIR}"
|
||||||
|
echo "${PWD}"
|
||||||
|
eval "${CONFIGURE}" || {
|
||||||
|
echo "Failed to configure LyX" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Modify the "lyx_version" string in build/src/version.C
|
||||||
|
modify_version_C
|
||||||
|
|
||||||
|
# Build LyX
|
||||||
|
make || {
|
||||||
|
echo "Failed to make $LYX_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
install_lyx()
|
||||||
|
{
|
||||||
|
(
|
||||||
|
BUILDDIR="${LYX_RELATIVE_BUILDDIR}"
|
||||||
|
cd "${LYX_DIR}/${BUILDDIR}" || {
|
||||||
|
echo "Unable to cd ${LYX_DIR}/${BUILDDIR}" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
rm -fr "$LYX_INSTALL_DIR" || {
|
||||||
|
echo "Failed to remove $LYX_INSTALL_DIR prior to installing LyX" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
make install || {
|
||||||
|
echo "Failed to install $LYX_DIR" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
LYX_VERSION_STR=""
|
||||||
|
test $# -ne 0 && LYX_VERSION_STR=$1
|
||||||
|
|
||||||
|
check_dirs_exist || exit 1
|
||||||
|
query_qt || exit 1
|
||||||
|
check_files_exist || exit 1
|
||||||
|
#build_dtl || exit 1
|
||||||
|
#build_aspell || exit 1
|
||||||
|
#build_aspell_dicts || exit 1
|
||||||
|
build_lyx || exit 1
|
||||||
|
install_lyx || exit 1
|
||||||
|
# The end
|
@ -51,20 +51,20 @@
|
|||||||
; DoNothing.
|
; DoNothing.
|
||||||
; If the widget is disabled then set DoNothing ($3) to 0.
|
; If the widget is disabled then set DoNothing ($3) to 0.
|
||||||
; Otherwise, set it equal to the "state" variable of the field.
|
; Otherwise, set it equal to the "state" variable of the field.
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $3 "ioDownload.ini" "Field 2" "Flags"
|
!insertmacro MUI_INSTALLOPTIONS_READ $3 "io_download.ini" "Field 2" "Flags"
|
||||||
IntOp $3 $3 & DISABLED
|
IntOp $3 $3 & DISABLED
|
||||||
${if} $3 == 1
|
${if} $3 == 1
|
||||||
StrCpy $3 0
|
StrCpy $3 0
|
||||||
${else}
|
${else}
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $3 "ioDownload.ini" "Field 2" "State"
|
!insertmacro MUI_INSTALLOPTIONS_READ $3 "io_download.ini" "Field 2" "State"
|
||||||
${endif}
|
${endif}
|
||||||
|
|
||||||
; Download
|
; Download
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $2 "ioDownload.ini" "Field 3" "State"
|
!insertmacro MUI_INSTALLOPTIONS_READ $2 "io_download.ini" "Field 3" "State"
|
||||||
; SelectFolder
|
; SelectFolder
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $1 "ioDownload.ini" "Field 4" "State"
|
!insertmacro MUI_INSTALLOPTIONS_READ $1 "io_download.ini" "Field 4" "State"
|
||||||
; FolderPath
|
; FolderPath
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $0 "ioDownload.ini" "Field 5" "State"
|
!insertmacro MUI_INSTALLOPTIONS_READ $0 "io_download.ini" "Field 5" "State"
|
||||||
|
|
||||||
; Return output to user.
|
; Return output to user.
|
||||||
; The stack available to the user contains:
|
; The stack available to the user contains:
|
||||||
@ -193,8 +193,8 @@
|
|||||||
|
|
||||||
|
|
||||||
!macro DownloadEnter_Private ExePath Required DownloadLabel HomeLabel PageHeader PageDescription
|
!macro DownloadEnter_Private ExePath Required DownloadLabel HomeLabel PageHeader PageDescription
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 1" "Text" ""
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 1" "Text" ""
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 2" "Text" "$(DownloadPageField2)"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 2" "Text" "$(DownloadPageField2)"
|
||||||
|
|
||||||
Push $0
|
Push $0
|
||||||
${if} ${Required} == 1
|
${if} ${Required} == 1
|
||||||
@ -202,31 +202,31 @@
|
|||||||
${else}
|
${else}
|
||||||
StrCpy $0 "DISABLED"
|
StrCpy $0 "DISABLED"
|
||||||
${endif}
|
${endif}
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 2" "Flags" $0
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 2" "Flags" $0
|
||||||
Pop $0
|
Pop $0
|
||||||
|
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 2" "State" "0"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 2" "State" "0"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 3" "Text" "${DownloadLabel}"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 3" "Text" "${DownloadLabel}"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 4" "Text" "${HomeLabel}"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 4" "Text" "${HomeLabel}"
|
||||||
|
|
||||||
|
|
||||||
${if} ${ExePath} == ""
|
${if} ${ExePath} == ""
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 3" "State" "1"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 3" "State" "1"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 4" "State" "0"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 4" "State" "0"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "Flags" PATH_MUST_EXIST|DISABLED
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "Flags" PATH_MUST_EXIST|DISABLED
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "State" ""
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "State" ""
|
||||||
${else}
|
${else}
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 3" "State" "0"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 3" "State" "0"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 4" "State" "1"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 4" "State" "1"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "Flags" PATH_MUST_EXIST
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "Flags" PATH_MUST_EXIST
|
||||||
|
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "State" "${ExePath}"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "State" "${ExePath}"
|
||||||
${endif}
|
${endif}
|
||||||
|
|
||||||
ClearErrors
|
ClearErrors
|
||||||
|
|
||||||
!insertmacro MUI_HEADER_TEXT "${PageHeader}" "${PageDescription}"
|
!insertmacro MUI_HEADER_TEXT "${PageHeader}" "${PageDescription}"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioDownload.ini"
|
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_download.ini"
|
||||||
!macroend
|
!macroend
|
||||||
|
|
||||||
|
|
||||||
@ -282,7 +282,7 @@
|
|||||||
|
|
||||||
|
|
||||||
!macro DownloadLeave_Private DoNotRequire Download FolderPath URL EnterFolder ExeName InvalidFolder
|
!macro DownloadLeave_Private DoNotRequire Download FolderPath URL EnterFolder ExeName InvalidFolder
|
||||||
!insertmacro MUI_INSTALLOPTIONS_READ $0 "ioDownload.ini" "Settings" "State"
|
!insertmacro MUI_INSTALLOPTIONS_READ $0 "io_download.ini" "Settings" "State"
|
||||||
|
|
||||||
StrCmp $0 0 go_on ; Next button?
|
StrCmp $0 0 go_on ; Next button?
|
||||||
|
|
||||||
|
@ -6,4 +6,4 @@ Type=Label
|
|||||||
Left=5
|
Left=5
|
||||||
Right=-1
|
Right=-1
|
||||||
Top=0
|
Top=0
|
||||||
Bottom=60
|
Bottom=140
|
18
development/Win32/packaging/installer/io_ui_language.ini
Normal file
18
development/Win32/packaging/installer/io_ui_language.ini
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
[Settings]
|
||||||
|
NumFields=2
|
||||||
|
|
||||||
|
[Field 1]
|
||||||
|
Type=GroupBox
|
||||||
|
Left=0
|
||||||
|
Right=160
|
||||||
|
Top=0
|
||||||
|
Bottom=-4
|
||||||
|
Text=" Available Languages "
|
||||||
|
|
||||||
|
[Field 2]
|
||||||
|
Type=Droplist
|
||||||
|
ListItems=Dansk|Deutsch|English|Español|Euskara|Français|Italiano|Nederlands|Norsk|Nynorsk|Polski|Româna|Russian|Slovenský|Slovenšcina|Suomi|Türkçe
|
||||||
|
Left=20
|
||||||
|
Right=130
|
||||||
|
Top=15
|
||||||
|
Bottom=130
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* \file lyx_path_prefix.C
|
* \file lyx_configure.C
|
||||||
* This file is part of LyX, the document processor.
|
* This file is part of LyX, the document processor.
|
||||||
* http://www.lyx.org/
|
* http://www.lyx.org/
|
||||||
* Licence details can be found in the file COPYING or copy at
|
* Licence details can be found in the file COPYING or copy at
|
||||||
@ -9,30 +9,37 @@
|
|||||||
* Full author contact details are available in file CREDITS or copy at
|
* Full author contact details are available in file CREDITS or copy at
|
||||||
* http://www.lyx.org/about/credits.php
|
* http://www.lyx.org/about/credits.php
|
||||||
*
|
*
|
||||||
* This little piece of code is used to insert some code into LyX's
|
* Define four functions that can be called from the NSIS installer:
|
||||||
* Resources/lyx/configure script so that it will cause lyxrc.defaults to
|
|
||||||
* contain
|
|
||||||
*
|
*
|
||||||
* \path_prefix "<path to sh.exe>;<path to python.exe>;..."
|
* set_path_prefix [ configure_file, path_prefix ]
|
||||||
|
* create_bat_files [ bin_dir, lang ]
|
||||||
|
* run_configure [ configure_file, path_prefix ]
|
||||||
|
* set_env [ var_name, var_value ]
|
||||||
|
*
|
||||||
|
* The quantities in [ ... ] are the variables that the functions exxpect
|
||||||
|
* to find on the stack. They push "-1" onto the stack on failure and "0"
|
||||||
|
* onto the stack on success.
|
||||||
*
|
*
|
||||||
* Compile the code with
|
* Compile the code with
|
||||||
*
|
*
|
||||||
* g++ -I/c/Program\ Files/NSIS/Contrib -Wall -shared \
|
* g++ -I/c/Program\ Files/NSIS/Contrib -Wall -shared \
|
||||||
* lyx_path_prefix.C -o lyx_path_prefix.dll
|
* lyx_configure.C -o lyx_configure.dll
|
||||||
*
|
*
|
||||||
* Move resulting .dll to /c/Program\ Files/NSIS/Plugins
|
* Move resulting .dll to /c/Program\ Files/NSIS/Plugins
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <windows.h>
|
#include <cstdio>
|
||||||
#include "ExDLL/exdll.h"
|
#include <cstdlib>
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include "ExDLL/exdll.h"
|
||||||
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
std::string const subst(std::string const & a,
|
std::string const subst(std::string const & a,
|
||||||
@ -53,18 +60,18 @@ std::string const subst(std::string const & a,
|
|||||||
std::string const basename(std::string const & path)
|
std::string const basename(std::string const & path)
|
||||||
{
|
{
|
||||||
std::string::size_type const final_slash = path.find_last_of('\\');
|
std::string::size_type const final_slash = path.find_last_of('\\');
|
||||||
if (final_slash == std::string::npos)
|
return (final_slash == std::string::npos) ?
|
||||||
return path;
|
path :
|
||||||
return path.substr(final_slash+1);
|
path.substr(final_slash+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
std::string const dirname(std::string const & path)
|
std::string const dirname(std::string const & path)
|
||||||
{
|
{
|
||||||
std::string::size_type const final_slash = path.find_last_of('\\');
|
std::string::size_type const final_slash = path.find_last_of('\\');
|
||||||
if (final_slash == std::string::npos)
|
return (final_slash == std::string::npos) ?
|
||||||
return std::string();
|
std::string() :
|
||||||
return path.substr(0, final_slash);
|
path.substr(0, final_slash);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -76,6 +83,14 @@ std::string const pop_from_stack()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void push_to_stack(int data)
|
||||||
|
{
|
||||||
|
std::ostringstream os;
|
||||||
|
os << data;
|
||||||
|
pushstring(os.str().c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::list<std::string> const tokenize(std::string data,
|
std::list<std::string> const tokenize(std::string data,
|
||||||
char const separator)
|
char const separator)
|
||||||
{
|
{
|
||||||
@ -192,29 +207,15 @@ bool insert_path_prefix(std::string & data,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace anon
|
|
||||||
|
|
||||||
|
|
||||||
BOOL WINAPI DllMain(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Inserts code into "configure" to output "path_prefix" to lyxrc.defaults.
|
// Inserts code into "configure" to output "path_prefix" to lyxrc.defaults.
|
||||||
extern "C"
|
// \returns 0 on success, -1 on failure
|
||||||
void __declspec(dllexport) set_path_prefix(HWND hwndParent, int string_size, char *variables, stack_t **stacktop)
|
int set_path_prefix(std::string const & configure_file,
|
||||||
|
std::string const & path_prefix)
|
||||||
{
|
{
|
||||||
EXDLL_INIT();
|
|
||||||
|
|
||||||
std::string const configure_file = pop_from_stack();
|
|
||||||
std::string const path_prefix = pop_from_stack();
|
|
||||||
|
|
||||||
std::ifstream ifs(configure_file.c_str());
|
std::ifstream ifs(configure_file.c_str());
|
||||||
if (!ifs) {
|
if (!ifs)
|
||||||
pushstring("-1");
|
return -1;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::istreambuf_iterator<char> const begin_ifs(ifs);
|
std::istreambuf_iterator<char> const begin_ifs(ifs);
|
||||||
std::istreambuf_iterator<char> const end_ifs;
|
std::istreambuf_iterator<char> const end_ifs;
|
||||||
@ -226,77 +227,184 @@ void __declspec(dllexport) set_path_prefix(HWND hwndParent, int string_size, cha
|
|||||||
std::string::size_type const prefix_pos =
|
std::string::size_type const prefix_pos =
|
||||||
configure_data.find("path_prefix");
|
configure_data.find("path_prefix");
|
||||||
if (prefix_pos != std::string::npos) {
|
if (prefix_pos != std::string::npos) {
|
||||||
if (!replace_path_prefix(configure_data, prefix_pos, path_prefix)) {
|
if (!replace_path_prefix(configure_data, prefix_pos, path_prefix))
|
||||||
pushstring("-1");
|
return -1;
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
std::string::size_type const xfonts_pos =
|
std::string::size_type const xfonts_pos =
|
||||||
configure_data.find("X FONTS");
|
configure_data.find("X FONTS");
|
||||||
|
|
||||||
if (xfonts_pos == std::string::npos) {
|
if (xfonts_pos == std::string::npos)
|
||||||
pushstring("-1");
|
return -1;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!insert_path_prefix(configure_data, xfonts_pos, path_prefix)) {
|
if (!insert_path_prefix(configure_data, xfonts_pos, path_prefix))
|
||||||
pushstring("-1");
|
return -1;
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ofstream ofs(configure_file.c_str());
|
std::ofstream ofs(configure_file.c_str());
|
||||||
if (!ofs) {
|
if (!ofs)
|
||||||
pushstring("-1");
|
return -1;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ofs << configure_data;
|
ofs << configure_data;
|
||||||
pushstring("0");
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool write_bat(std::ostream & os, std::string const & quoted_exe)
|
||||||
|
{
|
||||||
|
os << "if \"%~1\" == \"~1\" goto win95\n"
|
||||||
|
<< quoted_exe << " %*\n"
|
||||||
|
<< "goto end\n"
|
||||||
|
<< ":win95\n"
|
||||||
|
<< quoted_exe << " %1 %2 %3 %4 %5 %6 %7 %8 %9\n"
|
||||||
|
<< ":end\n";
|
||||||
|
|
||||||
|
return os;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Creates the files lyx.bat and reLyX.bat in the LyX\bin folder.
|
||||||
|
// \returns 0 on success, -1 on failure
|
||||||
|
int create_bat_files(std::string const & bin_dir, std::string const & lang)
|
||||||
|
{
|
||||||
|
std::string const lyx_bat_file = bin_dir + "\\lyx.bat";
|
||||||
|
std::ofstream lyx_bat(lyx_bat_file.c_str());
|
||||||
|
if (!lyx_bat)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
lyx_bat << "@echo off\n"
|
||||||
|
<< "if \"%LANG%\"==\"\" SET LANG=" << lang << "\n";
|
||||||
|
|
||||||
|
std::string const lyx_exe_file = bin_dir + "\\lyx.exe";
|
||||||
|
if (!write_bat(lyx_bat, "start \"LyX\" \"" + lyx_exe_file + "\""))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
std::string const relyx_bat_file = bin_dir + "\\reLyX.bat";
|
||||||
|
std::ofstream relyx_bat(relyx_bat_file.c_str());
|
||||||
|
if (!relyx_bat)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
std::string relyx_file = bin_dir + "\\reLyX";
|
||||||
|
std::string relyx = "perl.exe \"" + relyx_file + "\"";
|
||||||
|
if (!write_bat(relyx_bat, "perl.exe \"" + relyx_file + "\""))
|
||||||
|
return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Runs "sh configure" to generate things like lyxrc.defaults.
|
||||||
|
// \returns 0 on success, -1 on failure
|
||||||
|
int run_configure(std::string const & abs_configure_file,
|
||||||
|
std::string const & path_prefix)
|
||||||
|
{
|
||||||
|
std::string const configure_dir = dirname(abs_configure_file);
|
||||||
|
std::string const configure_file = basename(abs_configure_file);
|
||||||
|
|
||||||
|
if (configure_dir.empty())
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (SetCurrentDirectory(configure_dir.c_str()) == 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
char path_orig[10*MAX_PATH];
|
||||||
|
if (GetEnvironmentVariable("PATH", path_orig, 10*MAX_PATH) == 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
std::string const path = path_prefix + ';' + path_orig;
|
||||||
|
if (SetEnvironmentVariable("PATH", path.c_str()) == 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
// Even "start /WAIT /B sh.exe configure" returns
|
||||||
|
// before the script is done, so just invoke "sh" directly.
|
||||||
|
std::string const command = std::string("sh.exe ") + configure_file;
|
||||||
|
if (system(command.c_str()) != 0)
|
||||||
|
return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace anon
|
||||||
|
|
||||||
|
|
||||||
|
//===========================================//
|
||||||
|
// //
|
||||||
|
// Below is the public interface to the .dll //
|
||||||
|
// //
|
||||||
|
//===========================================//
|
||||||
|
|
||||||
|
BOOL WINAPI DllMain(HANDLE hInst,
|
||||||
|
ULONG ul_reason_for_call,
|
||||||
|
LPVOID lpReserved)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Inserts code into "configure" to output "path_prefix" to lyxrc.defaults.
|
||||||
|
extern "C"
|
||||||
|
void __declspec(dllexport) set_path_prefix(HWND hwndParent,
|
||||||
|
int string_size,
|
||||||
|
char * variables,
|
||||||
|
stack_t ** stacktop)
|
||||||
|
{
|
||||||
|
EXDLL_INIT();
|
||||||
|
|
||||||
|
std::string const configure_file = pop_from_stack();
|
||||||
|
std::string const path_prefix = pop_from_stack();
|
||||||
|
|
||||||
|
int const result = set_path_prefix(configure_file, path_prefix);
|
||||||
|
push_to_stack(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Creates the files lyx.bat and reLyX.bat in the LyX\bin folder.
|
||||||
|
extern "C"
|
||||||
|
void __declspec(dllexport) create_bat_files(HWND hwndParent,
|
||||||
|
int string_size,
|
||||||
|
char * variables,
|
||||||
|
stack_t ** stacktop)
|
||||||
|
{
|
||||||
|
EXDLL_INIT();
|
||||||
|
|
||||||
|
std::string const bin_dir = pop_from_stack();
|
||||||
|
std::string const lang = pop_from_stack();
|
||||||
|
|
||||||
|
int const result = create_bat_files(bin_dir, lang);
|
||||||
|
push_to_stack(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Runs "sh configure" to generate things like lyxrc.defaults.
|
// Runs "sh configure" to generate things like lyxrc.defaults.
|
||||||
extern "C"
|
extern "C"
|
||||||
void __declspec(dllexport) run_configure(HWND hwndParent, int string_size, char *variables, stack_t **stacktop)
|
void __declspec(dllexport) run_configure(HWND hwndParent,
|
||||||
|
int string_size,
|
||||||
|
char * variables,
|
||||||
|
stack_t ** stacktop)
|
||||||
{
|
{
|
||||||
EXDLL_INIT();
|
EXDLL_INIT();
|
||||||
|
|
||||||
std::string configure_file = pop_from_stack();
|
std::string const configure_file = pop_from_stack();
|
||||||
std::string const path_prefix = pop_from_stack();
|
std::string const path_prefix = pop_from_stack();
|
||||||
|
|
||||||
std::string const configure_dir = dirname(configure_file);
|
int const result = run_configure(configure_file, path_prefix);
|
||||||
configure_file = basename(configure_file);
|
push_to_stack(result);
|
||||||
|
}
|
||||||
if (configure_dir.empty()) {
|
|
||||||
pushstring("-1");
|
|
||||||
return;
|
// Set an environment variable
|
||||||
}
|
extern "C"
|
||||||
|
void __declspec(dllexport) set_env(HWND hwndParent,
|
||||||
if (SetCurrentDirectory(configure_dir.c_str()) == 0) {
|
int string_size,
|
||||||
pushstring("-1");
|
char * variables,
|
||||||
return;
|
stack_t ** stacktop)
|
||||||
}
|
{
|
||||||
|
EXDLL_INIT();
|
||||||
char path_orig[10*MAX_PATH];
|
|
||||||
if (GetEnvironmentVariable("PATH", path_orig, 10*MAX_PATH) == 0) {
|
std::string const var_name = pop_from_stack();
|
||||||
pushstring("-1");
|
std::string const var_value = pop_from_stack();
|
||||||
return;
|
|
||||||
}
|
// Function returns a nonzero value on success.
|
||||||
|
int const result =
|
||||||
std::string const path = path_prefix + ';' + path_orig;
|
SetEnvironmentVariableA(var_name.c_str(), var_value.c_str()) ?
|
||||||
if (SetEnvironmentVariable("PATH", path.c_str()) == 0) {
|
0 : -1;
|
||||||
pushstring("-1");
|
|
||||||
return;
|
push_to_stack(result);
|
||||||
}
|
|
||||||
|
|
||||||
// Even "start /WAIT /B sh.exe configure" returns
|
|
||||||
// before the script is done, so just invoke "sh" directly.
|
|
||||||
std::string const command = std::string("sh.exe ") + configure_file;
|
|
||||||
if (system(command.c_str()) != 0) {
|
|
||||||
pushstring("-1");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
pushstring("0");
|
|
||||||
}
|
}
|
@ -7,6 +7,7 @@
|
|||||||
; http://www.lyx.org/about/license.php3
|
; http://www.lyx.org/about/license.php3
|
||||||
|
|
||||||
; Author Angus Leeming
|
; Author Angus Leeming
|
||||||
|
; Author Uwe Stöhr
|
||||||
; Full author contact details are available in file CREDITS or copy at
|
; Full author contact details are available in file CREDITS or copy at
|
||||||
; http://www.lyx.org/about/credits.php
|
; http://www.lyx.org/about/credits.php
|
||||||
|
|
||||||
@ -27,8 +28,9 @@ SetCompressor lzma
|
|||||||
!define PRODUCT_NAME "LyX"
|
!define PRODUCT_NAME "LyX"
|
||||||
!define PRODUCT_VERSION "1.3.6"
|
!define PRODUCT_VERSION "1.3.6"
|
||||||
!define PRODUCT_LICENSE_FILE "..\..\..\..\COPYING"
|
!define PRODUCT_LICENSE_FILE "..\..\..\..\COPYING"
|
||||||
!define PRODUCT_SOURCEDIR "J:\Programs\LyX"
|
!define PRODUCT_SOURCEDIR "..\..\..\..\build\installprefix"
|
||||||
!define PRODUCT_EXE "$INSTDIR\bin\lyx.exe"
|
!define PRODUCT_EXE "$INSTDIR\bin\lyx.exe"
|
||||||
|
!define PRODUCT_BAT "$INSTDIR\bin\lyx.bat"
|
||||||
!define PRODUCT_EXT ".lyx"
|
!define PRODUCT_EXT ".lyx"
|
||||||
!define PRODUCT_MIME_TYPE "application/lyx"
|
!define PRODUCT_MIME_TYPE "application/lyx"
|
||||||
!define PRODUCT_UNINSTALL_EXE "$INSTDIR\uninstall.exe"
|
!define PRODUCT_UNINSTALL_EXE "$INSTDIR\uninstall.exe"
|
||||||
@ -55,20 +57,7 @@ InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
|
|||||||
!include "StrFunc.nsh"
|
!include "StrFunc.nsh"
|
||||||
!include "strtrim.nsh"
|
!include "strtrim.nsh"
|
||||||
!include "download.nsh"
|
!include "download.nsh"
|
||||||
|
!include "lyx_utils.nsh"
|
||||||
; Declare used functions
|
|
||||||
${StrLoc}
|
|
||||||
${StrNSISToIO}
|
|
||||||
${StrRep}
|
|
||||||
${StrTrim}
|
|
||||||
${StrLTrim}
|
|
||||||
${StrRTrim}
|
|
||||||
${StrRTrimChar}
|
|
||||||
${ReadDownloadValues}
|
|
||||||
${EnableBrowseControls}
|
|
||||||
${SearchRegistry}
|
|
||||||
${DownloadEnter}
|
|
||||||
${DownloadLeave}
|
|
||||||
|
|
||||||
; Grabbed from
|
; Grabbed from
|
||||||
; http://nsis.sourceforge.net/archive/viewpage.php?pageid=275
|
; http://nsis.sourceforge.net/archive/viewpage.php?pageid=275
|
||||||
@ -80,6 +69,24 @@ ${DownloadLeave}
|
|||||||
; in the Registry.
|
; in the Registry.
|
||||||
!include "abi_util_fileassoc.nsh"
|
!include "abi_util_fileassoc.nsh"
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
; Declare used functions
|
||||||
|
|
||||||
|
${StrStrAdv}
|
||||||
|
${StrLoc}
|
||||||
|
${StrNSISToIO}
|
||||||
|
${StrRep}
|
||||||
|
${StrTok}
|
||||||
|
${StrTrim}
|
||||||
|
${StrLTrim}
|
||||||
|
${StrRTrim}
|
||||||
|
${StrRTrimChar}
|
||||||
|
${ReadDownloadValues}
|
||||||
|
${EnableBrowseControls}
|
||||||
|
${SearchRegistry}
|
||||||
|
${DownloadEnter}
|
||||||
|
${DownloadLeave}
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
; Variables
|
; Variables
|
||||||
|
|
||||||
@ -105,6 +112,12 @@ Var DoNotRequireImageMagick
|
|||||||
Var ImageMagickPath
|
Var ImageMagickPath
|
||||||
Var DownloadImageMagick
|
Var DownloadImageMagick
|
||||||
|
|
||||||
|
Var PDFViewerPath
|
||||||
|
Var PDFViewerProg
|
||||||
|
|
||||||
|
Var PSViewerPath
|
||||||
|
Var PSViewerProg
|
||||||
|
|
||||||
Var DoNotInstallLyX
|
Var DoNotInstallLyX
|
||||||
Var PathPrefix
|
Var PathPrefix
|
||||||
|
|
||||||
@ -113,6 +126,9 @@ Var CreateDesktopIcon
|
|||||||
Var StartmenuFolder
|
Var StartmenuFolder
|
||||||
Var ProductRootKey
|
Var ProductRootKey
|
||||||
|
|
||||||
|
Var LangName
|
||||||
|
Var LangCode
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
; Remember the installer language
|
; Remember the installer language
|
||||||
@ -141,6 +157,9 @@ Page custom SummariseDownloads SummariseDownloads_LeaveFunction
|
|||||||
; Specify the installation directory.
|
; Specify the installation directory.
|
||||||
!insertmacro MUI_PAGE_DIRECTORY
|
!insertmacro MUI_PAGE_DIRECTORY
|
||||||
|
|
||||||
|
; Specify LyX's menu language.
|
||||||
|
Page custom SelectMenuLanguage SelectMenuLanguage_LeaveFunction
|
||||||
|
|
||||||
; Define which components to install.
|
; Define which components to install.
|
||||||
!insertmacro MUI_PAGE_COMPONENTS
|
!insertmacro MUI_PAGE_COMPONENTS
|
||||||
|
|
||||||
@ -153,9 +172,10 @@ Page custom SummariseDownloads SummariseDownloads_LeaveFunction
|
|||||||
; Watch the components being installed.
|
; Watch the components being installed.
|
||||||
!insertmacro MUI_PAGE_INSTFILES
|
!insertmacro MUI_PAGE_INSTFILES
|
||||||
|
|
||||||
|
!define MUI_FINISHPAGE_RUN
|
||||||
!define MUI_FINISHPAGE_TEXT "$(FinishPageMessage)"
|
!define MUI_FINISHPAGE_TEXT "$(FinishPageMessage)"
|
||||||
!define MUI_FINISHPAGE_RUN_TEXT "$(FinishPageRun)"
|
!define MUI_FINISHPAGE_RUN_TEXT "$(FinishPageRun)"
|
||||||
!define MUI_FINISHPAGE_RUN "${PRODUCT_EXE}"
|
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchProduct"
|
||||||
!insertmacro MUI_PAGE_FINISH
|
!insertmacro MUI_PAGE_FINISH
|
||||||
|
|
||||||
; The uninstaller.
|
; The uninstaller.
|
||||||
@ -169,6 +189,7 @@ Page custom SummariseDownloads SummariseDownloads_LeaveFunction
|
|||||||
!insertmacro MUI_LANGUAGE "German"
|
!insertmacro MUI_LANGUAGE "German"
|
||||||
!insertmacro MUI_LANGUAGE "Spanish"
|
!insertmacro MUI_LANGUAGE "Spanish"
|
||||||
!insertmacro MUI_LANGUAGE "French"
|
!insertmacro MUI_LANGUAGE "French"
|
||||||
|
!insertmacro MUI_LANGUAGE "Italian"
|
||||||
!insertmacro MUI_LANGUAGE "Dutch"
|
!insertmacro MUI_LANGUAGE "Dutch"
|
||||||
!insertmacro MUI_LANGUAGE "Swedish"
|
!insertmacro MUI_LANGUAGE "Swedish"
|
||||||
|
|
||||||
@ -177,6 +198,7 @@ Page custom SummariseDownloads SummariseDownloads_LeaveFunction
|
|||||||
!include "lyx_languages\dutch.nsh"
|
!include "lyx_languages\dutch.nsh"
|
||||||
!include "lyx_languages\french.nsh"
|
!include "lyx_languages\french.nsh"
|
||||||
!include "lyx_languages\german.nsh"
|
!include "lyx_languages\german.nsh"
|
||||||
|
!include "lyx_languages\italian.nsh"
|
||||||
!include "lyx_languages\spanish.nsh"
|
!include "lyx_languages\spanish.nsh"
|
||||||
!include "lyx_languages\swedish.nsh"
|
!include "lyx_languages\swedish.nsh"
|
||||||
|
|
||||||
@ -189,9 +211,11 @@ LicenseData "$(LyXLicenseData)"
|
|||||||
; Keep these lines before any File command
|
; Keep these lines before any File command
|
||||||
; Only for solid compression (by default, solid compression
|
; Only for solid compression (by default, solid compression
|
||||||
; is enabled for BZIP2 and LZMA)
|
; is enabled for BZIP2 and LZMA)
|
||||||
ReserveFile "ioDownload.ini"
|
ReserveFile "io_download.ini"
|
||||||
ReserveFile "ioSummary.ini"
|
ReserveFile "io_summary.ini"
|
||||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||||
|
ReserveFile "io_ui_language.ini"
|
||||||
|
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
@ -216,22 +240,29 @@ SectionEnd
|
|||||||
; Sections are entered in order, so the settings above are all
|
; Sections are entered in order, so the settings above are all
|
||||||
; available to SecInstallation
|
; available to SecInstallation
|
||||||
Section "-Installation actions" SecInstallation
|
Section "-Installation actions" SecInstallation
|
||||||
SetOverwrite off
|
SetOverwrite on
|
||||||
SetOutPath "$INSTDIR"
|
SetOutPath "$INSTDIR"
|
||||||
File /r "${PRODUCT_SOURCEDIR}\Resources"
|
File /r "${PRODUCT_SOURCEDIR}\Resources"
|
||||||
File /r "${PRODUCT_SOURCEDIR}\bin"
|
File /r "${PRODUCT_SOURCEDIR}\bin"
|
||||||
|
|
||||||
${if} "$PathPrefix" != ""
|
${if} "$PathPrefix" != ""
|
||||||
lyx_path_prefix::set_path_prefix "$INSTDIR\Resources\lyx\configure" "$PathPrefix"
|
lyx_configure::set_path_prefix "$INSTDIR\Resources\lyx\configure" "$PathPrefix"
|
||||||
Pop $0
|
Pop $0
|
||||||
${if} $0 != 0
|
${if} $0 != 0
|
||||||
MessageBox MB_OK "$(ModifyingConfigureFailed)"
|
MessageBox MB_OK "$(ModifyingConfigureFailed)"
|
||||||
${endif}
|
${endif}
|
||||||
lyx_path_prefix::run_configure "$INSTDIR\Resources\lyx\configure" "$PathPrefix"
|
${endif}
|
||||||
Pop $0
|
|
||||||
${if} $0 != 0
|
lyx_configure::create_bat_files "$INSTDIR\bin" "$LangCode"
|
||||||
MessageBox MB_OK "$(RunConfigureFailed)"
|
Pop $0
|
||||||
${endif}
|
${if} $0 != 0
|
||||||
|
MessageBox MB_OK "$(CreateCmdFilesFailed)"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
lyx_configure::run_configure "$INSTDIR\Resources\lyx\configure" "$PathPrefix"
|
||||||
|
Pop $0
|
||||||
|
${if} $0 != 0
|
||||||
|
MessageBox MB_OK "$(RunConfigureFailed)"
|
||||||
${endif}
|
${endif}
|
||||||
|
|
||||||
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "${PRODUCT_EXE}"
|
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "${PRODUCT_EXE}"
|
||||||
@ -243,11 +274,11 @@ Section "-Installation actions" SecInstallation
|
|||||||
WriteRegStr ${PRODUCT_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
|
WriteRegStr ${PRODUCT_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
|
||||||
|
|
||||||
CreateDirectory "$SMPROGRAMS\$StartmenuFolder"
|
CreateDirectory "$SMPROGRAMS\$StartmenuFolder"
|
||||||
CreateShortCut "$SMPROGRAMS\$StartmenuFolder\${PRODUCT_NAME}.lnk" "${PRODUCT_EXE}"
|
CreateShortCut "$SMPROGRAMS\$StartmenuFolder\${PRODUCT_NAME}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}"
|
||||||
CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Uninstall.lnk" "${PRODUCT_UNINSTALL_EXE}"
|
CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Uninstall.lnk" "${PRODUCT_UNINSTALL_EXE}"
|
||||||
|
|
||||||
${if} $CreateDesktopIcon == "true"
|
${if} $CreateDesktopIcon == "true"
|
||||||
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "${PRODUCT_EXE}"
|
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}"
|
||||||
${endif}
|
${endif}
|
||||||
|
|
||||||
${if} $CreateFileAssociations == "true"
|
${if} $CreateFileAssociations == "true"
|
||||||
@ -256,7 +287,7 @@ Section "-Installation actions" SecInstallation
|
|||||||
"${PRODUCT_NAME}" \
|
"${PRODUCT_NAME}" \
|
||||||
"${PRODUCT_NAME} Document" \
|
"${PRODUCT_NAME} Document" \
|
||||||
"${PRODUCT_EXE},1" \
|
"${PRODUCT_EXE},1" \
|
||||||
"${PRODUCT_EXE}"
|
"${PRODUCT_BAT}"
|
||||||
|
|
||||||
${CreateFileAssociation} "${PRODUCT_EXT}" "${PRODUCT_NAME}" "${PRODUCT_MIME_TYPE}"
|
${CreateFileAssociation} "${PRODUCT_EXT}" "${PRODUCT_NAME}" "${PRODUCT_MIME_TYPE}"
|
||||||
${endif}
|
${endif}
|
||||||
@ -280,8 +311,9 @@ SectionEnd
|
|||||||
Function .onInit
|
Function .onInit
|
||||||
!insertmacro MUI_LANGDLL_DISPLAY
|
!insertmacro MUI_LANGDLL_DISPLAY
|
||||||
|
|
||||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioDownload.ini"
|
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_download.ini"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioSummary.ini"
|
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_summary.ini"
|
||||||
|
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
|
||||||
|
|
||||||
; Default settings
|
; Default settings
|
||||||
; These can be reset to "all" in section SecAllUsers.
|
; These can be reset to "all" in section SecAllUsers.
|
||||||
@ -316,13 +348,30 @@ Function .onInit
|
|||||||
Call SearchPerl
|
Call SearchPerl
|
||||||
Call SearchGhostscript
|
Call SearchGhostscript
|
||||||
Call SearchImageMagick
|
Call SearchImageMagick
|
||||||
|
Call SearchPDFViewer
|
||||||
|
Call SearchPSViewer
|
||||||
|
|
||||||
ClearErrors
|
ClearErrors
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
|
Function LaunchProduct
|
||||||
|
lyx_configure::set_env LANG $LangCode
|
||||||
|
Exec ${PRODUCT_EXE}
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
|
||||||
|
; Sets the value of the global $MinSYSPath variable.
|
||||||
Function SearchMinSYS
|
Function SearchMinSYS
|
||||||
|
; This function manipulates the registers $0-$3,
|
||||||
|
; so push their current content onto the stack.
|
||||||
|
Push $0
|
||||||
|
Push $1
|
||||||
|
Push $2
|
||||||
|
Push $3
|
||||||
|
|
||||||
; Search the registry for the MinSYS uninstaller.
|
; Search the registry for the MinSYS uninstaller.
|
||||||
; If successful, put its location in $2.
|
; If successful, put its location in $2.
|
||||||
StrCpy $3 "Software\Microsoft\Windows\CurrentVersion\Uninstall"
|
StrCpy $3 "Software\Microsoft\Windows\CurrentVersion\Uninstall"
|
||||||
@ -351,6 +400,12 @@ Function SearchMinSYS
|
|||||||
"Inno Setup: App Path" \
|
"Inno Setup: App Path" \
|
||||||
"" \
|
"" \
|
||||||
"\bin"
|
"\bin"
|
||||||
|
|
||||||
|
; Return the $0, $1, $2 and $2 registers to their original state
|
||||||
|
Pop $3
|
||||||
|
Pop $2
|
||||||
|
Pop $1
|
||||||
|
Pop $0
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function DownloadMinSYS
|
Function DownloadMinSYS
|
||||||
@ -366,6 +421,10 @@ Function DownloadMinSYS
|
|||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function DownloadMinSYS_LeaveFunction
|
Function DownloadMinSYS_LeaveFunction
|
||||||
|
; This function manipulates the $0 register
|
||||||
|
; so push its current content onto the stack.
|
||||||
|
Push $0
|
||||||
|
|
||||||
${DownloadLeave} \
|
${DownloadLeave} \
|
||||||
$0 \
|
$0 \
|
||||||
$DownloadMinSYS \
|
$DownloadMinSYS \
|
||||||
@ -374,10 +433,14 @@ Function DownloadMinSYS_LeaveFunction
|
|||||||
"$(EnterMinSYSFolder)" \
|
"$(EnterMinSYSFolder)" \
|
||||||
"sh.exe" \
|
"sh.exe" \
|
||||||
"$(InvalidMinSYSFolder)"
|
"$(InvalidMinSYSFolder)"
|
||||||
|
|
||||||
|
; Return the $0 register to its original state
|
||||||
|
Pop $0
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
|
; Sets the value of the global $PythonPath variable.
|
||||||
Function SearchPython
|
Function SearchPython
|
||||||
${SearchRegistry} \
|
${SearchRegistry} \
|
||||||
$PythonPath \
|
$PythonPath \
|
||||||
@ -400,6 +463,10 @@ Function DownloadPython
|
|||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function DownloadPython_LeaveFunction
|
Function DownloadPython_LeaveFunction
|
||||||
|
; This function manipulates the $0 register
|
||||||
|
; so push its current content onto the stack.
|
||||||
|
Push $0
|
||||||
|
|
||||||
${DownloadLeave} \
|
${DownloadLeave} \
|
||||||
$0 \
|
$0 \
|
||||||
$DownloadPython \
|
$DownloadPython \
|
||||||
@ -408,10 +475,14 @@ Function DownloadPython_LeaveFunction
|
|||||||
"$(EnterPythonFolder)" \
|
"$(EnterPythonFolder)" \
|
||||||
"Python.exe" \
|
"Python.exe" \
|
||||||
"$(InvalidPythonFolder)"
|
"$(InvalidPythonFolder)"
|
||||||
|
|
||||||
|
; Return the $0 register to its original state
|
||||||
|
Pop $0
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
|
; Sets the value of the global $MiKTeXPath variable.
|
||||||
Function SearchMiKTeX
|
Function SearchMiKTeX
|
||||||
${SearchRegistry} \
|
${SearchRegistry} \
|
||||||
$MiKTeXPath \
|
$MiKTeXPath \
|
||||||
@ -447,6 +518,7 @@ FunctionEnd
|
|||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
|
; Sets the value of the global $PerlPath variable.
|
||||||
Function SearchPerl
|
Function SearchPerl
|
||||||
${SearchRegistry} \
|
${SearchRegistry} \
|
||||||
$PerlPath \
|
$PerlPath \
|
||||||
@ -482,13 +554,24 @@ FunctionEnd
|
|||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
|
; Sets the value of the global $GhostscriptPath variable.
|
||||||
Function SearchGhostscript
|
Function SearchGhostscript
|
||||||
|
; This function manipulates the $0 and $1 registers,
|
||||||
|
; so push their current content onto the stack.
|
||||||
|
Push $0
|
||||||
|
Push $1
|
||||||
|
|
||||||
; Find which version of ghostscript, if any, is installed.
|
; Find which version of ghostscript, if any, is installed.
|
||||||
|
; Store this value in $0.
|
||||||
|
StrCpy $0 ""
|
||||||
EnumRegKey $1 HKLM "Software\AFPL Ghostscript" 0
|
EnumRegKey $1 HKLM "Software\AFPL Ghostscript" 0
|
||||||
${if} $1 != ""
|
${if} $1 != ""
|
||||||
StrCpy $0 "Software\AFPL Ghostscript\$1"
|
StrCpy $0 "Software\AFPL Ghostscript\$1"
|
||||||
${else}
|
${else}
|
||||||
StrCpy $0 ""
|
EnumRegKey $1 HKLM "Software\GPL Ghostscript" 0
|
||||||
|
${if} $1 != ""
|
||||||
|
StrCpy $0 "Software\GPL Ghostscript\$1"
|
||||||
|
${endif}
|
||||||
${endif}
|
${endif}
|
||||||
|
|
||||||
${SearchRegistry} \
|
${SearchRegistry} \
|
||||||
@ -497,6 +580,10 @@ Function SearchGhostscript
|
|||||||
"GS_DLL" \
|
"GS_DLL" \
|
||||||
"\gsdll32.dll" \
|
"\gsdll32.dll" \
|
||||||
""
|
""
|
||||||
|
|
||||||
|
; Return the $0 and $1 registers to their original states
|
||||||
|
Pop $1
|
||||||
|
Pop $0
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function DownloadGhostscript
|
Function DownloadGhostscript
|
||||||
@ -505,8 +592,16 @@ Function DownloadGhostscript
|
|||||||
|
|
||||||
; Find which version of ghostscript, if any, is installed.
|
; Find which version of ghostscript, if any, is installed.
|
||||||
EnumRegKey $1 HKLM "Software\AFPL Ghostscript" 0
|
EnumRegKey $1 HKLM "Software\AFPL Ghostscript" 0
|
||||||
|
${if} $1 == ""
|
||||||
|
EnumRegKey $1 HKLM "Software\GPL Ghostscript" 0
|
||||||
|
StrCpy $2 "True"
|
||||||
|
${endif}
|
||||||
${if} $1 != ""
|
${if} $1 != ""
|
||||||
|
${if} $2 == "True"
|
||||||
|
StrCpy $0 "Software\GPL Ghostscript\$1"
|
||||||
|
${else}
|
||||||
StrCpy $0 "Software\AFPL Ghostscript\$1"
|
StrCpy $0 "Software\AFPL Ghostscript\$1"
|
||||||
|
${endif}
|
||||||
${else}
|
${else}
|
||||||
StrCpy $0 ""
|
StrCpy $0 ""
|
||||||
${endif}
|
${endif}
|
||||||
@ -533,6 +628,7 @@ FunctionEnd
|
|||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
|
; Sets the value of the global $ImageMagickPath variable.
|
||||||
Function SearchImageMagick
|
Function SearchImageMagick
|
||||||
${SearchRegistry} \
|
${SearchRegistry} \
|
||||||
$ImageMagickPath \
|
$ImageMagickPath \
|
||||||
@ -568,6 +664,58 @@ FunctionEnd
|
|||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
|
|
||||||
|
; Sets the value of the global $PDFViewerPath and $PDFViewerProg variables.
|
||||||
|
Function SearchPDFViewer
|
||||||
|
StrCpy $PDFViewerPath ""
|
||||||
|
!insertmacro GetFileExtProg $PDFViewerPath $PDFViewerProg ".pdf" "a"
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
|
||||||
|
Function SearchPSViewer
|
||||||
|
; This function manipulates the $0 and $1 registers,
|
||||||
|
; so push their current content onto the stack.
|
||||||
|
Push $0
|
||||||
|
Push $1
|
||||||
|
|
||||||
|
StrCpy $PSViewerPath ""
|
||||||
|
StrCpy $0 ""
|
||||||
|
StrCpy $1 ""
|
||||||
|
!insertmacro GetFileExtProg $PSViewerPath $PSViewerProg ".ps" "a"
|
||||||
|
${if} $PSViewerPath != ""
|
||||||
|
StrCpy $0 $PSViewerPath
|
||||||
|
StrCpy $0 $0 "" -8
|
||||||
|
${endif}
|
||||||
|
${if} $0 == "Distillr"
|
||||||
|
!insertmacro GetFileExtProg $0 $1 ".ps" "b"
|
||||||
|
${if} $1 != ""
|
||||||
|
StrCpy $PSViewerPath $0
|
||||||
|
StrCpy $PSViewerProg $1
|
||||||
|
${endif}
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
; Failed to find anything that way. Try another.
|
||||||
|
${if} $PSViewerPath == ""
|
||||||
|
ReadRegStr $PSViewerProg HKCR "psfile\shell\open\command" ""
|
||||||
|
; Extract the first quoted word.
|
||||||
|
${StrTok} $0 "$PSViewerProg" '"' '1' '0'
|
||||||
|
${if} $0 != ""
|
||||||
|
StrCpy $PSViewerProg $0
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${StrTrim} $PSViewerProg "$PSViewerProg"
|
||||||
|
; Split into <path,exe> pair
|
||||||
|
${StrStrAdv} $PSViewerPath $PSViewerProg "\" "<" "<" "0" "0" "0"
|
||||||
|
${StrStrAdv} $PSViewerProg $PSViewerProg "\" "<" ">" "0" "0" "0"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
; Return the $0 and $1 registers to their original states
|
||||||
|
Pop $1
|
||||||
|
Pop $0
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
|
||||||
Function SummariseDownloads
|
Function SummariseDownloads
|
||||||
|
|
||||||
StrCpy $PathPrefix ""
|
StrCpy $PathPrefix ""
|
||||||
@ -599,15 +747,16 @@ Function SummariseDownloads
|
|||||||
IntOp $DoNotInstallLyX $DoNotInstallLyX + $DownloadImageMagick
|
IntOp $DoNotInstallLyX $DoNotInstallLyX + $DownloadImageMagick
|
||||||
|
|
||||||
${if} "$DoNotInstallLyX" == 1
|
${if} "$DoNotInstallLyX" == 1
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSummary.ini" "Field 1" "Text" "$(SummaryPleaseInstall)"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_summary.ini" "Field 1" "Text" "$(SummaryPleaseInstall)"
|
||||||
${else}
|
${else}
|
||||||
${StrNSISToIO} $0 '$PathPrefix'
|
${StrNSISToIO} $0 '$PathPrefix'
|
||||||
|
${StrRep} $0 "$0" ";" "\r\n"
|
||||||
StrCpy $0 "$(SummaryPathPrefix)\r\n\r\n$0"
|
StrCpy $0 "$(SummaryPathPrefix)\r\n\r\n$0"
|
||||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSummary.ini" "Field 1" "Text" "$0"
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_summary.ini" "Field 1" "Text" "$0"
|
||||||
${endif}
|
${endif}
|
||||||
|
|
||||||
!insertmacro MUI_HEADER_TEXT "$(SummaryTitle)" ""
|
!insertmacro MUI_HEADER_TEXT "$(SummaryTitle)" ""
|
||||||
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioSummary.ini"
|
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_summary.ini"
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function SummariseDownloads_LeaveFunction
|
Function SummariseDownloads_LeaveFunction
|
||||||
@ -616,6 +765,30 @@ Function SummariseDownloads_LeaveFunction
|
|||||||
${endif}
|
${endif}
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
|
||||||
|
Function SelectMenuLanguage
|
||||||
|
StrCpy $LangName ""
|
||||||
|
|
||||||
|
;tranlate NSIS's language code to the language name; macro from lyx_utils.nsh
|
||||||
|
!insertmacro TranslateLangCode $LangName $Language
|
||||||
|
|
||||||
|
!insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
|
||||||
|
|
||||||
|
!insertmacro MUI_HEADER_TEXT "$(UILangageTitle)" "$(UILangageDescription)"
|
||||||
|
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
|
||||||
|
Function SelectMenuLanguage_LeaveFunction
|
||||||
|
!insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
|
||||||
|
|
||||||
|
;Get the language code; macro from lyx_utils.nsh
|
||||||
|
StrCpy $LangCode ""
|
||||||
|
!insertmacro GetLangCode $LangCode $LangName
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
;--------------------------------
|
;--------------------------------
|
||||||
; The Uninstaller
|
; The Uninstaller
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Opret association mellem LyX o
|
|||||||
LangString SecDesktopDescription "${LYX_LANG}" "Et ${PRODUCT_NAME} ikon på skrivebordet"
|
LangString SecDesktopDescription "${LYX_LANG}" "Et ${PRODUCT_NAME} ikon på skrivebordet"
|
||||||
|
|
||||||
LangString ModifyingConfigureFailed "${LYX_LANG}" "Forsøget på at indstille 'path_prefix' i konfigurationen mislykkedes"
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Forsøget på at indstille 'path_prefix' i konfigurationen mislykkedes"
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
LangString RunConfigureFailed "${LYX_LANG}" "Mislykket forsøg på at afvikle konfigurations-scriptet"
|
LangString RunConfigureFailed "${LYX_LANG}" "Mislykket forsøg på at afvikle konfigurations-scriptet"
|
||||||
|
|
||||||
LangString FinishPageMessage "${LYX_LANG}" "Tillykke!! LyX er installeret."
|
LangString FinishPageMessage "${LYX_LANG}" "Tillykke!! LyX er installeret."
|
||||||
@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software - sammendrag"
|
|||||||
LangString SummaryPleaseInstall "${LYX_LANG}" "Installer de filer du har downloaded, og kør så LyX's installationsprogram igen."
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Installer de filer du har downloaded, og kør så LyX's installationsprogram igen."
|
||||||
LangString SummaryPathPrefix "${LYX_LANG}" "Jeg tilføjer en 'path_prefix' streng til 'lyxrc.defaults' som indeholder:"
|
LangString SummaryPathPrefix "${LYX_LANG}" "Jeg tilføjer en 'path_prefix' streng til 'lyxrc.defaults' som indeholder:"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
LangString UnNotInRegistryLabel "${LYX_LANG}" "Kunne ikke finde $(^Name) i registreringsdatabsen$\r$\nGenvejene på skrivebordet og i Start-menuen bliver ikke fjernet"
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "Kunne ikke finde $(^Name) i registreringsdatabsen$\r$\nGenvejene på skrivebordet og i Start-menuen bliver ikke fjernet"
|
||||||
LangString UnNotAdminLabel "${LYX_LANG}" "Beklager! Du skal have administrator-rettigheder$\r$\nfor at afinstallere$(^Name)."
|
LangString UnNotAdminLabel "${LYX_LANG}" "Beklager! Du skal have administrator-rettigheder$\r$\nfor at afinstallere$(^Name)."
|
||||||
LangString UnReallyRemoveLabel "${LYX_LANG}" "Er du sikker på, at du vil slette $(^Name) og alle tilhørende komponenter?"
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "Er du sikker på, at du vil slette $(^Name) og alle tilhørende komponenter?"
|
||||||
|
@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Associeer het LyX programma me
|
|||||||
LangString SecDesktopDescription "${LYX_LANG}" "Een ${PRODUCT_NAME} pictogram op het Bureaublad."
|
LangString SecDesktopDescription "${LYX_LANG}" "Een ${PRODUCT_NAME} pictogram op het Bureaublad."
|
||||||
|
|
||||||
LangString ModifyingConfigureFailed "${LYX_LANG}" "Mislukte poging om 'path_prefix' te registreren tijdens de configuratie"
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Mislukte poging om 'path_prefix' te registreren tijdens de configuratie"
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
LangString RunConfigureFailed "${LYX_LANG}" "Mislukte configuratie poging"
|
LangString RunConfigureFailed "${LYX_LANG}" "Mislukte configuratie poging"
|
||||||
|
|
||||||
LangString FinishPageMessage "${LYX_LANG}" "Gefeliciteerd! LyX is succesvol geinstalleerd."
|
LangString FinishPageMessage "${LYX_LANG}" "Gefeliciteerd! LyX is succesvol geinstalleerd."
|
||||||
@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software samenvatting"
|
|||||||
LangString SummaryPleaseInstall "${LYX_LANG}" "Installeer de opgehaalde bestanden en start vervolgens het LyX installatie programma nogmaals om de installatie af te ronden."
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Installeer de opgehaalde bestanden en start vervolgens het LyX installatie programma nogmaals om de installatie af te ronden."
|
||||||
LangString SummaryPathPrefix "${LYX_LANG}" "Ik voeg een 'path_prefix' tekst aan 'lyxrc.defaults' toe met:"
|
LangString SummaryPathPrefix "${LYX_LANG}" "Ik voeg een 'path_prefix' tekst aan 'lyxrc.defaults' toe met:"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) is niet gevonden in het Windows register$\r$\nSnelkoppelingen op het Bureaublad en in het Start Menu worden niet verwijderd."
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) is niet gevonden in het Windows register$\r$\nSnelkoppelingen op het Bureaublad en in het Start Menu worden niet verwijderd."
|
||||||
LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! U heeft systeembeheer rechten nodig$\r$\nom $(^Name) te verwijderen."
|
LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! U heeft systeembeheer rechten nodig$\r$\nom $(^Name) te verwijderen."
|
||||||
LangString UnReallyRemoveLabel "${LYX_LANG}" "Weet u zeker dat u $(^Name) en alle componenten volledig wil verwijderen van deze computer?"
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "Weet u zeker dat u $(^Name) en alle componenten volledig wil verwijderen van deze computer?"
|
||||||
|
@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Create associations between th
|
|||||||
LangString SecDesktopDescription "${LYX_LANG}" "A ${PRODUCT_NAME} icon on the desktop."
|
LangString SecDesktopDescription "${LYX_LANG}" "A ${PRODUCT_NAME} icon on the desktop."
|
||||||
|
|
||||||
LangString ModifyingConfigureFailed "${LYX_LANG}" "Failed attempting to set 'path_prefix' in the configure script"
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Failed attempting to set 'path_prefix' in the configure script"
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
LangString RunConfigureFailed "${LYX_LANG}" "Failed attempting to execute the configure script"
|
LangString RunConfigureFailed "${LYX_LANG}" "Failed attempting to execute the configure script"
|
||||||
|
|
||||||
LangString FinishPageMessage "${LYX_LANG}" "Congratulations! LyX has been installed successfully."
|
LangString FinishPageMessage "${LYX_LANG}" "Congratulations! LyX has been installed successfully."
|
||||||
@ -61,7 +62,7 @@ LangString ImageMagickDownloadLabel "${LYX_LANG}" "&Download ImageMagick"
|
|||||||
LangString ImageMagickFolderLabel "${LYX_LANG}" "&Folder containing convert.exe"
|
LangString ImageMagickFolderLabel "${LYX_LANG}" "&Folder containing convert.exe"
|
||||||
|
|
||||||
LangString GhostscriptHeader "${LYX_LANG}" "Ghostscript"
|
LangString GhostscriptHeader "${LYX_LANG}" "Ghostscript"
|
||||||
LangString GhostscriptDescription "${LYX_LANG}" "Ghostscript (http://www.cs.wisc.edu/~ghost/) is used to convert images to/from PostScript."
|
LangString GhostscriptDescription "${LYX_LANG}" "Ghostscript (www.cs.wisc.edu/~ghost/) is used to convert images to/from PostScript."
|
||||||
LangString EnterGhostscriptFolder "${LYX_LANG}" "Please input the path to the folder containing gswin32c.exe"
|
LangString EnterGhostscriptFolder "${LYX_LANG}" "Please input the path to the folder containing gswin32c.exe"
|
||||||
LangString InvalidGhostscriptFolder "${LYX_LANG}" "Unable to find gswin32c.exe"
|
LangString InvalidGhostscriptFolder "${LYX_LANG}" "Unable to find gswin32c.exe"
|
||||||
LangString GhostscriptDownloadLabel "${LYX_LANG}" "&Download Ghostscript"
|
LangString GhostscriptDownloadLabel "${LYX_LANG}" "&Download Ghostscript"
|
||||||
@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software summary"
|
|||||||
LangString SummaryPleaseInstall "${LYX_LANG}" "Please install your downloaded files and then run LyX's installer once again."
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Please install your downloaded files and then run LyX's installer once again."
|
||||||
LangString SummaryPathPrefix "${LYX_LANG}" "I shall add a 'path_prefix' string to 'lyxrc.defaults' containing:"
|
LangString SummaryPathPrefix "${LYX_LANG}" "I shall add a 'path_prefix' string to 'lyxrc.defaults' containing:"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
LangString UnNotInRegistryLabel "${LYX_LANG}" "Unable to find $(^Name) in the registry$\r$\nShortcuts on the desktop and in the Start Menu will not be removed."
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "Unable to find $(^Name) in the registry$\r$\nShortcuts on the desktop and in the Start Menu will not be removed."
|
||||||
LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! You must have administrator privileges$\r$\nto uninstall $(^Name)."
|
LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! You must have administrator privileges$\r$\nto uninstall $(^Name)."
|
||||||
LangString UnReallyRemoveLabel "${LYX_LANG}" "Are you sure you want to completely remove $(^Name) and all of its components?"
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "Are you sure you want to completely remove $(^Name) and all of its components?"
|
||||||
|
@ -19,6 +19,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Cr
|
|||||||
LangString SecDesktopDescription "${LYX_LANG}" "Une icône ${PRODUCT_NAME} sur le bureau."
|
LangString SecDesktopDescription "${LYX_LANG}" "Une icône ${PRODUCT_NAME} sur le bureau."
|
||||||
|
|
||||||
LangString ModifyingConfigureFailed "${LYX_LANG}" "Échec de l'allocation 'path_prefix' lors de la configuration."
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Échec de l'allocation 'path_prefix' lors de la configuration."
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
LangString RunConfigureFailed "${LYX_LANG}" "Échec de la tentative de configuration initiale de LyX."
|
LangString RunConfigureFailed "${LYX_LANG}" "Échec de la tentative de configuration initiale de LyX."
|
||||||
|
|
||||||
LangString FinishPageMessage "${LYX_LANG}" "Félicitations ! LyX est installé avec succès."
|
LangString FinishPageMessage "${LYX_LANG}" "Félicitations ! LyX est installé avec succès."
|
||||||
@ -72,6 +73,9 @@ LangString SummaryTitle "${LYX_LANG}" "R
|
|||||||
LangString SummaryPleaseInstall "${LYX_LANG}" "Merci d'installer les fichiers téléchargés, puis d'exécuter de nouveau l'installation de LyX."
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Merci d'installer les fichiers téléchargés, puis d'exécuter de nouveau l'installation de LyX."
|
||||||
LangString SummaryPathPrefix "${LYX_LANG}" "Durant l'installation, une chaîne de caractères 'path_prefix' sera ajoutée à 'lyxrc.defaults', elle contiendra :"
|
LangString SummaryPathPrefix "${LYX_LANG}" "Durant l'installation, une chaîne de caractères 'path_prefix' sera ajoutée à 'lyxrc.defaults', elle contiendra :"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) introuvable dans le base des registres. $\r$\nLes raccourcis sur le bureau et dans le menu de démarrage ne seront pas supprimés."
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) introuvable dans le base des registres. $\r$\nLes raccourcis sur le bureau et dans le menu de démarrage ne seront pas supprimés."
|
||||||
LangString UnNotAdminLabel "${LYX_LANG}" "Désolé ! Vous devez avoir les droits d'administration$\r$\npour installer$(^Name)."
|
LangString UnNotAdminLabel "${LYX_LANG}" "Désolé ! Vous devez avoir les droits d'administration$\r$\npour installer$(^Name)."
|
||||||
LangString UnReallyRemoveLabel "${LYX_LANG}" "Êtes vous sûr(e) de vouloir supprimer complètement $(^Name) et tous ses composants ?"
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "Êtes vous sûr(e) de vouloir supprimer complètement $(^Name) et tous ses composants ?"
|
||||||
|
@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Vern
|
|||||||
LangString SecDesktopDescription "${LYX_LANG}" "Verknüpfung zu ${PRODUCT_NAME} auf dem Desktop."
|
LangString SecDesktopDescription "${LYX_LANG}" "Verknüpfung zu ${PRODUCT_NAME} auf dem Desktop."
|
||||||
|
|
||||||
LangString ModifyingConfigureFailed "${LYX_LANG}" "Der 'path_prefix' (Liste mit Programmpfaden) konnte nicht im Konfigurationsskript gesetzt werden."
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Der 'path_prefix' (Liste mit Programmpfaden) konnte nicht im Konfigurationsskript gesetzt werden."
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
LangString RunConfigureFailed "${LYX_LANG}" "Konnte das Konfigurationsskript nicht ausführen."
|
LangString RunConfigureFailed "${LYX_LANG}" "Konnte das Konfigurationsskript nicht ausführen."
|
||||||
|
|
||||||
LangString FinishPageMessage "${LYX_LANG}" "Glückwunsch! LyX wurde erfolgreich installiert."
|
LangString FinishPageMessage "${LYX_LANG}" "Glückwunsch! LyX wurde erfolgreich installiert."
|
||||||
@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software Zusammenfassung"
|
|||||||
LangString SummaryPleaseInstall "${LYX_LANG}" "Bitte installieren sie die heruntergeladenen Programme und starten dann ${PRODUCT_NAME}'s Installer nochmal."
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Bitte installieren sie die heruntergeladenen Programme und starten dann ${PRODUCT_NAME}'s Installer nochmal."
|
||||||
LangString SummaryPathPrefix "${LYX_LANG}" "Die Liste mit den Programmpfaden, der so genannte 'path_prefix' wird zur Datei 'lyxrc.defaults' hinzugefügt:"
|
LangString SummaryPathPrefix "${LYX_LANG}" "Die Liste mit den Programmpfaden, der so genannte 'path_prefix' wird zur Datei 'lyxrc.defaults' hinzugefügt:"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
LangString UnNotInRegistryLabel "${LYX_LANG}" "Kann $(^Name) nicht in der Registry finden. $\r$\n Desktopsymbole und Einträge im Startmenü können nicht entfernt werden."
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "Kann $(^Name) nicht in der Registry finden. $\r$\n Desktopsymbole und Einträge im Startmenü können nicht entfernt werden."
|
||||||
LangString UnNotAdminLabel "${LYX_LANG}" "Sie benötigen Administratorrechte $\r$\n um $(^Name) zu deinstallieren."
|
LangString UnNotAdminLabel "${LYX_LANG}" "Sie benötigen Administratorrechte $\r$\n um $(^Name) zu deinstallieren."
|
||||||
LangString UnReallyRemoveLabel "${LYX_LANG}" "Sind Sie sicher, dass sie $(^Name) und all seine Komponenten deinstalliern möchten?"
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "Sind Sie sicher, dass sie $(^Name) und all seine Komponenten deinstalliern möchten?"
|
||||||
|
@ -0,0 +1,85 @@
|
|||||||
|
!ifndef _LYX_LANGUAGES_ITALIAN_NSH_
|
||||||
|
!define _LYX_LANGUAGES_ITALIAN_NSH_
|
||||||
|
|
||||||
|
!ifdef LYX_LANG
|
||||||
|
!undef LYX_LANG
|
||||||
|
!endif
|
||||||
|
!define LYX_LANG ${LANG_ITALIAN}
|
||||||
|
|
||||||
|
LicenseLangString LyXLicenseData ${LYX_LANG} "${PRODUCT_LICENSE_FILE}"
|
||||||
|
|
||||||
|
LangString SecAllUsersTitle "${LYX_LANG}" "Installazione per tutti gli utenti?"
|
||||||
|
LangString SecFileAssocTitle "${LYX_LANG}" "Associazioni dei file"
|
||||||
|
LangString SecDesktopTitle "${LYX_LANG}" "Icona sul Desktop"
|
||||||
|
|
||||||
|
LangString SecCoreDescription "${LYX_LANG}" "I file di ${PRODUCT_NAME}."
|
||||||
|
LangString SecAllUsersDescription "${LYX_LANG}" "Installazione per tutti gli utenti o solo per l'utente attuale. (Sono richiesti privilegi da amministratore.)"
|
||||||
|
LangString SecFileAssocDescription "${LYX_LANG}" "Crea le associazioni tra il programma e le estensioni .lyx."
|
||||||
|
LangString SecDesktopDescription "${LYX_LANG}" "Icona ${PRODUCT_NAME} sul desktop."
|
||||||
|
|
||||||
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Fallito tentativo di aggiornare 'path_prefix' nello script di configurazione"
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
|
LangString RunConfigureFailed "${LYX_LANG}" "Fallito tentativo di eseguire lo script di configurazione"
|
||||||
|
|
||||||
|
LangString FinishPageMessage "${LYX_LANG}" "Congratulazioni! LyX è stato installato con successo."
|
||||||
|
LangString FinishPageRun "${LYX_LANG}" "Lancia LyX"
|
||||||
|
|
||||||
|
LangString DownloadPageField2 "${LYX_LANG}" "&Non installare"
|
||||||
|
|
||||||
|
LangString MinSYSHeader "${LYX_LANG}" "MinSYS"
|
||||||
|
LangString MinSYSDescription "${LYX_LANG}" "MinSYS fornisce un ambiente unix minimale (www.mingw.org/msys.shtml) richiesto da ${PRODUCT_NAME} per far girare un certo numero di file script."
|
||||||
|
LangString EnterMinSYSFolder "${LYX_LANG}" "Inserite il percorso alla cartella contenente sh.exe"
|
||||||
|
LangString InvalidMinSYSFolder "${LYX_LANG}" "Non riesco a trovare sh.exe"
|
||||||
|
LangString MinSYSDownloadLabel "${LYX_LANG}" "&Scarica MinSYS"
|
||||||
|
LangString MinSYSFolderLabel "${LYX_LANG}" "&Cartella contenente sh.exe"
|
||||||
|
|
||||||
|
LangString PythonHeader "${LYX_LANG}" "Python"
|
||||||
|
LangString PythonDescription "${LYX_LANG}" "L'interprete Python (www.python.org) deve essere installato, altrimenti ${PRODUCT_NAME} non sarà in grado di far girare un certo numero di file script."
|
||||||
|
LangString EnterPythonFolder "${LYX_LANG}" "Inserite il percorso alla cartella contenente Python.exe"
|
||||||
|
LangString InvalidPythonFolder "${LYX_LANG}" "Non riesco a trovare Python.exe"
|
||||||
|
LangString PythonDownloadLabel "${LYX_LANG}" "&carica Python"
|
||||||
|
LangString PythonFolderLabel "${LYX_LANG}" "&Cartella contenente Python.exe"
|
||||||
|
|
||||||
|
LangString MiKTeXHeader "${LYX_LANG}" "MiKTeX"
|
||||||
|
LangString MiKTeXDescription "${LYX_LANG}" "MiKTeX (www.miktex.org) è un'aggiornata implementazione di TeX per Windows."
|
||||||
|
LangString EnterMiKTeXFolder "${LYX_LANG}" "Inserite il percorso alla cartella contenente latex.exe"
|
||||||
|
LangString InvalidMiKTeXFolder "${LYX_LANG}" "Non riesco a trovare latex.exe"
|
||||||
|
LangString MiKTeXDownloadLabel "${LYX_LANG}" "&Scarica MiKTeX"
|
||||||
|
LangString MiKTeXFolderLabel "${LYX_LANG}" "&Cartella contenente latex.exe"
|
||||||
|
|
||||||
|
LangString PerlHeader "${LYX_LANG}" "Perl"
|
||||||
|
LangString PerlDescription "${LYX_LANG}" "Se volete usare reLyX per convertire documenti LaTeX nel formato LyX, dovete installare Perl (www.perl.com)."
|
||||||
|
LangString EnterPerlFolder "${LYX_LANG}" "Inserite il percorso alla cartella contenente Perl.exe"
|
||||||
|
LangString InvalidPerlFolder "${LYX_LANG}" "Non riesco a trovare Perl.exe"
|
||||||
|
LangString PerlDownloadLabel "${LYX_LANG}" "&Scarica Perl"
|
||||||
|
LangString PerlFolderLabel "${LYX_LANG}" "&Cartella contenente perl.exe"
|
||||||
|
|
||||||
|
LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
|
||||||
|
LangString ImageMagickDescription "${LYX_LANG}" "I programmi forniti da ImageMagick (www.imagemagick.org/script/index.php) vengono usati per convertire file grafici da un certo formato ad un qualsiasi altro formato."
|
||||||
|
LangString EnterImageMagickFolder "${LYX_LANG}" "Inserite il percorso alla cartella contenente convert.exe"
|
||||||
|
LangString InvalidImageMagickFolder "${LYX_LANG}" "Non riesco a trovare convert.exe"
|
||||||
|
LangString ImageMagickDownloadLabel "${LYX_LANG}" "&Scarica ImageMagick"
|
||||||
|
LangString ImageMagickFolderLabel "${LYX_LANG}" "&Cartella contenente convert.exe"
|
||||||
|
|
||||||
|
LangString GhostscriptHeader "${LYX_LANG}" "Ghostscript"
|
||||||
|
LangString GhostscriptDescription "${LYX_LANG}" "Ghostscript (http://www.cs.wisc.edu/~ghost/) viene usato per convertire immagini in/da PostScript."
|
||||||
|
LangString EnterGhostscriptFolder "${LYX_LANG}" "Inserite il percorso alla cartella contenente gswin32c.exe"
|
||||||
|
LangString InvalidGhostscriptFolder "${LYX_LANG}" "Non riesco a trovare gswin32c.exe"
|
||||||
|
LangString GhostscriptDownloadLabel "${LYX_LANG}" "&Scarica Ghostscript"
|
||||||
|
LangString GhostscriptFolderLabel "${LYX_LANG}" "&Cartella contenente gswin32c.exe"
|
||||||
|
|
||||||
|
LangString SummaryTitle "${LYX_LANG}" "Sommario del software"
|
||||||
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Siete pregati di installare i pacchetti scaricati e quindi lanciare nuovamente l'installazione di LyX."
|
||||||
|
LangString SummaryPathPrefix "${LYX_LANG}" "Verrà aggiunta una stringa 'path_prefix' al file 'lyxrc.defaults' contenente:"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "Non riesco a trovare $(^Name) nel registro$\r$\nI collegamenti sul desktop e nel menu Start non saranno rimossi."
|
||||||
|
LangString UnNotAdminLabel "${LYX_LANG}" "Spiacente! Occorrono privilegi da amministratore$\r$\nper disinstallare $(^Name)."
|
||||||
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "Siete sicuri di voler rimuovere completamente $(^Name) e tutti i suoi componenti?"
|
||||||
|
LangString UnRemoveSuccessLabel "${LYX_LANG}" "$(^Name) è stato rimosso con successo dal computer."
|
||||||
|
|
||||||
|
!undef LYX_LANG
|
||||||
|
|
||||||
|
!endif ; _LYX_LANGUAGES_ITALIAN_NSH_
|
@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Asociar la extesi
|
|||||||
LangString SecDesktopDescription "${LYX_LANG}" "Crear un icono de ${PRODUCT_NAME} en el escritorio."
|
LangString SecDesktopDescription "${LYX_LANG}" "Crear un icono de ${PRODUCT_NAME} en el escritorio."
|
||||||
|
|
||||||
LangString ModifyingConfigureFailed "${LYX_LANG}" "Error al intentar añadir 'path_prefix' durante la ejecución del programa de configuración"
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Error al intentar añadir 'path_prefix' durante la ejecución del programa de configuración"
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
LangString RunConfigureFailed "${LYX_LANG}" "Error al intentar ejecutar el programa de configuración"
|
LangString RunConfigureFailed "${LYX_LANG}" "Error al intentar ejecutar el programa de configuración"
|
||||||
|
|
||||||
LangString FinishPageMessage "${LYX_LANG}" "Enhorabuena! LyX ha sido instalado satisfactoriamente."
|
LangString FinishPageMessage "${LYX_LANG}" "Enhorabuena! LyX ha sido instalado satisfactoriamente."
|
||||||
@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Resumen de la instalaci
|
|||||||
LangString SummaryPleaseInstall "${LYX_LANG}" "Por favor, instale los programas descargados y vuelva a ejecutar el insralador de LyX una vez más."
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Por favor, instale los programas descargados y vuelva a ejecutar el insralador de LyX una vez más."
|
||||||
LangString SummaryPathPrefix "${LYX_LANG}" "Durante la instalación el siguiente 'path_prefix' se añadirá a 'lyxrc.defaults':"
|
LangString SummaryPathPrefix "${LYX_LANG}" "Durante la instalación el siguiente 'path_prefix' se añadirá a 'lyxrc.defaults':"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
LangString UnNotInRegistryLabel "${LYX_LANG}" "Imposible encontrar $(^Name) en el registro$\r$\nLos accesos rápidos del escritorio y del Menú de Inicio no serán eliminados."
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "Imposible encontrar $(^Name) en el registro$\r$\nLos accesos rápidos del escritorio y del Menú de Inicio no serán eliminados."
|
||||||
LangString UnNotAdminLabel "${LYX_LANG}" "Lo siento! Necesita privilegios de administrador$\r$\npara desinstalar $(^Name)."
|
LangString UnNotAdminLabel "${LYX_LANG}" "Lo siento! Necesita privilegios de administrador$\r$\npara desinstalar $(^Name)."
|
||||||
LangString UnReallyRemoveLabel "${LYX_LANG}" "¿Está seguro de que desea eliminar completamente $(^Name) y todos sus componentes?"
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "¿Está seguro de que desea eliminar completamente $(^Name) y todos sus componentes?"
|
||||||
|
@ -23,6 +23,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Skapa en association mellan pr
|
|||||||
LangString SecDesktopDescription "${LYX_LANG}" "En ${PRODUCT_NAME}ikon på skrivbordet."
|
LangString SecDesktopDescription "${LYX_LANG}" "En ${PRODUCT_NAME}ikon på skrivbordet."
|
||||||
|
|
||||||
LangString ModifyingConfigureFailed "${LYX_LANG}" "Misslyckades med att sätta 'path_prefix' i konfigurationsskriptet"
|
LangString ModifyingConfigureFailed "${LYX_LANG}" "Misslyckades med att sätta 'path_prefix' i konfigurationsskriptet"
|
||||||
|
LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
|
||||||
LangString RunConfigureFailed "${LYX_LANG}" "Misslyckades med att köra konfigurationsskriptet"
|
LangString RunConfigureFailed "${LYX_LANG}" "Misslyckades med att köra konfigurationsskriptet"
|
||||||
|
|
||||||
LangString FinishPageMessage "${LYX_LANG}" "Gratulerar! LyX har installerats framgångsrikt."
|
LangString FinishPageMessage "${LYX_LANG}" "Gratulerar! LyX har installerats framgångsrikt."
|
||||||
@ -76,6 +77,9 @@ LangString SummaryTitle "${LYX_LANG}" "Mjukvarusammanfattning"
|
|||||||
LangString SummaryPleaseInstall "${LYX_LANG}" "Var god installera först dina nedladdade filer och kör sedan LyXs installationsprogram igen."
|
LangString SummaryPleaseInstall "${LYX_LANG}" "Var god installera först dina nedladdade filer och kör sedan LyXs installationsprogram igen."
|
||||||
LangString SummaryPathPrefix "${LYX_LANG}" "En 'path_prefix'-sträng kommer att läggas till i filen 'lyxrc.defaults' innehållande följande:"
|
LangString SummaryPathPrefix "${LYX_LANG}" "En 'path_prefix'-sträng kommer att läggas till i filen 'lyxrc.defaults' innehållande följande:"
|
||||||
|
|
||||||
|
LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
|
||||||
|
LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
|
||||||
|
|
||||||
LangString UnNotInRegistryLabel "${LYX_LANG}" "${SwedishUnableToFind} $(^Name) i registret\r$\nGenvägar på skrivbordet och i startmeny kommer inte att tas bort."
|
LangString UnNotInRegistryLabel "${LYX_LANG}" "${SwedishUnableToFind} $(^Name) i registret\r$\nGenvägar på skrivbordet och i startmeny kommer inte att tas bort."
|
||||||
LangString UnNotAdminLabel "${LYX_LANG}" "Tyvärr! Du måste ha administratörsrättigheter för\r$\natt avinstallera $(^Name)."
|
LangString UnNotAdminLabel "${LYX_LANG}" "Tyvärr! Du måste ha administratörsrättigheter för\r$\natt avinstallera $(^Name)."
|
||||||
LangString UnReallyRemoveLabel "${LYX_LANG}" "Är du säker på att du verkligen vill fullständigt avinstallera $(^Name) och alla dess komponenter?"
|
LangString UnReallyRemoveLabel "${LYX_LANG}" "Är du säker på att du verkligen vill fullständigt avinstallera $(^Name) och alla dess komponenter?"
|
||||||
|
152
development/Win32/packaging/installer/lyx_utils.nsh
Normal file
152
development/Win32/packaging/installer/lyx_utils.nsh
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
;--------------------------------
|
||||||
|
|
||||||
|
!macro GetFileExtProg ProgPath AppExe Extension Subentry
|
||||||
|
|
||||||
|
ReadRegStr ${AppExe} HKCU \
|
||||||
|
|
||||||
|
"Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${Extension}\OpenWithList" \
|
||||||
|
"${Subentry}"
|
||||||
|
${if} ${AppExe} != ""
|
||||||
|
ReadRegStr ${ProgPath} HKLM \
|
||||||
|
"Software\Microsoft\Windows\CurrentVersion\App Paths\${AppExe}" "Path"
|
||||||
|
;remove the "\" at the end
|
||||||
|
StrCpy $0 ${ProgPath} "" -1
|
||||||
|
${if} $0 == "\"
|
||||||
|
StrCpy ${ProgPath} ${ProgPath} -1
|
||||||
|
${endif}
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
;--------------------------------
|
||||||
|
|
||||||
|
!macro FileCheck Result FileName FilePath
|
||||||
|
Push $0
|
||||||
|
Push $1
|
||||||
|
StrCpy $0 ""
|
||||||
|
StrCpy $1 ""
|
||||||
|
|
||||||
|
FileOpen $0 "${Filepath}\${FileName}" r
|
||||||
|
|
||||||
|
${if} $0 = ""
|
||||||
|
StrCpy $1 "False"
|
||||||
|
${Else}
|
||||||
|
StrCpy $1 "True"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
FileClose $0
|
||||||
|
StrCpy ${Result} $1
|
||||||
|
|
||||||
|
Pop $1
|
||||||
|
Pop $0
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
|
||||||
|
!macro TranslateLangCode LangNme LangISOCode
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1030
|
||||||
|
StrCpy ${LangNme} "Dansk"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1031
|
||||||
|
StrCpy ${LangNme} "Deutsch"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1033
|
||||||
|
StrCpy ${LangNme} "English"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1034
|
||||||
|
StrCpy ${LangNme} "Español"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1036
|
||||||
|
StrCpy ${LangNme} "Français"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1040
|
||||||
|
StrCpy ${LangNme} "Italiano"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1043
|
||||||
|
StrCpy ${LangNme} "Nederlands"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${LangISOCode} = 1053
|
||||||
|
StrCpy ${LangNme} "Svenska"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
!macroend
|
||||||
|
|
||||||
|
|
||||||
|
!macro GetLangCode LangCde Name
|
||||||
|
|
||||||
|
${if} ${Name} == "Dansk"
|
||||||
|
StrCpy ${LangCde} "da_DK"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Deutsch"
|
||||||
|
StrCpy ${LangCde} "de_DE"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "English"
|
||||||
|
StrCpy ${LangCde} "en_EN"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Español"
|
||||||
|
StrCpy ${LangCde} "es_ES"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Euskara"
|
||||||
|
StrCpy ${LangCde} "eu_EU"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Français"
|
||||||
|
StrCpy ${LangCde} "fr_FR"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Italiano"
|
||||||
|
StrCpy ${LangCde} "it_IT"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Nederlands"
|
||||||
|
StrCpy ${LangCde} "nl_NL"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Norsk"
|
||||||
|
StrCpy ${LangCde} "no_NO"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Nynorsk"
|
||||||
|
StrCpy ${LangCde} "no_NY"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Polski"
|
||||||
|
StrCpy ${LangCde} "pl_PL"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Româna"
|
||||||
|
StrCpy ${LangCde} "ro_RO"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Russian"
|
||||||
|
StrCpy ${LangCde} "ru_RU"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Slovenský"
|
||||||
|
StrCpy ${LangCde} "sk_SK"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Slovenšcina"
|
||||||
|
StrCpy ${LangCde} "sl_SI"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Suomi"
|
||||||
|
StrCpy ${LangCde} "fi_FI"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
${if} ${Name} == "Türkçe"
|
||||||
|
StrCpy ${LangCde} "tr_TR"
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
!macroend
|
@ -33,7 +33,7 @@ DTL_DIR=dtl
|
|||||||
DT2DV="$DTL_DIR/dt2dv.exe"
|
DT2DV="$DTL_DIR/dt2dv.exe"
|
||||||
DV2DT="$DTL_DIR/dv2dt.exe"
|
DV2DT="$DTL_DIR/dv2dt.exe"
|
||||||
|
|
||||||
LYX_INSTALL_DIR="/j/Programs/LyX"
|
LYX_INSTALL_DIR="../../../build/installprefix"
|
||||||
|
|
||||||
# Change this to 'mv -f' when you are confident that
|
# Change this to 'mv -f' when you are confident that
|
||||||
# the various sed scripts are working correctly.
|
# the various sed scripts are working correctly.
|
||||||
|
Loading…
Reference in New Issue
Block a user