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 # Set a path prefix in lyxrc.dist
30 ${if} "$PathPrefix" != ""
31 Delete "$INSTDIR\Resources\lyxrc.dist"
32 FileOpen $R1 "$INSTDIR\Resources\lyxrc.dist" w
33 FileWrite $R1 '\path_prefix "$PathPrefix"$\r$\n'
36 MessageBox MB_OK|MB_ICONEXCLAMATION "$(ModifyingConfigureFailed)"
39 # Create a batch file to start LyX with the environment variables set
41 Delete "${PRODUCT_BAT}"
42 FileOpen $R1 "${PRODUCT_BAT}" w
43 FileWrite $R1 '@echo off$\r$\n\
44 SET LANG=$LangCode$\r$\n\
45 SET AIK_DATA_DIR=${AiksaurusDir}$\r$\n\
46 start "${PRODUCT_NAME}" "${LAUNCHER_NAME}" %*$\r$\n'
49 MessageBox MB_OK|MB_ICONEXCLAMATION "$(CreateCmdFilesFailed)"
51 # set the preferences file
52 # (having one preferences file that is modified to fit the needs is possible but not easy to maintain
53 # therefore simply delete the files that shouldn't be used)
54 # if not Acrobat or Adobe Reader is used
55 ${if} $Acrobat == "None" # clear the entries in the preferences file that define PDFViewWin7 or 8 as viewer
56 Rename "$INSTDIR\Resources\preferencesGSview" "$INSTDIR\Resources\preferences"
57 Delete "$INSTDIR\Resources\preferences7"
58 Delete "$INSTDIR\Resources\preferences8"
60 # if Acrobat or Adobe Reader is used
61 ${if} $Acrobat == "7" # used for all Acrobat (Adobe Reader) versions <= 7
62 Rename "$INSTDIR\Resources\preferences7" "$INSTDIR\Resources\preferences"
63 Delete "$INSTDIR\Resources\preferences8"
64 Delete "$INSTDIR\Resources\preferencesGSview"
67 Rename "$INSTDIR\Resources\preferences8" "$INSTDIR\Resources\preferences"
68 Delete "$INSTDIR\Resources\preferences7"
69 Delete "$INSTDIR\Resources\preferencesGSview"
73 ${if} $CreateFileAssociations == "true"
74 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "${PRODUCT_EXE}"
76 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "RootKey" "$ProductRootKey"
77 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME} ${PRODUCT_VERSION}"
78 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString" "${PRODUCT_UNINSTALL_EXE}"
79 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayIcon" "${PRODUCT_EXE}"
80 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
81 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "StartMenu" "$SMPROGRAMS\$StartmenuFolder"
82 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLUpdateInfo" "${PRODUCT_INFO_URL}"
83 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_ABOUT_URL}"
84 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "Publisher" "LyX Team"
85 WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "HelpLink" "${PRODUCT_HELP_LINK}"
86 WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoModify" 0x00000001
87 WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoRepair" 0x00000001
89 # create start menu entry
90 SetOutPath "$INSTDIR\bin"
91 CreateDirectory "$SMPROGRAMS\$StartmenuFolder"
92 CreateShortCut "$SMPROGRAMS\$StartmenuFolder\${PRODUCT_NAME}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}"
94 CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Uninstall.lnk" "${PRODUCT_UNINSTALL_EXE}"
97 ${if} $CreateDesktopIcon == "true"
98 SetOutPath "$INSTDIR\bin"
99 CreateShortCut "$DESKTOP\LyX ${PRODUCT_VERSION}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}"
102 # register the extension .lyx
103 ${if} $CreateFileAssociations == "true"
104 # write informations about file type
105 WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}" "" "${PRODUCT_NAME} Document"
106 WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\DefaultIcon" "" "${PRODUCT_EXE}"
107 WriteRegStr SHCTX "Software\Classes\${PRODUCT_REGNAME}\Shell\open\command" "" '"${LAUNCHER_EXE}" "%1"'
108 # write informations about file extensions
109 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}" "" "${PRODUCT_REGNAME}"
110 WriteRegStr SHCTX "Software\Classes\${PRODUCT_EXT}" "Content Type" "${PRODUCT_MIME_TYPE}"
112 System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
115 # create the LyX Application Data folder for all users
116 # this folder is automatically created by LyX when it is first started but we want to start LyX with a specific session file,
117 # so we create this folder before LyX starts and copy there the session file
118 Call CreateAppPathSub # function from LyXUtils.nsh