tazusb annotate tazusb.nsi @ rev 60

Add tazusb.nsi source (tazusb for windows)
author Christophe Lincoln <pankso@slitaz.org>
date Fri Feb 19 21:35:22 2010 +0100 (2010-02-19)
parents
children 671df117fb6f
rev   line source
pankso@60 1 ; Tazusb
pankso@60 2 ; Windows installer for Slitaz
pankso@60 3 ; (c) 2009 Cedric Tissieres (slitaz@objectif-securite.ch)
pankso@60 4 ; You'll need to put 7z.exe and 7z.dll from http://www.7-zip.org/ and syslinux.exe from http://syslinux.zytor.com/
pankso@60 5 ; in the NSIS plugins directory before compiling the script. Adapt the FROM_DIR constant too.
pankso@60 6 ; To add a translation, add the corresponding "!insertmacro MUI_LANGUAGE" and translates all the LangString you'll find below.
pankso@60 7
pankso@60 8 !define NAME "TazUSB - SliTaz LiveUSB utility "
pankso@60 9 !define FILENAME "tazusb"
pankso@60 10 !define VERSION "v0.2"
pankso@60 11 !define FROM_DIR "C:\ophcrack\livecd"
pankso@60 12
pankso@60 13 SetCompressor LZMA
pankso@60 14 CRCCheck On
pankso@60 15 XPStyle on
pankso@60 16
pankso@60 17 !include "MUI2.nsh"
pankso@60 18 !include "FileFunc.nsh"
pankso@60 19
pankso@60 20
pankso@60 21 # MUI Settings #####################################
pankso@60 22 ;**************
pankso@60 23
pankso@60 24 ; Interface settings
pankso@60 25 !define MUI_FINISHPAGE_NOAUTOCLOSE
pankso@60 26 !define MUI_HEADERIMAGE
pankso@60 27 !define MUI_HEADERIMAGE_BITMAP "${FROM_DIR}\slitaz-logo-nsis.bmp"
pankso@60 28 !define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
pankso@60 29
pankso@60 30 ; Welcome page
pankso@60 31 !define MUI_WELCOMEPAGE_TITLE $(Welcome_Title)
pankso@60 32 !define MUI_WELCOMEPAGE_TEXT $(Welcome_Text)
pankso@60 33 !insertmacro MUI_PAGE_WELCOME
pankso@60 34 ; ISO page
pankso@60 35 Var IsoFileHw
pankso@60 36 Var IsoFile
pankso@60 37 Var Label
pankso@60 38 Var Label2
pankso@60 39 Page custom isoFilePage
pankso@60 40 ; Drive page
pankso@60 41 Var DestDriveHW
pankso@60 42 Var DestDrive
pankso@60 43 Page custom drivePage
pankso@60 44 ; Warning page
pankso@60 45 Page custom warningPage
pankso@60 46 ; Instfiles page
pankso@60 47 !insertmacro MUI_PAGE_INSTFILES
pankso@60 48 ; Finish page
pankso@60 49 !define MUI_FINISHPAGE_TITLE $(Finish_Title)
pankso@60 50 !define MUI_FINISHPAGE_TEXT $(Finish_Text)
pankso@60 51 !define MUI_FINISHPAGE_LINK $(Finish_Link)
pankso@60 52 !define MUI_FINISHPAGE_LINK_LOCATION "http://slitaz.org"
pankso@60 53 !insertmacro MUI_PAGE_FINISH
pankso@60 54
pankso@60 55 ; Language files
pankso@60 56 !insertmacro MUI_LANGUAGE "English" ;first language is the default language
pankso@60 57 !insertmacro MUI_LANGUAGE "French"
pankso@60 58 !insertmacro MUI_LANGUAGE "Portuguese"
pankso@60 59
pankso@60 60
pankso@60 61 ; Reserve files
pankso@60 62
pankso@60 63 ; MUI end ------
pankso@60 64
pankso@60 65 ; General Parameters
pankso@60 66 Name "${NAME} ${VERSION}"
pankso@60 67 OutFile "${FROM_DIR}\${FILENAME}.exe"
pankso@60 68
pankso@60 69 # Languages ######################################
pankso@60 70
pankso@60 71 ; English
pankso@60 72 LangString Welcome_Title ${LANG_ENGLISH} "${NAME}"
pankso@60 73 LangString Welcome_Text ${LANG_ENGLISH} "Welcome to TazUSB. This tool will help you installing Slitaz on a USB drive."
pankso@60 74 LangString Finish_Title ${LANG_ENGLISH} "TazUSB has completed Slitaz installation."
pankso@60 75 LangString Finish_Text ${LANG_ENGLISH} "Slitaz is now installed on your USB drive and the drive is bootable."
pankso@60 76 LangString Finish_Link ${LANG_ENGLISH} "Slitaz website"
pankso@60 77 LangString IsoPage_Title ${LANG_ENGLISH} "Select ISO file"
pankso@60 78 LangString IsoPage_Title2 ${LANG_ENGLISH} "Choose the ISO image which will be installed on your USB drive."
pankso@60 79 LangString IsoPage_Text ${LANG_ENGLISH} "Select Slitaz ISO file to be installed on your USB drive. You can download it on http://www.slitaz.org if needed."
pankso@60 80 LangString IsoPage_Input ${LANG_ENGLISH} "Slitaz ISO File"
pankso@60 81 LangString IsoFile ${LANG_ENGLISH} "ISO file|*.iso"
pankso@60 82 LangString DrivePage_Title ${LANG_ENGLISH} "Choose USB drive location"
pankso@60 83 LangString DrivePage_Title2 ${LANG_ENGLISH} "Choose the USB drive in which to install Slitaz."
pankso@60 84 LangString DrivePage_Text ${LANG_ENGLISH} "TazUSB will install Slitaz in the following drive. Make sure that this drive can be safely deleted! Click Next to continue."
pankso@60 85 LangString DrivePage_Input ${LANG_ENGLISH} "Destination USB Drive"
pankso@60 86 LangString WarningPage_Title ${LANG_ENGLISH} "Warning!"
pankso@60 87 LangString WarningPage_Title2 ${LANG_ENGLISH} "TazUSB is ready to install Slitaz on the selected drive."
pankso@60 88 LangString WarningPage_Text ${LANG_ENGLISH} "TazUSB is now ready to install Slitaz from:$\r$\n$\r$\n$IsoFile $\r$\n$\r$\non your selected destination USB drive:$\r$\n$\r$\n$DestDrive. $\r$\n$\r$\nThe contents of this drive will be deleted! If you are sure, click Next to continue."
pankso@60 89 LangString Iso2USB_Extract ${LANG_ENGLISH} "Extract files from $IsoFile"
pankso@60 90 LangString Iso2USB_CreateSyslinux ${LANG_ENGLISH} "Create syslinux configuration files on $DestDrive"
pankso@60 91 LangString Iso2USB_ExecuteSyslinux ${LANG_ENGLISH} "Execute syslinux on $R0"
pankso@60 92 LangString Iso2USB_WarningSyslinux ${LANG_ENGLISH} "An error ($R8) happened when executing syslinux.$\r$\nYour USB drive won't be bootable..."
pankso@60 93
pankso@60 94 ; French
pankso@60 95 LangString Welcome_Title ${LANG_FRENCH} "${NAME}"
pankso@60 96 LangString Welcome_Text ${LANG_FRENCH} "Bienvenue dans TazUSB. Cet outil va vous aider à installer Slitaz sur une clé USB."
pankso@60 97 LangString Finish_Title ${LANG_FRENCH} "L'installation a été terminée par TazUSB."
pankso@60 98 LangString Finish_Text ${LANG_FRENCH} "Slitaz est maintenant installé sur votre clé USB et celle-ci est démarrable."
pankso@60 99 LangString Finish_Link ${LANG_FRENCH} "Site web de Slitaz"
pankso@60 100 LangString IsoPage_Title ${LANG_FRENCH} "Sélectionner un fichier ISO"
pankso@60 101 LangString IsoPage_Title2 ${LANG_FRENCH} "Choisissez l'image ISO qui sera installée sur votre clé USB."
pankso@60 102 LangString IsoPage_Text ${LANG_FRENCH} "Sélectionnez l'image ISO de Slitaz qui sera installée sur votre clé USB. Vous pouvez en télécharger une sur http://www.slitaz.org au besoin."
pankso@60 103 LangString IsoPage_Input ${LANG_FRENCH} "Image ISO Slitaz"
pankso@60 104 LangString IsoFile ${LANG_FRENCH} "Image ISO|*.iso"
pankso@60 105 LangString DrivePage_Title ${LANG_FRENCH} "Sélectionner un lecteur USB"
pankso@60 106 LangString DrivePage_Title2 ${LANG_FRENCH} "Choisissez le lecteur USB sur lequel sera installé Slitaz"
pankso@60 107 LangString DrivePage_Text ${LANG_FRENCH} "TazUSB va maintenant installer Slitaz sur le lecteur sélectionné ci-dessous. Assurez-vous que les données contenues sur cette clé peuvent être effacées! Cliquer sur Suivant pour continuer."
pankso@60 108 LangString DrivePage_Input ${LANG_FRENCH} "Lecteur USB de destination"
pankso@60 109 LangString WarningPage_Title ${LANG_FRENCH} "Attention!"
pankso@60 110 LangString WarningPage_Title2 ${LANG_FRENCH} "TazUSB est prêt à installer Slitaz sur le lecteur sélectionné."
pankso@60 111 LangString WarningPage_Text ${LANG_FRENCH} "TazUSB est maintenant prêt à installer Slitaz depuis:$\r$\n$\r$\n$IsoFile $\r$\n$\r$\nsur le lecteur USB sélectionné:$\r$\n$\r$\n$DestDrive. $\r$\n$\r$\nLe contenu de ce lecteur peut être effacé! Si vous êtes sûr, cliquer sur Suivant pour continuer."
pankso@60 112 LangString Iso2USB_Extract ${LANG_FRENCH} "Extraction des fichiers de $IsoFile"
pankso@60 113 LangString Iso2USB_CreateSyslinux ${LANG_FRENCH} "Création de la configuration syslinux sur $DestDrive"
pankso@60 114 LangString Iso2USB_ExecuteSyslinux ${LANG_FRENCH} "Exécution de syslinux sur $R0"
pankso@60 115 LangString Iso2USB_WarningSyslinux ${LANG_FRENCH} "Une erreur ($R8) est survenue pendant l'exécution de syslinux.$\r$\n Votre clé USB ne sera pas démarrable..."
pankso@60 116
pankso@60 117 ; Portuguese
pankso@60 118 LangString Welcome_Title ${LANG_PORTUGUESE} "${NAME}"
pankso@60 119 LangString Welcome_Text ${LANG_PORTUGUESE} "Bem-vindo ao TazUSB. Este aplicativo o ajudará a instalar o SliTaz em um drive USB."
pankso@60 120 LangString Finish_Title ${LANG_PORTUGUESE} "O TazUSB finalizou a instalação do SliTaz."
pankso@60 121 LangString Finish_Text ${LANG_PORTUGUESE} "O SliTaz está instalado em seu drive USB e o processo de boot agora pode ser feito."
pankso@60 122 LangString Finish_Link ${LANG_PORTUGUESE} "Site do Slitaz"
pankso@60 123 LangString IsoPage_Title ${LANG_PORTUGUESE} "Selecionar arquivo ISO"
pankso@60 124 LangString IsoPage_Title2 ${LANG_PORTUGUESE} "Escolher imagem ISO a ser instalada no drive USB."
pankso@60 125 LangString IsoPage_Text ${LANG_PORTUGUESE} "Selecionar imagem ISO do SliTaz a ser instalada no drive USB. Você pode obtê-la, se necessário, em http://www.slitaz.org."
pankso@60 126 LangString IsoPage_Input ${LANG_PORTUGUESE} "Arquivo ISO do SliTaz"
pankso@60 127 LangString IsoFile ${LANG_PORTUGUESE} "Arquivo ISO|*.iso"
pankso@60 128 LangString DrivePage_Title ${LANG_PORTUGUESE} "Escolha a localização do drive USB"
pankso@60 129 LangString DrivePage_Title2 ${LANG_PORTUGUESE} "Escolha o drive USB no qual o SliTaz será instalado."
pankso@60 130 LangString DrivePage_Text ${LANG_PORTUGUESE} "O TazUSB instalará o SliTaz no seguinte drive. Certifique-se de que o conteúdo deste drive possa ser seguramente apagado! Clique Next para continuar."
pankso@60 131 LangString DrivePage_Input ${LANG_PORTUGUESE} "Drive USB de destino"
pankso@60 132 LangString WarningPage_Title ${LANG_PORTUGUESE} "Aviso!"
pankso@60 133 LangString WarningPage_Title2 ${LANG_PORTUGUESE} "O TazUSB está pronto para instalar o SliTaz no drive selecionado."
pankso@60 134 LangString WarningPage_Text ${LANG_PORTUGUESE} "O TazUSB está pronto para instalar o SliTaz de:$\r$\n$\r$\n$IsoFile $\r$\n$\r$\nem seu drive de destino selecionado:$\r$\n$\r$\n$DestDrive. $\r$\n$\r$\nO conteúdo deste drive será apagado! Para prosseguir com a operação, clique Next para continuar."
pankso@60 135 LangString Iso2USB_Extract ${LANG_PORTUGUESE} "Extrair arquivos de $IsoFile"
pankso@60 136 LangString Iso2USB_CreateSyslinux ${LANG_PORTUGUESE} "Criar arquivos de configuração do syslinux em $DestDrive"
pankso@60 137 LangString Iso2USB_ExecuteSyslinux ${LANG_PORTUGUESE} "Executar syslinux em $R0"
pankso@60 138 LangString Iso2USB_WarningSyslinux ${LANG_PORTUGUESE} "Um erro ($R8) ocorreu durante a execução do syslinux.$\r$\nSeu drive USB não será inicializável..."
pankso@60 139
pankso@60 140 # Functions #######################################
pankso@60 141
pankso@60 142 Function isoFilePage
pankso@60 143
pankso@60 144 !insertmacro MUI_HEADER_TEXT $(IsoPage_Title) $(IsoPage_Title2)
pankso@60 145
pankso@60 146 nsDialogs::Create 1018
pankso@60 147
pankso@60 148 ${If} $IsoFile == ""
pankso@60 149 GetDlgItem $6 $HWNDPARENT 1 ; Get "Next" control handle
pankso@60 150 EnableWindow $6 0 ; disable "Next" control
pankso@60 151 ${EndIf}
pankso@60 152
pankso@60 153 ${NSD_CreateLabel} 0 0 100% 30 $(IsoPage_Text)
pankso@60 154 Pop $Label
pankso@60 155
pankso@60 156 ${NSD_CreateLabel} 15 102 100% 15 $(IsoPage_Input)
pankso@60 157 Pop $Label2
pankso@60 158
pankso@60 159 nsDialogs::CreateControl EDIT ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}|${ES_READONLY} ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE} 10 120 85% 20 $IsoFile
pankso@60 160 Pop $IsoFileHw
pankso@60 161
pankso@60 162 ${NSD_CreateBrowseButton} 89% 120 7% 20 ...
pankso@60 163 Var /GLOBAL IsoFile_BrowseButton
pankso@60 164 Pop $IsoFile_BrowseButton
pankso@60 165 GetFunctionAddress $0 OnClick_IsoFile_BrowseButton
pankso@60 166 nsDialogs::OnClick $IsoFile_BrowseButton $0
pankso@60 167
pankso@60 168 nsDialogs::Show
pankso@60 169 FunctionEnd
pankso@60 170
pankso@60 171 Function OnClick_IsoFile_BrowseButton
pankso@60 172
pankso@60 173
pankso@60 174 nsDialogs::SelectFileDialog /NOUNLOAD open "" $(IsoFile)
pankso@60 175 Pop $0
pankso@60 176
pankso@60 177 ${If} $0 != ""
pankso@60 178 ${NSD_SetText} $IsoFileHw $0
pankso@60 179 StrCpy $IsoFile "$0"
pankso@60 180 GetDlgItem $6 $HWNDPARENT 1 ; Get "Next" control handle
pankso@60 181 EnableWindow $6 1 ; enable "Next" control
pankso@60 182 ${EndIf}
pankso@60 183
pankso@60 184 FunctionEnd
pankso@60 185
pankso@60 186 Function drivePage
pankso@60 187
pankso@60 188 !insertmacro MUI_HEADER_TEXT $(DrivePage_Title) $(DrivePage_Title2)
pankso@60 189
pankso@60 190 nsDialogs::Create 1018
pankso@60 191
pankso@60 192 ${If} $DestDrive == ""
pankso@60 193 GetDlgItem $6 $HWNDPARENT 1 ; Get "Next" control handle
pankso@60 194 EnableWindow $6 0 ; disable "Next" control
pankso@60 195 ${EndIf}
pankso@60 196
pankso@60 197 ${NSD_CreateLabel} 0 0 100% 30 $(DrivePage_Text)
pankso@60 198 Pop $Label
pankso@60 199
pankso@60 200 ${NSD_CreateLabel} 15 102 100% 15 $(DrivePage_Input)
pankso@60 201 Pop $Label2
pankso@60 202
pankso@60 203 ${NSD_CreateDroplist} 10 120 85% 20 ""
pankso@60 204 Pop $DestDriveHw
pankso@60 205 ${NSD_OnChange} $DestDriveHw db_select.onchange
pankso@60 206 ${GetDrives} "FDD+HDD" driveListFiller
pankso@60 207 ${If} $DestDrive != ""
pankso@60 208 ${NSD_CB_SelectString} $DestDriveHw $DestDrive
pankso@60 209 ${EndIf}
pankso@60 210
pankso@60 211 nsDialogs::Show
pankso@60 212 FunctionEnd
pankso@60 213
pankso@60 214 Function db_select.onchange
pankso@60 215 Pop $DestDriveHw
pankso@60 216 ${NSD_GetText} $DestDriveHw $0
pankso@60 217 StrCpy $DestDrive "$0"
pankso@60 218 GetDlgItem $6 $HWNDPARENT 1 ; Get "Next" control handle
pankso@60 219 EnableWindow $6 1 ; enable "Next" control
pankso@60 220 FunctionEnd
pankso@60 221
pankso@60 222 Function driveListFiller
pankso@60 223 SendMessage $DestDriveHw ${CB_ADDSTRING} 0 "STR:$9"
pankso@60 224 Push 1 ; must push something - see GetDrives documentation
pankso@60 225 FunctionEnd
pankso@60 226
pankso@60 227 Function warningPage
pankso@60 228
pankso@60 229 !insertmacro MUI_HEADER_TEXT $(WarningPage_Title) $(WarningPage_Title2)
pankso@60 230
pankso@60 231 nsDialogs::Create 1018
pankso@60 232
pankso@60 233 ${NSD_CreateLabel} 0 0 100% 80% $(WarningPage_Text)
pankso@60 234 Pop $Label
pankso@60 235
pankso@60 236 nsDialogs::Show
pankso@60 237 FunctionEnd
pankso@60 238
pankso@60 239 Function ExtractIt
pankso@60 240 ; Code taken from 7zarchive.nsh (c) 2008 qwertymodo
pankso@60 241
pankso@60 242 InitPluginsDir
pankso@60 243 File /oname=$PLUGINSDIR\7z.exe "${NSISDIR}\plugins\7z.exe"
pankso@60 244 File /oname=$PLUGINSDIR\7z.dll "${NSISDIR}\plugins\7z.dll"
pankso@60 245
pankso@60 246 ClearErrors
pankso@60 247
pankso@60 248 Exch $0 ; ADDITIONAL_PARAMETERS (added to the end of the program call)
pankso@60 249 Exch 1
pankso@60 250 Exch $1 ; EXTRACT_PATHS (either "fullpaths" or "nopaths"; defaults to nopaths)
pankso@60 251 Exch 2
pankso@60 252 Exch $2 ; DESTINATION_FOLDER
pankso@60 253 Exch 3
pankso@60 254 Exch $3 ; FILE_FILTER (if blank, extracts all files; allows for wildcards, e.g. "*.doc")
pankso@60 255 Exch 4
pankso@60 256 Exch $4 ; SOURCE_ARCHIVE
pankso@60 257 Push $5
pankso@60 258
pankso@60 259 ;Extract all files if no filter specified
pankso@60 260 StrCmp $3 "" +2 0
pankso@60 261 StrCpy $3 "$\"$3$\""
pankso@60 262
pankso@60 263 ;Default folder if not specified
pankso@60 264 StrCmp $2 "" 0 GotFolder
pankso@60 265 !insertmacro GetParent
pankso@60 266 ${GetParent} "$4" $2
pankso@60 267 !insertmacro GetBaseName
pankso@60 268 ${GetBaseName} "$4" $5
pankso@60 269 StrCpy $2 "$2\$5"
pankso@60 270
pankso@60 271 GotFolder:
pankso@60 272 CreateDirectory $2
pankso@60 273 StrCmp $1 "fullpaths" 0 +2
pankso@60 274 StrCpy $5 "x"
pankso@60 275 StrCmp $1 "nopaths" +2 0
pankso@60 276 StrCmp $1 "" 0 +2
pankso@60 277 StrCpy $5 "e"
pankso@60 278
pankso@60 279 nsExec::ExecToLog '"$PLUGINSDIR\7z.exe" x $\"$4$\" $\"-o$2$\" $3 $0'
pankso@60 280
pankso@60 281 Pop $0 ;nsExec return value
pankso@60 282
pankso@60 283 Pop $5
pankso@60 284 Pop $4
pankso@60 285 Pop $0
pankso@60 286 Pop $1
pankso@60 287 Pop $2
pankso@60 288 Pop $3
pankso@60 289
pankso@60 290 FunctionEnd
pankso@60 291
pankso@60 292 !macro _ExtractFromArchive SOURCE_ARCHIVE FILE_FILTER DESTINATION_FOLDER EXTRACT_PATHS ADDITIONAL_PARAMETERS
pankso@60 293 Push "${SOURCE_ARCHIVE}"
pankso@60 294 Push "${FILE_FILTER}"
pankso@60 295 Push "${DESTINATION_FOLDER}"
pankso@60 296 Push "${EXTRACT_PATHS}"
pankso@60 297 Push "${ADDITIONAL_PARAMETERS}"
pankso@60 298 Call ExtractIt
pankso@60 299 !macroend
pankso@60 300
pankso@60 301 !define ExtractFromArchive '!insertmacro "_ExtractFromArchive"'
pankso@60 302
pankso@60 303
pankso@60 304 Function .onInit
pankso@60 305
pankso@60 306 !insertmacro MUI_LANGDLL_DISPLAY
pankso@60 307
pankso@60 308 FunctionEnd
pankso@60 309
pankso@60 310 # Section #######################################
pankso@60 311
pankso@60 312
pankso@60 313 Section "iso2usb" main
pankso@60 314 InitPluginsDir
pankso@60 315 File /oname=$PLUGINSDIR\syslinux.exe "${NSISDIR}\plugins\syslinux.exe"
pankso@60 316
pankso@60 317 SetShellVarContext all
pankso@60 318
pankso@60 319 ; Extract files from archive
pankso@60 320 DetailPrint $(Iso2USB_Extract)
pankso@60 321 ${ExtractFromArchive} "$IsoFile" "" "$DestDrive" "" "-y -x![BOOT]*"
pankso@60 322
pankso@60 323 ; Create syslinux directory and files
pankso@60 324 Var /GLOBAL BootDir
pankso@60 325 StrCpy $BootDir $DestDrive -1
pankso@60 326 StrCpy $BootDir "$BootDir\boot"
pankso@60 327 IfFileExists "$BootDir\syslinux\syslinux.cfg" SkipCreateSyslinux CreateSyslinux
pankso@60 328 CreateSyslinux:
pankso@60 329 DetailPrint $(Iso2USB_CreateSyslinux)
pankso@60 330 CreateDirectory "$BootDir\syslinux"
pankso@60 331 CopyFiles "$BootDir\isolinux\*.*" "$BootDir\syslinux"
pankso@60 332 Rename "$BootDir\syslinux\isolinux.cfg" "$BootDir\syslinux\syslinux.cfg"
pankso@60 333
pankso@60 334 SkipCreateSyslinux:
pankso@60 335 ; Execute syslinux on the drive
pankso@60 336 StrCpy $R0 $DestDrive -1 ; remove \ for syslinux
pankso@60 337 ClearErrors
pankso@60 338 DetailPrint $(Iso2USB_ExecuteSyslinux)
pankso@60 339 ExecWait '$PLUGINSDIR\syslinux.exe -maf -d boot\syslinux $R0' $R8
pankso@60 340 DetailPrint "Return $R8"
pankso@60 341
pankso@60 342 Banner::destroy
pankso@60 343 ${If} $R8 != 0
pankso@60 344 MessageBox MB_ICONEXCLAMATION|MB_OK $(Iso2USB_WarningSyslinux)
pankso@60 345 ${EndIf}
pankso@60 346
pankso@60 347 SectionEnd