]> sigrok.org Git - sigrok-cli.git/blobdiff - contrib/sigrok-cli_cross.nsi.in
NSIS installer fix for Windows
[sigrok-cli.git] / contrib / sigrok-cli_cross.nsi.in
index d55f91916e4bdc3bd6215470f887a8dcbd1aff91..ba895a94fb4cc71b3d57d92ffcd6cd7a10c82893 100644 (file)
@@ -54,7 +54,7 @@ RequestExecutionLevel admin
 # --- MUI interface configuration ---------------------------------------------
 
 # Use the following icon for the installer EXE file.
-!define MUI_ICON "sigrok-logo-notext.ico"
+!define MUI_ICON "@top_srcdir@/contrib/sigrok-logo-notext.ico"
 
 # Show a nice image at the top of each installer page.
 !define MUI_HEADERIMAGE
@@ -70,19 +70,9 @@ RequestExecutionLevel admin
 !define MUI_LICENSEPAGE_BUTTON $(^NextBtn)
 !define MUI_LICENSEPAGE_TEXT_BOTTOM "Click Next to continue."
 
-# File name of the Python installer MSI file.
-!define PY_INST "python-3.2.3.msi"
-
-# Standard install path of the Python installer (do not change!).
-!define PY_BIN "c:\Python32"
-
 # Path where the cross-compiled sigrok tools and libraries are located.
 # Change this to where-ever you installed libsigrok.a and so on.
-!define CROSS "$%HOME%/sr_mingw"
-
-# Path where the cross-compiled MXE tools and libraries are located.
-# Change this to where-ever you installed MXE (and the files it built).
-!define MXE "$%HOME%/mxe-git/usr/i686-pc-mingw32"
+!define CROSS "@prefix@"
 
 
 # --- MUI pages ---------------------------------------------------------------
@@ -91,7 +81,7 @@ RequestExecutionLevel admin
 !insertmacro MUI_PAGE_WELCOME
 
 # Show the license of the project.
-!insertmacro MUI_PAGE_LICENSE "../COPYING"
+!insertmacro MUI_PAGE_LICENSE "@top_srcdir@/COPYING"
 
 # Show a screen which allows the user to select which components to install.
 !insertmacro MUI_PAGE_COMPONENTS
@@ -129,18 +119,19 @@ Section "@PACKAGE_NAME@ (required)" Section1
        SetOutPath "$INSTDIR"
 
        # License file.
-       File "../COPYING"
+       File "@top_srcdir@/COPYING"
 
-       # sigrok-cli.
+       # sigrok-cli.exe.
        File "${CROSS}/bin/@PACKAGE_NAME@.exe"
 
-       # libusb0.dll (needed for libusb-0.1).
-       File "${CROSS}/libusb0.dll"
-
-       # Zadig (used for installing libusb-win32 and WinUSB drivers).
+       # Zadig (used for installing WinUSB drivers).
        File "${CROSS}/zadig.exe"
        File "${CROSS}/zadig_xp.exe"
 
+       # Python
+       File "${CROSS}/python32.dll"
+       File "${CROSS}/python32.zip"
+
        # Protocol decoders.
        SetOutPath "$INSTDIR\decoders"
        File /r /x "__pycache__" "${CROSS}/share/libsigrokdecode/decoders/*"
@@ -175,6 +166,16 @@ Section "@PACKAGE_NAME@ (required)" Section1
                "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 \
                SW_SHOWNORMAL "" "Uninstall @PACKAGE_NAME@"
 
+       # Create a shortcut for the Zadig executable.
+       CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig.lnk" \
+               "$INSTDIR\zadig.exe" "" "$INSTDIR\zadig.exe" 0 \
+               SW_SHOWNORMAL "" "Zadig"
+
+       # Create a shortcut for the Zadig executable (for Win XP).
+       CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (Win XP).lnk" \
+               "$INSTDIR\zadig_xp.exe" "" "$INSTDIR\zadig_xp.exe" 0 \
+               SW_SHOWNORMAL "" "Zadig (Win XP)"
+
        # Create registry keys for "Add/remove programs" in the control panel.
        WriteRegStr HKLM "${REGSTR}" "DisplayName" "@PACKAGE_STRING@"
        WriteRegStr HKLM "${REGSTR}" "UninstallString" \
@@ -203,23 +204,6 @@ Section "@PACKAGE_NAME@ (required)" Section1
 SectionEnd
 
 
-# --- Python installer section ------------------------------------------------
-
-Section "Python" Section2
-
-       # Copy the Python installer MSI file into the temporary directory.
-       SetOutPath "$TEMP"
-       File "${CROSS}/${PY_INST}"
-
-       # Run the Python installer MSI file from within our installer.
-       ExecWait '"msiexec" /i "$TEMP\${PY_INST}" /QB- /passive ALLUSERS=1'
-
-       # Remove Python installer MSI file again.
-       Delete "$TEMP\${PY_INST}"
-
-SectionEnd
-
-
 # --- Uninstaller section -----------------------------------------------------
 
 Section "Uninstall"
@@ -230,9 +214,10 @@ Section "Uninstall"
        # Delete the application, the application data, and related libs.
        Delete "$INSTDIR\COPYING"
        Delete "$INSTDIR\@PACKAGE_NAME@.exe"
-       Delete "$INSTDIR\libusb0.dll"
        Delete "$INSTDIR\zadig.exe"
        Delete "$INSTDIR\zadig_xp.exe"
+       Delete "$INSTDIR\python32.dll"
+       Delete "$INSTDIR\python32.zip"
 
        # Delete all decoders and everything else in decoders/.
        # There could be *.pyc files or __pycache__ subdirs and so on.
@@ -253,6 +238,8 @@ Section "Uninstall"
        # Delete the links from the start menu.
        Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\sigrok command-line tool.lnk"
        Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Uninstall.lnk"
+       Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig.lnk"
+       Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (Win XP).lnk"
 
        # Delete the sub-directory in the start menu.
        RMDir "$SMPROGRAMS\sigrok\@PACKAGE_NAME@"
@@ -267,10 +254,8 @@ SectionEnd
 # --- Component selection section descriptions --------------------------------
 
 LangString DESC_Section1 ${LANG_ENGLISH} "This installs the sigrok command-line tool, some firmware files, the protocol decoders, some example files, and all required libraries."
-LangString DESC_Section2 ${LANG_ENGLISH} "This installs Python 3.2 in its default location of c:\Python32. If you already have Python 3.2 installed, you don't need to re-install it."
 
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
 !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
-!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
 !insertmacro MUI_FUNCTION_DESCRIPTION_END