4 # create the PathPrefix
5 StrCpy $PathPrefix "$INSTDIR\bin"
6 ${if} $PythonPath != ""
7 StrCpy $PathPrefix "$PathPrefix;$PythonPath"
10 StrCpy $PathPrefix "$PathPrefix;$LatexPath"
12 ${if} $GhostscriptPath != ""
13 StrCpy $PathPrefix "$PathPrefix;$GhostscriptPath"
15 ${if} $ImageMagickPath != ""
16 StrCpy $PathPrefix "$PathPrefix;$ImageMagickPath"
19 StrCpy $PathPrefix "$PathPrefix;$PSVPath"
21 ${if} $EditorPath != ""
22 StrCpy $PathPrefix "$PathPrefix;$EditorPath"
24 ${if} $ImageEditorPath != ""
25 StrCpy $PathPrefix "$PathPrefix;$ImageEditorPath"
28 StrCpy $PathPrefix "$PathPrefix;$SVGPath"
31 StrCpy $PathPrefix "$PathPrefix;$WMFPath"
34 # Set the path prefix in lyxrc.dist
36 Delete "$INSTDIR\Resources\lyxrc.dist"
37 FileOpen $R1 "$INSTDIR\Resources\lyxrc.dist" w
38 # set some general things
39 FileWrite $R1 '\screen_zoom "120"$\r$\n\
40 \accept_compound true$\r$\n\
41 \gui_language $LangNameLyX$\r$\n'
42 ${if} "$PathPrefix" != ""
43 FileWrite $R1 '\path_prefix "$PathPrefix"$\r$\n'
45 # if Acrobat or Adobe Reader is used
46 ${if} $Acrobat == "Yes" # used for Acrobat / Adobe Reader
47 FileWrite $R1 '\format "pdf3" "pdf" "PDF (dvipdfm)" "m" "pdfview" "" "document,vector"$\r$\n\
48 \format "pdf2" "pdf" "PDF (pdflatex)" "F" "pdfview" "" "document,vector"$\r$\n\
49 \format "pdf" "pdf" "PDF (ps2pdf)" "P" "pdfview" "" "document,vector"$\r$\n'
51 # if a SVG to PDF converter ws found (e.g. Inkscape)
53 FileWrite $R1 '\format "svg" "svg" "SVG" "" "inkscape --file=$$$$i" "inkscape --file=$$$$i" "vector"$\r$\n\
54 \converter "svg" "png" "inkscape --without-gui --file=$$$$i --export-png=$$$$o" ""$\r$\n\
55 \converter "svg" "pdf" "inkscape --file=$$$$p/$$$$i --export-area-drawing --without-gui --export-pdf=$$$$p/$$$$o" ""$\r$\n\
56 \converter "svg" "eps" "inkscape --file=$$$$p/$$$$i --export-area-drawing --without-gui --export-eps=$$$$p/$$$$o" ""'
60 MessageBox MB_OK|MB_ICONEXCLAMATION "$(ModifyingConfigureFailed)"
64 ${if} $CreateFileAssociations == "true"
65 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "${PRODUCT_EXE}"
67 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "RootKey" "$ProductRootKey"
68 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME} ${PRODUCT_VERSION}"
69 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString" "${PRODUCT_UNINSTALL_EXE}"
70 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayIcon" "${PRODUCT_EXE}"
71 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
72 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
73 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLUpdateInfo" "${PRODUCT_INFO_URL}"
74 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_ABOUT_URL}"
75 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "Publisher" "LyX Team"
76 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "HelpLink" "${PRODUCT_HELP_LINK}"
77 WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoModify" 0x00000001
78 WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoRepair" 0x00000001
80 # create start menu entry
81 SetOutPath "$INSTDIR\bin"
82 CreateDirectory "$SMPROGRAMS\$StartmenuFolder"
83 CreateShortCut "$SMPROGRAMS\$StartmenuFolder\${PRODUCT_NAME}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}"
85 CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Uninstall.lnk" "${PRODUCT_UNINSTALL_EXE}"
88 ${if} $CreateDesktopIcon == "true"
89 SetOutPath "$INSTDIR\bin"
90 CreateShortCut "$DESKTOP\LyX ${PRODUCT_VERSION}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}"
93 # register the extension .lyx
94 ${if} $CreateFileAssociations == "true"
95 WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" # special entry to test if they were registered by this LyX version
96 # write informations about file type
97 WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}" "" "${PRODUCT_NAME} Document"
98 WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\DefaultIcon" "" "${PRODUCT_EXE}"
99 WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\Shell\open\command" "" '"${PRODUCT_BAT}" "%1"'
100 # write informations about file extensions
101 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}" "" "${PRODUCT_REGNAME}"
102 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}" "Content Type" "${PRODUCT_MIME_TYPE}"
104 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}13" "" "${PRODUCT_REGNAME}"
105 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}13" "Content Type" "${PRODUCT_MIME_TYPE}"
107 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}14" "" "${PRODUCT_REGNAME}"
108 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}14" "Content Type" "${PRODUCT_MIME_TYPE}"
109 # .lyx15 don't set this, because this is designed to be opened with LyX 1.5.x
110 #WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}15" "" "${PRODUCT_REGNAME}"
111 #WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}15" "Content Type" "${PRODUCT_MIME_TYPE}"
112 # .lyx16 don't set this, because this is designed to be opened with LyX 1.6.x
113 #WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}16" "" "${PRODUCT_REGNAME}"
114 #WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}16" "Content Type" "${PRODUCT_MIME_TYPE}"
116 System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
119 # delete unnecessary files
120 ${if} $DelPythonFiles == "True"
121 Delete $INSTDIR\bin\python.exe
122 Delete $INSTDIR\bin\python26.dll
123 Delete $INSTDIR\bin\Python-License.txt
124 RMDir /r $INSTDIR\bin\Lib
125 RMDir /r $INSTDIR\bin\DLLs
127 RMDir /r $INSTDIR\external
129 # create a bat-file to start configure in a console window so that the user see the progress
130 # of the configuration and to have a signal when the configuration is ready to start LyX
131 # this is important when LyX is installed together with MiKTeX or when LyX is installed for the first
132 # time on a computer, because the installation of missing LaTeX-files required by LyX could last minutes
133 # a batch file is needed because simply calling
134 # ExecWait '"$PythonPath\python.exe" "$INSTDIR\Resources\configure.py"'
135 # creates the config files in $PythonPath
136 ${if} $PythonPath == ""
137 StrCpy $PythonPath "$INSTDIR\bin"
139 StrCpy $1 $INSTDIR 2 # get drive letter
140 FileOpen $R1 "$INSTDIR\Resources\configLyX.bat" w
141 FileWrite $R1 '$1$\r$\n\
142 cd $INSTDIR\Resources\$\r$\n\
143 "$PythonPath\python.exe" configure.py'