summaryrefslogtreecommitdiff
path: root/nasm.nsi
blob: ba6b4a25b574cc1baaa41298aa9311844810e5c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!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 "LICENSE"
  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\LICENSE"
  RMDir "$INSTDIR"
SectionEnd

Section -post
  WriteUninstaller "$INSTDIR\Uninstall ${PACKAGE_NAME}.exe"
SectionEnd