nasm/nasm.nsi
H. Peter Anvin 5cc5589b73 nasm.nsi: in the "NASM shell", put NASM first in PATH
In the "NASM shell", it makes sense for NASM to be first in the PATH,
not last.  That way if the user has more than one version of NASM
installed, and one of them is global, the "NASM shell" for any one
version will still pick up the proper version.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-05 19:33:41 -07:00

113 lines
4.1 KiB
Plaintext

#!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 <copyright holder> 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.
!include "version.nsh"
!define PRODUCT_NAME "Netwide Assembler"
!define PRODUCT_SHORT_NAME "nasm"
!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 lzma
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 "COPYING"
File "nasm.exe"
File "ndisasm.exe"
File "doc/nasmdoc.pdf"
File "rdoff/ldrdf.exe"
File "rdoff/rdf2bin.exe"
File "rdoff/rdf2com.exe"
File "rdoff/rdf2ith.exe"
File "rdoff/rdf2ihx.exe"
File "rdoff/rdf2srec.exe"
File "rdoff/rdfdump.exe"
File "rdoff/rdflib.exe"
File "rdoff/rdx.exe"
FileOpen $0 "nasmpath.bat" w
IfErrors skip
FileWrite $0 "@set path=$INSTDIR;%path%$\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 Shell.lnk" "$INSTDIR\nasmpath.bat" "" "$INSTDIR\nasmpath.bat" 0
CreateShortCut "$SMPROGRAMS\${PACKAGE_NAME}\NASM Manual.lnk" "$INSTDIR\nasmdoc.pdf" "" "$INSTDIR\nasmdoc.pdf" 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 Shell.lnk"
Delete /rebootok "$SMPROGRAMS\${PACKAGE_NAME}\NASM Manual.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\rdf2srec.exe"
Delete /rebootok "$INSTDIR\rdf2ihx.exe"
Delete /rebootok "$INSTDIR\rdf2ith.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"
Delete /rebootok "$INSTDIR\COPYING"
RMDir "$INSTDIR"
SectionEnd
Section -post
WriteUninstaller "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe"
SectionEnd