]> git.lyx.org Git - features.git/commitdiff
install and configure application/printer for metafile (EMF/WMF) to EPS conversion
authorJoost Verburg <joostverburg@users.sourceforge.net>
Sat, 5 Apr 2008 19:12:37 +0000 (19:12 +0000)
committerJoost Verburg <joostverburg@users.sourceforge.net>
Sat, 5 Apr 2008 19:12:37 +0000 (19:12 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24130 a592a061-630c-0410-9148-cb99ea01b6c8

development/Win32/packaging/installer/include/declarations.nsh
development/Win32/packaging/installer/include/filelist.nsh
development/Win32/packaging/installer/include/init.nsh
development/Win32/packaging/installer/settings.nsh
development/Win32/packaging/installer/setup/configure.nsh
development/Win32/packaging/installer/setup/install.nsh
development/Win32/packaging/installer/setup/uninstall.nsh

index 2ffe6c3a7aa9974296802ee624b940ad26098cac..a7bd3b6b9bc95855286e76391ac871403f6327b0 100644 (file)
@@ -63,6 +63,8 @@ Var SizeGhostscript
 
 Var LangName
 Var LangISOCode
+
+Var PrinterConf
   
 #--------------------------------
 # Include standard functions
index 67483a4f1fca959c9254c652bfb8885f627efed7..07184ff640becc754086975498042528c0aa0f9c 100644 (file)
@@ -297,3 +297,17 @@ Lists of files to include in the installer
   ${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
index 19e533e0669108dee6b918546143fab96f421709..6e4685a83479a7fcdd063663fa5db04d23939f59 100644 (file)
@@ -9,6 +9,16 @@ Initialization function
 #--------------------------------
 # 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}
@@ -17,6 +27,7 @@ Function .onInit
     Quit
   ${EndIf}
 
+  !insertmacro PRINTER_INIT
   !insertmacro MULTIUSER_INIT
   
   ${unless} ${silent}
@@ -34,6 +45,7 @@ FunctionEnd
 
 Function un.onInit
 
+  !insertmacro PRINTER_INIT
   !insertmacro MULTIUSER_UNINIT
 
 FunctionEnd
index c5afcc37f65844cdb4a8e03e87c8c40f169b9363..a9fa114986e190bd0bc330739545b4af904e515e 100644 (file)
@@ -52,6 +52,8 @@ SetCompressor /SOLID lzma
 !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
index 559dac228e83165a546020589178fd8b112a8aa7..3ca1dc99b2b49be83d4ab4a8dfb0b83348a74af7 100644 (file)
@@ -138,6 +138,31 @@ Section -dvipost
 
 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
 
index 724bd78163fdbc4b817b5c42fea03f4c60731556..e540dbd41d052f43e364d6a1d67ce97af6e45a0a 100644 (file)
@@ -87,6 +87,14 @@ Section -ProgramFiles SecProgramFiles
   !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}"
 
index 6ba0246c99401031d54ebd17227348d35f46adec..1e903de54a4436dfb34cd7280c0ecec1473e7f23 100644 (file)
@@ -46,7 +46,13 @@ Section "un.Program Files" un.SecProgramFiles
   # 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
   
@@ -78,6 +84,17 @@ Section "un.Program Files" un.SecProgramFiles
      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