summaryrefslogtreecommitdiffstats
path: root/packaging/win32
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2016-10-10 21:37:26 +0000
committerEduard Braun <eduard.braun2@gmx.de>2016-10-10 21:37:26 +0000
commit1befc3c733dd63b647ce5285999b56d12289563b (patch)
tree9564e4e6a918790f34db5e8b768f2aaecf62a2fb /packaging/win32
parent[Packaging] NSIS translation update for pt_br (diff)
downloadinkscape-1befc3c733dd63b647ce5285999b56d12289563b.tar.gz
inkscape-1befc3c733dd63b647ce5285999b56d12289563b.zip
Packaging: Yet another round of fixes / improvements for NSIS installer
- Get the correct installation directory for Inkscape 64-bit - Implement a replacement for the custom MessageBox plug-in which is "is unsupported and not stable to use anymore" [1] - Fix .nsi file encoding (at least for now we build an ANSI installer so we can't use Unicode symbols) - Fix file properties of installer/uninstaller (e.g. it was claimed to be in Ukrainian language) - Add some information that is shown in the "Programs and Features" dialog (publisher, website, installation size) - Improve removal of user preferences - Attempt to remove residual files (notably .pyc files) and delete all empty directories on uninstall) [1] http://nsis.sourceforge.net/MessageBox_plug-in (bzr r15244.1.6)
Diffstat (limited to 'packaging/win32')
-rwxr-xr-xpackaging/win32/inkscape.nsi131
-rw-r--r--packaging/win32/languages/German.nsh2
-rw-r--r--packaging/win32/plugins/MessageBox.txt186
-rw-r--r--packaging/win32/plugins/md5dll.dllbin8192 -> 6656 bytes
-rw-r--r--packaging/win32/plugins/messagebox.dllbin6144 -> 0 bytes
5 files changed, 85 insertions, 234 deletions
diff --git a/packaging/win32/inkscape.nsi b/packaging/win32/inkscape.nsi
index 216955231..32b47adb2 100755
--- a/packaging/win32/inkscape.nsi
+++ b/packaging/win32/inkscape.nsi
@@ -27,11 +27,12 @@ SetCompressorDictSize 32
RequestExecutionLevel admin
; Include required files {{{2
-!include macros\RequireLatestNSIS.nsh
-!include macros\ifexist.nsh
-!include macros\VersionCompleteXXXX.nsh
!include LogicLib.nsh
!include Sections.nsh
+!include macros\ifexist.nsh
+!include macros\RequireLatestNSIS.nsh
+!include macros\SHMessageBoxCheck.nsh
+!include macros\VersionCompleteXXXX.nsh
!macro !redef VAR VAL
!define _!redef_${VAR} `${VAL}`
@@ -49,7 +50,7 @@ RequestExecutionLevel admin
!define INSTDIR_REG_ROOT HKLM
!define INSTDIR_REG_KEY "${UNINST_KEY}"
!include macros\AdvUninstLog.nsh
-!insertmacro INTERACTIVE_UNINSTALL
+;!insertmacro INTERACTIVE_UNINSTALL ; not needed anymore since we have our own uninstall logic; conflicts with other macros
; Initialise NSIS plug-ins {{{3
; The plugins used are md5dll and messagebox
@@ -58,7 +59,9 @@ RequestExecutionLevel admin
; FileFunc bits and pieces {{{3
!include FileFunc.nsh
!insertmacro GetParameters
+!insertmacro GetSize
!insertmacro GetOptions
+!insertmacro Locate
!insertmacro un.GetParent
; User interface {{{3
@@ -87,7 +90,7 @@ LicenseForceSelection off
; InstType "$(Full)"
; InstType "$(Optimal)"
; InstType "$(Minimal)"
-; Directory page {{{6
+;Directory page {{{6
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page {{{6
!insertmacro MUI_PAGE_INSTFILES
@@ -258,7 +261,7 @@ ${VersionCompleteXXXRevision} ${INKSCAPE_VERSION_NUMBER} VERSION_X.X.X.X ${VERSI
!define PRODUCT_NAME "Inkscape" ; TODO: fix up the language files to not use this and kill this line
!define INSTDIR_KEY "Software\Microsoft\Windows\CurrentVersion\App Paths\inkscape.exe"
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\Inkscape"
-;!define DUMMYINSTALL ; Define this to make it build quickly, not including any of the files or code in the sections, for quick testing of features of the installer and development thereof.
+!define DUMMYINSTALL ; Define this to make it build quickly, not including any of the files or code in the sections, for quick testing of features of the installer and development thereof.
!define _FILENAME ${FILENAME}.exe
!undef FILENAME
!define FILENAME ${_FILENAME}
@@ -269,19 +272,22 @@ Name `Inkscape`
Caption `Inkscape - $(CaptionDescription)`
BrandingText `${BrandingText}`
OutFile `${FILENAME}`
-InstallDir "$PROGRAMFILES\Inkscape"
+!if ${BITNESS} = 32
+ InstallDir "$PROGRAMFILES32\Inkscape"
+!else
+ InstallDir "$PROGRAMFILES64\Inkscape"
+!endif
InstallDirRegKey HKLM "${INSTDIR_KEY}" ""
; Version information {{{3
VIProductVersion ${VERSION_X.X.X.X}
-VIAddVersionKey ProductName Inkscape
-VIAddVersionKey Comments "Licensed under the GNU GPL"
-VIAddVersionKey CompanyName inkscape.org
-VIAddVersionKey LegalCopyright "© 2016 Inkscape"
-VIAddVersionKey FileDescription Inkscape
-VIAddVersionKey FileVersion ${VERSION_X.X.X.X}
-VIAddVersionKey ProductVersion ${VERSION_X.X.X.X}
-VIAddVersionKey InternalName Inkscape
+VIAddVersionKey /LANG=0 ProductName "Inkscape"
+VIAddVersionKey /LANG=0 Comments "Licensed under the GNU GPL"
+VIAddVersionKey /LANG=0 CompanyName "Inkscape Project"
+VIAddVersionKey /LANG=0 LegalCopyright "© 2016 Inkscape Project"
+VIAddVersionKey /LANG=0 FileDescription "Inkscape Vector Graphics Editor"
+VIAddVersionKey /LANG=0 FileVersion ${VERSION_X.X.X.X}
+VIAddVersionKey /LANG=0 ProductVersion ${VERSION_X.X.X.X}
; Variables {{{2
Var askMultiUser
@@ -304,8 +310,15 @@ Var CMDARGS
ReadRegStr $2 HKU "$1\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData
${IfThen} $2 == "" ${|} ${Continue} ${|}
DetailPrint "Removing $2\Inkscape"
+
Delete $2\Inkscape\preferences.xml
Delete $2\Inkscape\extension-errors.log
+
+ RMDir $2\Inkscape\extensions
+ RMDir $2\Inkscape\icons
+ RMDir $2\Inkscape\keys
+ RMDir $2\Inkscape\palettes
+ RMDir $2\Inkscape\templates
RMDir $2\Inkscape
${Loop}
!macroend
@@ -617,6 +630,7 @@ SectionGroup "$(Languages)" SecLanguages ; Languages sections {{{
SectionGroupEnd ; SecLanguages }}}
Section -FinalizeInstallation ; Hidden, mandatory section to finalize installation {{{
+
!ifndef DUMMYINSTALL
DetailPrint "Finalizing installation"
${IfThen} $MultiUser = 1 ${|} SetShellVarContext all ${|}
@@ -638,9 +652,16 @@ Section -FinalizeInstallation ; Hidden, mandatory section to finalize installati
WriteRegStr SHCTX "${UNINST_KEY}" DisplayName "Inkscape ${INKSCAPE_VERSION}"
WriteRegStr SHCTX "${UNINST_KEY}" DisplayIcon $INSTDIR\Inkscape.exe,0
WriteRegStr SHCTX "${UNINST_KEY}" DisplayVersion ${INKSCAPE_VERSION}
+ WriteRegStr SHCTX "${UNINST_KEY}" Publisher "Inkscape Project"
+ WriteRegStr SHCTX "${UNINST_KEY}" URLInfoAbout "https://inkscape.org"
+
WriteRegDWORD SHCTX "${UNINST_KEY}" NoModify 1
WriteRegDWORD SHCTX "${UNINST_KEY}" NoRepair 1
+ ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
+ IntFmt $0 "0x%08X" $0
+ WriteRegDWORD SHCTX "${UNINST_KEY}" EstimatedSize "$0"
+
;create/update log always within .onInstSuccess function
!insertmacro UNINSTALL.LOG_UPDATE_INSTALL
@@ -662,7 +683,7 @@ Section -FinalizeInstallation ; Hidden, mandatory section to finalize installati
FileClose $0
FileClose $9
; Not needed any more
- Delete $INSTDIR\Uninstall.dat
+ ; Delete $INSTDIR\Uninstall.dat ; actually this is checked for in UNINSTALL.LOG_PREPARE_INSTALL, so keep it for now...
!endif
SectionEnd ; -FinalizeInstallation }}}
@@ -774,7 +795,11 @@ Function .onInit ; initialise the installer {{{2
; Request uninstallation of an old Inkscape installation {{{
ReadRegStr $R0 HKLM "${UNINST_KEY}" UninstallString
- ${IfThen} $R0 == "" ${|} ReadRegStr $R0 HKCU "${UNINST_KEY}" UninstallString ${|}
+ ReadRegStr $R1 HKLM "${UNINST_KEY}" DisplayName
+ ${If} $R0 == ""
+ ReadRegStr $R0 HKCU "${UNINST_KEY}" UninstallString
+ ReadRegStr $R1 HKCU "${UNINST_KEY}" DisplayName
+ ${EndIf}
${If} $R0 != ""
${AndIf} ${Cmd} ${|} MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(WANT_UNINSTALL_BEFORE)" /SD IDNO IDYES ${|}
ExecWait $R0
@@ -948,6 +973,7 @@ Function un.onInit ; initialise uninstaller {{{
FunctionEnd ; un.onInit }}}
Function un.CustomPageUninstall ; {{{
+ SetShellVarContext current
!insertmacro MUI_HEADER_TEXT "$(UInstOpt)" "$(UInstOpt1)"
!insertmacro MUI_INSTALLOPTIONS_WRITE inkscape.nsi.uninstall "Field 1" Text "$APPDATA\Inkscape\"
!insertmacro MUI_INSTALLOPTIONS_WRITE inkscape.nsi.uninstall "Field 2" Text "$(PurgePrefs)"
@@ -958,6 +984,7 @@ FunctionEnd ; un.CustomPageUninstall }}}
Section Uninstall ; do the uninstalling {{{
!ifndef DUMMYINSTALL
; remove personal settings
+ SetShellVarContext current
Delete $APPDATA\Inkscape\extension-errors.log
${If} $MultiUser = 0
DetailPrint "Purging personal settings in $APPDATA\Inkscape"
@@ -1016,16 +1043,16 @@ Section Uninstall ; do the uninstalling {{{
RMDir $SMPROGRAMS\Inkscape
InitPluginsDir
- SetPluginUnload manual
ClearErrors
- FileOpen $0 $INSTDIR\uninstall.log r
+ FileOpen $9 $INSTDIR\uninstall.log r
${If} ${Errors} ;else uninstallnotfound
MessageBox MB_OK|MB_ICONEXCLAMATION "$(UninstallLogNotFound)" /SD IDOK
${Else}
+ ${SHMessageBoxCheckInit} "inkscape_uninstall_other_files"
${Do}
ClearErrors
- FileRead $0 $1
+ FileRead $9 $1
${IfThen} ${Errors} ${|} ${ExitDo} ${|}
; cat the line into md5 and filename
StrLen $2 $1
@@ -1033,31 +1060,24 @@ Section Uninstall ; do the uninstalling {{{
StrCpy $3 $1 32
StrCpy $filename $1 $2-36 34 ;remove trailing CR/LF
StrCpy $filename $filename -2
- ; $3 = MD5 when installed, then deletion choice
; $filename = file
- ; $5 = MD5 now
- ; $6 = always/never remove files touched by user
+ ; $0 = shall file be deleted?
+ ; $3 = MD5 when installed
+ ; $4 = MD5 now
${If} ${FileExists} $filename
- ${If} $6 == always
- StrCpy $3 2
+ md5dll::GetMD5File /NOUNLOAD $filename
+ Pop $4 ;md5 of file
+ ${If} $3 == $4
+ StrCpy $0 ${IDYES}
${Else}
- md5dll::GetMD5File /NOUNLOAD $filename
- Pop $5 ;md5 of file
- ${If} $3 == $5
- StrCpy $3 1 ; yes
- ${ElseIf} $6 != never
- ; the md5 sums does not match so we ask
- messagebox::show MB_DEFBUTTON3|MB_TOPMOST "" 0,103 \
- "$(FileChanged)" "$(Yes)" "$(AlwaysYes)" "$(No)" "$(AlwaysNo)"
- Pop $3
- ${IfThen} $3 = 2 ${|} StrCpy $6 always ${|}
- ${IfThen} $3 = 4 ${|} StrCpy $6 never ${|}
- ${EndIf}
+ ; the md5 sums does not match so we ask
+ ${SHMessageBoxCheck} "$(MUI_UNTEXT_CONFIRM_TITLE)" "$(FileChanged)"
+ ${IfThen} $0 = ${IDYES} ${|} StrCpy $3 1 ${|}
+ ${IfThen} $0 = ${IDNO} ${|} StrCpy $3 0 ${|}
${EndIf}
- ${If} $3 = 1 ; yes
- ${OrIf} $3 = 2 ; always
+ ${If} $0 = ${IDYES}
; Remove File
ClearErrors
Delete $filename
@@ -1072,22 +1092,39 @@ Section Uninstall ; do the uninstalling {{{
${EndIf}
${EndIf}
${Loop}
+ ${SHMessageBoxCheckCleanup}
${EndIf}
- FileClose $0
+ FileClose $9
+ ; remove Python cache files that may have been created
+ loopFiles:
+ StrCpy $R1 0
+ ${Locate} "$INSTDIR" "/L=F /M=*.pyc" "un.DeleteFile"
+ StrCmp $R1 0 0 loopFiles
+ ; remove empty directories
+ ; TODO: Seems not to always work correctly due to (self-)locked folders
+ loopDirs:
+ StrCpy $R1 0
+ ${Locate} "$INSTDIR" "/L=DE" "un.DeleteDir"
+ StrCmp $R1 0 0 loopDirs
+ ; remove the uninstaller and installation directory itself
+ Delete $INSTDIR\uninstall.dat
Delete $INSTDIR\uninstall.log
Delete $INSTDIR\uninstall.exe
- ; remove empty directories
- RMDir $INSTDIR\lib\locale
- RMDir $INSTDIR\lib
- RMDir $INSTDIR\data
- RMDir $INSTDIR\doc
- RMDir $INSTDIR\modules
- RMDir $INSTDIR\plugins
RMDir $INSTDIR
SetAutoClose false
!endif
SectionEnd ; Uninstall }}}
; }}}
+Function un.DeleteFile
+ Delete $R9
+ IntOp $R1 $R1 + 1
+FunctionEnd
+
+Function un.DeleteDir
+ RMDir $R9
+ IntOp $R1 $R1 + 1
+FunctionEnd
+
; This file has been optimised for use in Vim with folding.
; (If you can't cope, :set nofoldenable) vim:fen:fdm=marker
diff --git a/packaging/win32/languages/German.nsh b/packaging/win32/languages/German.nsh
index 7c5438b79..96fd46f77 100644
--- a/packaging/win32/languages/German.nsh
+++ b/packaging/win32/languages/German.nsh
@@ -110,7 +110,7 @@ ${LangFileString} UInstOpt "Deinstallations Optionen"
${LangFileString} UInstOpt1 "Bitte wählen Sie die optionalen Deinstalltionsparameter"
${LangFileString} PurgePrefs "behalte persönliche Inkscape-Vorgaben"
${LangFileString} UninstallLogNotFound "Datei $INSTDIR\uninstall.log nicht gefunden!$\r$\nBitte deinstallieren Sie selbst durch Löschen von $INSTDIR!"
-${LangFileString} FileChanged "Die Datei $filename wurde nach der Installation geändert.$\r$\nMöchten Sie trotzden diese Datei löschen?"
+${LangFileString} FileChanged "Die Datei $filename wurde nach der Installation geändert.$\r$\nMöchten Sie diese Datei trotzdem löschen?"
${LangFileString} Yes "Ja"
${LangFileString} AlwaysYes "immer mit Ja antworten"
${LangFileString} No "Nein"
diff --git a/packaging/win32/plugins/MessageBox.txt b/packaging/win32/plugins/MessageBox.txt
deleted file mode 100644
index c2aa963d6..000000000
--- a/packaging/win32/plugins/MessageBox.txt
+++ /dev/null
@@ -1,186 +0,0 @@
-Customisable MessageBox Plug-In (v0.98 beta 3)
-
-[ Archive Page: http://nsis.sourceforge.net/archive/??? ]
-
---------------
-
-The Customisable MessageBox plug-in allows you to use a MessageBox in your installer which can be altered to how you want it to be. You can control:
- * the number of buttons shown
- * the text each button shows
- * a standard or customisable icon ( flexible so you can use the installer or other files )
- * a fully working 'forth' button!
-
-The plug-in uses a few tricks to allow for the messagebox functionality to be altered so that the button text can finally be altered making [ Yes | Yes to All | No | No to All ] ( and anything else you care for ) possible.
-
-Also with the changes made it is now possible to have a functional 'forth' button - yes you read correctly! When using the function just pass in four button texts and you will see the forth button - simple really :o)
-
-There is only the one function to show the messagebox so enjoy.
-
-[ As of v0.98 beta the parameters of calling the function have changed, check out usage for the revised options - thanks to n0On3 for the suggestions. ]
-
-
-Usage
------
-
-messagebox::show styles caption ( module_name, icon_id ) text but1 [ but2 but3 but4 ]
-
-styles - messagebox styles ( supports most of the windows messagebox styles )
-
-caption - the text to be used for the dialog title ( or the installer title if not specified )
-
-module_name - sets the name of the file ( usually a dll or exe file ) that contains the custom icon to be used - if 0 is passed then the installer will be used
-
-icon_id - the id of the icon group to be used for the custom icon
-
-text - the text to be shown by the messagebox
-
-but1 - specified text or name id to use ie IDYES, IDNO, etc ( there must always be at least one button )
-
-but2, but3, but4 - optional buttons which follow the same way as for but1
-
-
-When passing in options, you should use a "" pair for options you pass in to ensure the strings are correctly read. It is not necessary to do so for the predefined button texts
-e.g. "IDCANCEL" is the same as IDCANCEL.
-
-See Example.nsi for an example ;o) ( bit hacked at the moment due to testing but shows most things )
-
-
-Return Values
------
-
-To get the return value use Pop $0 immediately after the function has been used incase other functions alter the value.
-
-If there were no problems then the function will return the number of the button pressed working from the left being 'button 1'.
-i.e.
- if you have [ yes | no | abort ] and 'no' is selected then the return value will be '2'
-
-If an error happens then the messagebox will return 0.
-
-If there are no buttons passed then the function will return '-1'.
-
-
-Some More Info
-----------------
-
-If you pass an empty string for the caption ( "" ) then the installer title text will be used instead (stripping back the current section name as NSIS messageboxes do).
-If the installer is run silently then the title will be blank if setting the caption option to "" ( as NSIS messageboxes do ). This is because when the installer is silent it does not have a visible window and so will not have a window title ( had not taken this into account initially, oops - fixed from v0.98 beta 3 ).
-
-When you want to use a custom icon, setting module to '0' will look for the icon in the installer otherwise it will search the file specified.
-e.g.
- "0,103" will load the installer icon ( well in testing it does :o) )
- "shell32.dll,24" will load the help file icon from the shell32.dll ( as long as the file exists! )
-
-If the module passed is not valid then the usericon style will not be used ( you may receive a windows message informing of this ).
-
-If the icon is not valid then the messagebox will just show a blank area where the icon would be displayed assuming that the value of module is valid.
-
-If a usericon is specified then if there are any of the messagebox icon styles passed in, these will be ignored. This allows an icon to appear otherwise internal style conflicts will prevent any icon being shown.
-
-If you want to display the standard button texts then pass the following strings in for the necessary button:
-
- IDOK - Ok
- IDCANCEL - Cancel
- IDABORT - Abort
- IDRETRY - Retry
- IDIGNORE - Ignore
- IDYES - Yes
- IDNO - No
- IDHELP - Help / 4th button
- IDTRYAGAIN - Try Again
- IDCONTINUE - Continue
-
-When the function is processing the passed button texts to use, if a duplicate of the predefined texts (above) happen then the only the first instance will be allowed
-e.g.
- IDYES "ah go on if you dare" IDYES -> [ YES | ah go on if you dare ]
-
-Each button will be resized if needed to allow the text to fit correctly in the button without being clipped. If the text is still too long for the messagebox width ( limited to 80% of the screen width ) then buttons will be resized and clipping of the button text may happen again ( this will be fixed in v1.0 ).
-
-
-Final Notes
--------
-
-I have no idea how the code will work with international text (since i just use plain text in the code) so if you try it in a multilanguage setup then let me know how it reacts or if there are any issues with the function's display.
-
-The predefined button texts are hard coded and cannot be altered. To alter the default texts involves passing in the language button text as a custom button text.
-
-The button resizing code is not complete at the moment ( as can be clearly seen from the first messagebox ) when it detects that the width of the messagebox is at the 80% screen width. Issues are that the buttons are not correctly resized to ensure that they appear correctly ( as is the case with the second messagebox ). This is more down to fiddling with the button widths after the initial processing but will be fixed soon :o)
-
-
-Credits
--------
-
-Coded by Darren Owen, aka DrO (Sept 2003)
-
-n0On3 - Idea request and helpful feedback ( the simplified function use over previous versions :o) )
-
-A plugin from me to you :o)
-
-
-Version History
--------
-
-v0.1
-* Initial release of the function
-* Basic support to show that the button text can be altered on the messagebox
-* Inital support for controlling the number of buttons shown
-
-v0.5
-* Setting of text of only the buttons wanted ( "/but? blah" )
-* Now if a string is not passed then the text will not be set (broken in the v0.1 release)
-* Altered a lot of internal workings to allow for more customising of the MessageBox
-* Better support for the number of buttons to show
-* The functional '4th' button - making use of the 'Help' button to act as a real button
-* Fixed a number of crash issues due to buffer sizes and a few other bugs, etc
-
-v0.8
-* A lot of changes made :o)
-* Improved internal handling so that now button text is set correctly either when the number of buttons is set or user styles are set so now "/but2 blah" will always set the second buttons text and not just a few cases as beforehand
-* Altered the order of the parameters from earlier versions to make some internals easier to do :o)
-* The 4th / Help button will now close the MessageBox in ALL cases - would not close correctly if there was not a 'cancel' button in earlier versions
-* Buffers are now allocated to the NSIS buffer sizes passed to the dll on use for better compatibility between dll and installer
-* When the button numbers are set, the function will map the returned value now to the button selected instead of the normal wndows defined return value
-* some other bits and bobs that i've forgotten on the way
-
-v0.9
-* Added in support for displaying custom icons on the messagebox ( along with standard icons which can be shown ) either in the installer or from other files
-* Altered the example script to show off some more bits of what it can do
-
-v0.95 beta
-* Added in support for resizing of buttons based on the text set into the button ( use the /trim before the text to be set )
-* Messagebox is now limited to approximately 80% of the screen size ( as the messagebox normally does )
-* The resizing of button texts will also update the width of the text width to ensure it keeps to the size of the messagebox
-* Support is not complete for /trim ( still need to update the graduating of the width increment )
-* When the 80% width is reached, currently buttons will disappear off the messagebox ( handling for a double height button will come to cope with this soon )
-* Altered the example script to show off some more bits of what it can do
-
-v0.98 beta
-* Removed the passing in of a hwnd parameter - is always owned by the installer
-* Altered the custom icon option to be a single parameter now in the form 'module,id' where module can be 0 to use the installer
-* All return values are now mapped to the button number pressed ie 1,2,etc
-* Now the number of buttons to show is based on the button string texts passed in to the function :o)
-* Altered the order of parameters to work in a top to bottom order with respect to the messagebox layout and to match closer to the NSIS setup
-[ a good suggestion from n0On3 - nice ]
-- now goes: style title usericon text but1 [ but2 but3 but4 ]
-* Altered the button texts to be set in the order passed and will also convert the default ids too! eg IDYES -> "Yes", IDIGNORE -> "Ignore"
-* Fixed the graduating of the button trim feature to appear 'natural'
-[ adds approxiamately 3 character widths either side when the text won't fit fully in the button ]
-* Fixed a few bugs in the code introduced in the changes made
-* Support for MB_DEFBUTTON? is broken when a button has to be resized ( will fix this soon - already worked out how to but not why this happens )
-
-v0.98 beta 2
-* Fixed the MB_DEFBUTTON? issue ( needed to prevent the wm_active message being handled )
-* Verified the installer will show icons correctly if the installer is run silently ( no code changes were made )
-* Added in checking of the defined buttons to ensure that duplicates are not allowed (only the first occurrance is allowed)
-* Checked that all strings are verified for having data before being used
-* A few code tidy-ups introduced to the code
-* Typo fix in the example
-* Added in stripping out of the icon definitions if a user icon is specified (otherwise no icon will appear!)
-* Updated the readme file to reflect the changes made to the plug-in's functionality since v0.98 beta and to clarify things in better detail now ( i hope )
-* Added in a reference to the archive page for the plugin ( will upload majority of this file to the archive )
-* All internal buffers are now set to the buffer size passed into the plugin when it is called and altered how they are referenced
-* Fixed how the module string is cleared, should fix a potential crash issue i hope
-* Partially fixed the resizing of the text area when using long button strings to correctly limit out when the 80% limit is reached ( fine when now icon is used at the moment )
-* Added a silent installer option to the example script, just !define SILENT to get the silent version (should show that the function works fine either in a normal or silent installer)
-
-v0.98 beta 3
-* Fixed a crash when a silent installer is run ( pointed out by n0On3 ) - not checking the string length when getting the installer title if ""is the pased caption value, doh! \ No newline at end of file
diff --git a/packaging/win32/plugins/md5dll.dll b/packaging/win32/plugins/md5dll.dll
index abefbb038..003e16378 100644
--- a/packaging/win32/plugins/md5dll.dll
+++ b/packaging/win32/plugins/md5dll.dll
Binary files differ
diff --git a/packaging/win32/plugins/messagebox.dll b/packaging/win32/plugins/messagebox.dll
deleted file mode 100644
index 97407fa1a..000000000
--- a/packaging/win32/plugins/messagebox.dll
+++ /dev/null
Binary files differ