diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 00:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 00:06:44 +0000 |
commit | 44cf8ec67278bd1ab6c7f83a9993f7a5686a9541 (patch) | |
tree | 5eec4b0d1a3f163d279c3c27c03324ba49fa235a /zbar.nsi | |
parent | Initial commit. (diff) | |
download | zbar-upstream.tar.xz zbar-upstream.zip |
Adding upstream version 0.23.93.upstream/0.23.93upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'zbar.nsi')
-rw-r--r-- | zbar.nsi | 289 |
1 files changed, 289 insertions, 0 deletions
diff --git a/zbar.nsi b/zbar.nsi new file mode 100644 index 0000000..a5da39b --- /dev/null +++ b/zbar.nsi @@ -0,0 +1,289 @@ +#------------------------------------------------------------------------ +# Copyright 2009 (c) Jeff Brown <spadix@users.sourceforge.net> +# +# This file is part of the ZBar Bar Code Reader. +# +# The ZBar Bar Code Reader is free software; you can redistribute it +# and/or modify it under the terms of the GNU Lesser Public License as +# published by the Free Software Foundation; either version 2.1 of +# the License, or (at your option) any later version. +# +# The ZBar Bar Code Reader is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser Public License for more details. +# +# You should have received a copy of the GNU Lesser Public License +# along with the ZBar Bar Code Reader; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA +# +# http://sourceforge.net/projects/zbar +#------------------------------------------------------------------------ + +!ifndef VERSION + !define VERSION "test" +!endif +!ifndef PREFIX + !define PREFIX "\usr\mingw32\usr" +!endif + +!define ZBAR_KEY "Software\ZBar" +!define UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\ZBar" + +OutFile zbar-${VERSION}-setup.exe + +SetCompressor /SOLID bzip2 + +InstType "Typical" +InstType "Full" + +InstallDir $PROGRAMFILES\ZBar +InstallDirRegKey HKLM ${ZBAR_KEY} "InstallDir" + +!define SMPROG_ZBAR "$SMPROGRAMS\ZBar Bar Code Reader" + +Icon ${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico +UninstallIcon ${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico + +# do we need admin to install uninstall info? +#RequestExecutionLevel admin + + +!include "MUI2.nsh" +!include "Memento.nsh" + + +Name "ZBar" +Caption "ZBar ${VERSION} Setup" + + +!define MEMENTO_REGISTRY_ROOT HKLM +!define MEMENTO_REGISTRY_KEY ${UNINSTALL_KEY} + +!define MUI_ABORTWARNING +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +!define MUI_ICON ${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico +!define MUI_UNICON ${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico + +!define MUI_WELCOMEFINISHPAGE_BITMAP ${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp +!define MUI_UNWELCOMEFINISHPAGE_BITMAP ${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp + +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP ${NSISDIR}\Contrib\Graphics\Header\orange.bmp +!define MUI_HEADERIMAGE_UNBITMAP ${NSISDIR}\Contrib\Graphics\Header\orange-uninstall.bmp + +!define MUI_WELCOMEPAGE_TITLE "Welcome to the ZBar ${VERSION} Setup Wizard" +!define MUI_WELCOMEPAGE_TEXT \ + "This wizard will guide you through the installation of the \ + ZBar Bar Code Reader version ${VERSION}." + +!insertmacro MUI_PAGE_WELCOME + +!insertmacro MUI_PAGE_LICENSE "share\doc\zbar\LICENSE.md" + +!define MUI_COMPONENTSPAGE_SMALLDESC +!define MUI_COMPONENTSPAGE_CHECKBITMAP ${NSISDIR}\Contrib\Graphics\Checks\simple-round2.bmp + +!insertmacro MUI_PAGE_COMPONENTS +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES + +Function ShowREADME + Exec '"notepad.exe" "$INSTDIR\README-windows.md"' +FunctionEnd + +!define MUI_FINISHPAGE_NOREBOOTSUPPORT +!define MUI_FINISHPAGE_SHOWREADME +!define MUI_FINISHPAGE_SHOWREADME_FUNCTION ShowREADME +!define MUI_FINISHPAGE_LINK \ + "Visit the ZBar website for the latest news, FAQs and support" +!define MUI_FINISHPAGE_LINK_LOCATION "https://github.com/mchehab/zbar" + +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +!insertmacro MUI_LANGUAGE "English" + +Section "ZBar Core Files (required)" SecCore + DetailPrint "Installing ZBar Program and Library..." + SectionIn 1 2 RO + + SetOutPath $INSTDIR + File share\doc\zbar\README-windows.md + File share\doc\zbar\NEWS.md + File share\doc\zbar\TODO.md + File share\doc\zbar\COPYING + File share\doc\zbar\LICENSE.md + + # emit a batch file to add the install directory to the path + FileOpen $0 zbarvars.bat w + FileWrite $0 "@rem Add the ZBar installation directory to the path$\n" + FileWrite $0 "@rem so programs may be run from the command prompt$\n" + FileWrite $0 "@set PATH=%PATH%;$INSTDIR\bin$\n" + FileWrite $0 "@cd /D $INSTDIR$\n" + FileWrite $0 "@echo For basic command instructions type:$\n" + FileWrite $0 "@echo zbarcam --help$\n" + FileWrite $0 "@echo zbarimg --help$\n" + FileWrite $0 "@echo Try running:$\n" + FileWrite $0 "@echo zbarimg -d examples\barcode.png$\n" + FileClose $0 + + SetOutPath $INSTDIR\bin + File bin\libzbar-0.dll + File bin\zbarimg.exe + File bin\zbarcam.exe + + # dependencies + File ${PREFIX}\bin\zlib1.dll + File ${PREFIX}\bin\libjpeg-7.dll + File ${PREFIX}\bin\libpng12-0.dll + File ${PREFIX}\bin\libtiff-3.dll + File ${PREFIX}\bin\libxml2-2.dll + File ${PREFIX}\bin\libiconv-2.dll + File ${PREFIX}\bin\libMagickCore-2.dll + File ${PREFIX}\bin\libMagickWand-2.dll + + FileOpen $0 zbarcam.bat w + FileWrite $0 "@set PATH=%PATH%;$INSTDIR\bin$\n" + FileWrite $0 "@echo This is the zbarcam output window.$\n" + FileWrite $0 "@echo Hold a bar code in front of the camera (make sure it's in focus!)$\n" + FileWrite $0 "@echo and decoded results will appear below.$\n" + FileWrite $0 "@echo.$\n" + FileWrite $0 "@echo Initializing camera, please wait...$\n" + FileWrite $0 "@echo.$\n" + FileWrite $0 "@zbarcam.exe --prescale=640x480$\n" + FileWrite $0 "@if errorlevel 1 pause$\n" + FileClose $0 + + SetOutPath $INSTDIR\doc + File share\doc\zbar\html\* + + SetOutPath $INSTDIR\examples + File share\zbar\barcode.png +SectionEnd + +#SectionGroup "Start Menu and Desktop Shortcuts" SecShortcuts + Section "Start Menu Shortcuts" SecShortcutsStartMenu + DetailPrint "Creating Start Menu Shortcuts..." + SectionIn 1 2 + SetOutPath "${SMPROG_ZBAR}" + #CreateShortCut "${SMPROG_ZBAR}\ZBar.lnk" "$INSTDIR\ZBar.exe" + CreateDirectory "${SMPROG_ZBAR}" + CreateShortCut "zbarcam.lnk" "$\"$INSTDIR\bin\zbarcam.bat$\"" "" \ + "$INSTDIR\bin\zbarcam.exe" + ExpandEnvStrings $0 '%comspec%' + CreateShortCut "ZBar Command Prompt.lnk" \ + $0 "/k $\"$\"$INSTDIR\zbarvars.bat$\"$\"" $0 + CreateShortCut "Command Reference.lnk" \ + "$\"$INSTDIR\doc\ref.html$\"" + SectionEnd + +# Section "Desktop Shortcut" SecShortcutsDesktop +# DetailPrint "Creating Desktop Shortcut..." +# SectionIn 1 2 +# SetOutPath $INSTDIR +# #CreateShortCut "$DESKTOP\ZBar.lnk" "$INSTDIR\ZBar.exe" +# SectionEnd +#SectionGroupEnd + +Section "Development Headers and Libraries" SecDevel + DetailPrint "Installing ZBar Development Files..." + SectionIn 2 + + SetOutPath $INSTDIR\include + File include\zbar.h + + SetOutPath $INSTDIR\include\zbar + File include\zbar\Video.h + File include\zbar\Exception.h + File include\zbar\Symbol.h + File include\zbar\Image.h + File include\zbar\ImageScanner.h + File include\zbar\Window.h + File include\zbar\Processor.h + File include\zbar\Decoder.h + File include\zbar\Scanner.h + + SetOutPath $INSTDIR\lib + File lib\libzbar-0.def + File lib\libzbar-0.lib + File lib\libzbar.dll.a + + SetOutPath $INSTDIR\examples + File share\zbar\scan_image.cpp + File share\zbar\scan_image.vcproj +SectionEnd + +Section -post + DetailPrint "Creating Registry Keys..." + SetOutPath $INSTDIR + WriteRegStr HKLM ${ZBAR_KEY} "InstallDir" $INSTDIR + + # register uninstaller + WriteRegStr HKLM ${UNINSTALL_KEY} "UninstallString" \ + "$\"$INSTDIR\uninstall.exe$\"" + WriteRegStr HKLM ${UNINSTALL_KEY} "QuietUninstallString" \ + "$\"$INSTDIR\uninstall.exe$\" /S" + WriteRegStr HKLM ${UNINSTALL_KEY} "InstallLocation" "$\"$INSTDIR$\"" + + WriteRegStr HKLM ${UNINSTALL_KEY} "DisplayName" "ZBar Bar Code Reader" + WriteRegStr HKLM ${UNINSTALL_KEY} "DisplayIcon" "$INSTDIR\bin\zbarimg.exe,0" + WriteRegStr HKLM ${UNINSTALL_KEY} "DisplayVersion" "${VERSION}" + + WriteRegStr HKLM ${UNINSTALL_KEY} "URLInfoAbout" "http://zbar.sf.net/" + WriteRegStr HKLM ${UNINSTALL_KEY} "HelpLink" "http://zbar.sf.net/" + WriteRegDWORD HKLM ${UNINSTALL_KEY} "NoModify" "1" + WriteRegDWORD HKLM ${UNINSTALL_KEY} "NoRepair" "1" + + DetailPrint "Generating Uninstaller..." + WriteUninstaller $INSTDIR\uninstall.exe +SectionEnd + + +Section Uninstall + DetailPrint "Uninstalling ZBar Bar Code Reader.." + + DetailPrint "Deleting Files..." + Delete $INSTDIR\examples\barcode.png + Delete $INSTDIR\examples\scan_image.cpp + Delete $INSTDIR\examples\scan_image.vcproj + RMDir $INSTDIR\examples + RMDir /r $INSTDIR\include + RMDir /r $INSTDIR\doc + RMDir /r $INSTDIR\lib + RMDir /r $INSTDIR\bin + Delete $INSTDIR\README-windows.md + Delete $INSTDIR\NEWS.md + Delete $INSTDIR\TODO.md + Delete $INSTDIR\COPYING + Delete $INSTDIR\LICENSE.md + Delete $INSTDIR\zbarvars.bat + Delete $INSTDIR\uninstall.exe + RMDir $INSTDIR + + DetailPrint "Removing Shortcuts..." + RMDir /r "${SMPROG_ZBAR}" + + DetailPrint "Deleting Registry Keys..." + DeleteRegKey HKLM ${ZBAR_KEY} + DeleteRegKey HKLM ${UNINSTALL_KEY} +SectionEnd + + +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} \ + "The core files required to use the bar code reader" +# !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} \ +# "Adds icons to your start menu and/or your desktop for easy access" + !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcutsStartMenu} \ + "Adds shortcuts to your start menu" +# !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcutsDesktop} \ +# "Adds an icon on your desktop" + !insertmacro MUI_DESCRIPTION_TEXT ${SecDevel} \ + "Optional files used to develop other applications using ZBar" +!insertmacro MUI_FUNCTION_DESCRIPTION_END |