forked from apple-II/tk2000-emulator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInstalador.nsi
174 lines (138 loc) · 5.05 KB
/
Instalador.nsi
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
#
# Script de Geração de Instalação
# by Fábio Belavenuto
#
# Definições:
#!define USAR_HELP
!define USAR_LICENCA
!define NOME_PACOTE "TK2000"
!define VERSAO "0.0.0.1"
!define NOMESAIDA "${NOME_PACOTE}-${VERSAO}-Instalador.exe"
!define NOME_PRODUTO "Emulador TK2000 para Windows versão ${VERSAO}"
!define TK2000_EXE "${NOME_PACOTE}.exe"
!define TK2000_SYM "${NOME_PACOTE}.sym"
!define TK2000_BMP "${NOME_PACOTE}.bmp"
!ifdef USAR_HELP
!define TK2000_HELP "${NOME_PACOTE}.hlp"
!endif
!define TK2000_ROM "${NOME_PACOTE}.rom"
!define TK2000_ROMDISCO "Firmware_Disco.rom"
!define TK2000_DISCO_TKDOS "TKDOS2000.dsk"
!ifdef USAR_LICENCA
!define ARQUIVO_LICENCA "Licenca.txt"
!endif
!ifndef NSIS_DIR
!define NSIS_DIR "C:\Arquiv~1\NSIS"
!endif
# Compressor padrão:
SetCompressor bzip2
# Incluir Interface Moderna:
!include "MUI.nsh"
# Definições Gerais:
Name "${NOME_PRODUTO}"
OutFile "${NOMESAIDA}"
InstallDir "$PROGRAMFILES\${NOME_PACOTE}"
InstallDirRegKey HKEY_LOCAL_MACHINE "Software\${NOMEPACOTE}\${NOMEPACOTE}" "instpath"
SetOverwrite on
ShowInstDetails show
XPStyle On
# Configurações da Interface:
!define MUI_ABORTWARNING
!define MUI_WELCOMEPAGE_TITLE_3LINES
!define MUI_WELCOMEPAGE_TEXT "\r\n\r\nIsto instalará o ${NOME_PRODUTO} no seu computador.\r\n\r\n\r\n\r\n"
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
# Páginas:
!insertmacro MUI_PAGE_WELCOME
!ifdef USAR_LICENCA
!insertmacro MUI_PAGE_LICENSE ${ARQUIVO_LICENCA}
!endif
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Linguas:
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "English"
# Tipos Instalação:
InstType "Completo (Emulador, ROMs e Disketes)"
InstType "Normal (Somente Emulador e ROMs)"
InstType "Pequeno (Somente Emulador)"
# Seções:
Section "${NOME_PRODUTO}"
SectionIn 1 2 3
SetOutPath $INSTDIR
File Leiame.txt
File release\${TK2000_EXE}
File outros\${TK2000_SYM}
File outros\${TK2000_BMP}
!ifdef USAR_HELP
File help\${TK2000_HELP}
!endif
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NOME_PACOTE}" "DisplayName" "${NOME_PRODUTO}"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NOME_PACOTE}" "UninstallString" '"$INSTDIR\un${TK2000_EXE}"'
WriteUninstaller "un${TK2000_EXE}"
WriteRegStr HKEY_LOCAL_MACHINE "Software\${NOME_PACOTE}\${NOME_PACOTE}" "instpath" $INSTDIR
WriteRegStr HKEY_CURRENT_USER "Software\${NOME_PACOTE}\${NOME_PACOTE}" "instpath" $INSTDIR
SectionEnd
#------------------------------------------------------------------------------------------
Section "Imagem de ROMs"
SectionIn 1 2
SetOutPath $INSTDIR
File outros\${TK2000_ROM}
File outros\${TK2000_ROMDISCO}
SectionEnd
#------------------------------------------------------------------------------------------
Section "Imagem de Disketes"
SectionIn 1
SetOutPath $INSTDIR
File outros\${TK2000_DISCO_TKDOS}
SectionEnd
#------------------------------------------------------------------------------------------
Section "Adiciona ${NOME_PACOTE} no menu iniciar"
SectionIn 1 2 3
CreateDirectory "$SMPROGRAMS\${NOME_PACOTE}"
CreateShortCut "$SMPROGRAMS\${NOME_PACOTE}\${NOME_PACOTE}.lnk" "$INSTDIR\${TK2000_EXE}" "" "$INSTDIR\${TK2000_EXE}" 0
CreateShortCut "$SMPROGRAMS\${NOME_PACOTE}\Desinstalar ${NOME_PACOTE}.lnk" "$INSTDIR\un${TK2000_EXE}"
SectionEnd
# Funções:
Function .onInstSuccess
MessageBox MB_YESNO|MB_ICONQUESTION \
"Você gostaria de iniciar o programa agora?" \
IDNO NaoExecuta
Exec "$INSTDIR\${TK2000_EXE}"
NaoExecuta:
FunctionEnd
Function .onInit
;
FunctionEnd
#------------------------------------------------------------------------------------------
Section -PostInstall
;
SectionEnd
Section Uninstall
DeleteRegValue HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NOME_PACOTE}" "UninstallString"
DeleteRegValue HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NOME_PACOTE}" "DisplayName"
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NOME_PACOTE}"
DeleteRegKey HKEY_LOCAL_MACHINE "Software\${NOME_PACOTE}\${NOME_PACOTE}"
DeleteRegKey HKEY_CURRENT_USER "Software\${NOME_PACOTE}\${NOME_PACOTE}"
Delete "$INSTDIR\${TK2000_EXE}"
Delete "$INSTDIR\${TK2000_SYM}"
Delete "$INSTDIR\${TK2000_BMP}"
Delete "$INSTDIR\Leiame.txt"
!ifdef USAR_HELP"
Delete "$INSTDIR\${TK2000_HELP}"
!endif
!ifdef USAR_LICENCA"
Delete "$INSTDIR\${ARQUIVO_LICENCA}"
!endif
Delete "$INSTDIR\${TK2000_ROM}"
Delete "$INSTDIR\${TK2000_ROMDISCO}"
Delete "$INSTDIR\${TK2000_DISCO_TKDOS}"
Delete "$SMPROGRAMS\${NOME_PACOTE}\Desinstalar ${NOME_PACOTE}.lnk"
Delete "$SMPROGRAMS\${NOME_PACOTE}\${NOME_PACOTE}.lnk"
RMDir "$SMPROGRAMS\${NOME_PACOTE}"
Delete "$INSTDIR\un${TK2000_EXE}"
RMDir "$INSTDIR"
SectionEnd