Var LangName
Var LangISOCode
+
+Var PrinterConf
#--------------------------------
# Include standard functions
${FILE}Console.dll"
!macroend
+
+!macro FileListMetaFile2EPS COMMAND DIRECTORY
+
+ ${FILE}metafile2eps.exe"
+
+!macroend
+
+!macro FileListPSPrinter COMMAND DIRECTORY
+
+ ${FILE}metafile2eps.inf"
+ ${FILE}metafile2eps.ppd"
+ ${FILE}metafile2eps.dat"
+
+!macroend
#--------------------------------
# Installer initialization
+!macro PRINTER_INIT
+
+ ${If} ${AtLeastWinVista}
+ StrCpy $PrinterConf "printui.exe"
+ ${Else}
+ StrCpy $PrinterConf "rundll32.exe printui.dll,PrintUIEntry"
+ ${EndIf}
+
+!macroend
+
Function .onInit
${IfNot} ${IsNT}
Quit
${EndIf}
+ !insertmacro PRINTER_INIT
!insertmacro MULTIUSER_INIT
${unless} ${silent}
Function un.onInit
+ !insertmacro PRINTER_INIT
!insertmacro MULTIUSER_UNINIT
FunctionEnd
!define FILES_DVIPOST "${FILES_DEPS}\dvipost"\r
!define FILES_DVIPOST_PKG "${FILES_DVIPOST}"\r
!define FILES_PDFTOOLS "${FILES_DEPS}\pdftools"\r
+!define FILES_METAFILE2EPS "${FILES_DEPS}\metafile2eps"\r
+!define FILES_PSPRINTER "${FILES_DEPS}\metafile2eps\PSPrinter"\r
\r
!define FILES_QT "${FILES_DEPS}\qt-4"\r
!define FILES_ASPELLDATA "${FILES_DEPS}\aspell"\r
SectionEnd
+
+#--------------------------------
+# Postscript printer for metafile to EPS converter
+
+Section -PSPrinter
+
+ ${If} $MultiUser.Privileges != "Admin"
+ ${OrIf} $MultiUser.Privileges != "Power"
+
+ # Delete printer
+ ExecWait '$PrinterConf /q /dl /n "Metafile to EPS Converter"'
+
+ # Delete printer driver
+ ExecWait '$PrinterConf /q /dd /m "Metafile to EPS Converter"'
+
+ # Install printer and driver
+ ExecWait '$PrinterConf /q /if /f "$INSTDIR\PSPrinter\metafile2eps.inf" /r "FILE:" /m "Metafile to EPS Converter"'
+
+ # Restore DEVMODE with proper settings
+ ExecWait '$PrinterConf /q /Sr /n "Metafile to EPS Converter" /a "$INSTDIR\PSPrinter\metafile2eps.dat" g'
+
+ ${EndIf}
+
+SectionEnd
+
#--------------------------------
# Desktop shortcut
!insertmacro FileListNSISPluginsStandard File "${NSISDIR}\Plugins\"
!insertmacro FileListNSISPlugins File "${FILES_NSISPLUGINS}\"
+ # Metafile to EPS Converter
+ SetOutPath "$INSTDIR\bin"
+ !insertmacro FileListMetaFile2EPS File "${FILES_METAFILE2EPS}\"
+
+ # Postscript printer for metafile to EPS converter
+ SetOutPath "$INSTDIR\PSPrinter"
+ !insertmacro FileListPSPrinter File "${FILES_PSPRINTER}\"
+
# Create uninstaller
WriteUninstaller "$INSTDIR\${SETUP_UNINSTALLER}"
# Helper DLLs for NSIS-based tools
!insertmacro FileListNSISPluginsStandard Delete "$INSTDIR\bin\"
- !insertmacro FileListNSISPlugins Delete "$INSTDIR\bin\"
+ !insertmacro FileListNSISPlugins Delete "$INSTDIR\bin\"
+
+ # Metafile to EPS Converter
+ !insertmacro FileListMetaFile2EPS Delete "$INSTDIR\bin\"
+
+ # Postscript printer for metafile to EPS converter
+ !insertmacro FileListPSPrinter Delete "$INSTDIR\PSPrinter\"
# Shortcuts
DeleteRegKey SHELL_CONTEXT "Software\Classes\${APP_EXT}"
${EndIf}
+ ${If} $MultiUser.Privileges != "Admin"
+ ${OrIf} $MultiUser.Privileges != "Power"
+
+ # Delete Postscript printer for metafile o EPS conversion
+ ExecWait '$PrinterConf /q /dl /n "Metafile to EPS Converter"'
+
+ # Also delete printer driver
+ ExecWait '$PrinterConf /q /dd /m "Metafile to EPS Converter"'
+
+ ${EndIf}
+
SectionEnd
Section "un.User Preferences and Custom Files" un.SecUserFiles