From a606aced2c64461bfe90a1647865b4e14cce2e1c Mon Sep 17 00:00:00 2001 From: Shao Miller Date: Mon, 6 Apr 2009 19:07:37 -0700 Subject: [PATCH] Add NSIS script to make a Windows installer Here is an NSIS script for making a simple NASM package. It creates a NASM folder with some of the important binaries in it, as well as a simple batch file to get a CLI with the NASM folder included in the PATH. Expects to be built from inside the bin/ directory. Fairly primitive. Feedback welcome. - Shao --- nasm.nsis | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 nasm.nsis diff --git a/nasm.nsis b/nasm.nsis new file mode 100644 index 0000000..89a7b67 --- /dev/null +++ b/nasm.nsis @@ -0,0 +1,104 @@ +#!Nsis Installer Command Script + +# Copyright (c) 2009, Shao Miller (shao.miller@yrdsb.edu.on.ca) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +!define PRODUCT_NAME "Netwide Assembler" +!define PRODUCT_SHORT_NAME "nasm" +!define VERSION "2.06rc7" +!define PACKAGE_NAME "${PRODUCT_NAME} ${VERSION}" +!define PACKAGE_SHORT_NAME "${PRODUCT_SHORT_NAME}-${VERSION}" + +Name "${PACKAGE_NAME}" +OutFile "${PACKAGE_SHORT_NAME}-installer.exe" +InstallDir "$PROGRAMFILES\NASM" +InstallDirRegKey HKLM "SOFTWARE\${PACKAGE_SHORT_NAME}" "InstallDir" +SetCompressor bzip2 + +XPStyle on + +DirText "Please select the installation folder." +Page directory + +ComponentText "Select which optional components you want to install." +Page components + +ShowInstDetails hide +ShowUninstDetails hide +Page instfiles + +Section "${PACKAGE_NAME}" + SectionIn RO + + SetOutPath "$INSTDIR\." + File "ldrdf.exe" + File "nasm.exe" +# File "nasmdoc.pdf" + File "ndisasm.exe" + File "rdf2bin.exe" +# File "rdf2com.exe" + File "rdf2ihx.exe" + File "rdfdump.exe" + File "rdflib.exe" + File "rdx.exe" + FileOpen $0 "nasmpath.bat" w + IfErrors skip + FileWrite $0 "@set path=%path%;$INSTDIR$\r$\n" + FileWrite $0 "@%comspec%" + FileClose $0 + skip: +SectionEnd + +Section "Start Menu Shortcuts" + CreateDirectory "$SMPROGRAMS\${PACKAGE_NAME}" + CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\Uninstall ${PACKAGE_NAME}.lnk" "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe" "" "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe" 0 + CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\NASM.lnk" "$INSTDIR\nasmpath.bat" "" "$INSTDIR\nasmpath.bat" 0 +SectionEnd + +Section "Desktop Icons" + CreateShortCut "$DESKTOP\NASM.lnk" "$INSTDIR\nasmpath.bat" "" "$INSTDIR\nasmpath.bat" 0 +SectionEnd + +Section "Uninstall" + Delete /rebootok "$DESKTOP\NASM.lnk" + Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\NASM.lnk" + Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\Uninstall ${PACKAGE_NAME}.lnk" + RMDir "$SMPROGRAMS\${PACKAGE_NAME}" + + Delete /rebootok "$INSTDIR\nasmpath.bat" + Delete /rebootok "$INSTDIR\rdx.exe" + Delete /rebootok "$INSTDIR\rdflib.exe" + Delete /rebootok "$INSTDIR\rdfdump.exe" + Delete /rebootok "$INSTDIR\rdf2ihx.exe" + Delete /rebootok "$INSTDIR\rdf2com.exe" + Delete /rebootok "$INSTDIR\rdf2bin.exe" + Delete /rebootok "$INSTDIR\ndisasm.exe" + Delete /rebootok "$INSTDIR\nasmdoc.pdf" + Delete /rebootok "$INSTDIR\nasm.exe" + Delete /rebootok "$INSTDIR\ldrdf.exe" + RMDir "$INSTDIR" +SectionEnd + +Section -post + WriteUninstaller "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe" +SectionEnd + -- 2.34.1