mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-04-06 18:30:21 +08:00
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
This commit is contained in:
parent
b32536cc53
commit
a606aced2c
104
nasm.nsis
Normal file
104
nasm.nsis
Normal file
@ -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 <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.
|
||||
|
||||
!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
|
||||
|
Loading…
x
Reference in New Issue
Block a user