Wireshark-dev: Re: [Wireshark-dev] Windows uninstaller doesn't remove translations.
On Mar 25, 2020, at 5:26 PM, Maynard, Chris via Wireshark-dev <wireshark-dev@xxxxxxxxxxxxx> wrote:
> I’m building Wireshark on Windows, but I’ve upgraded Qt to 5.12.7. Everything is fine except when uninstalling Wireshark. It seems that Wireshark now installs the translations in C:\Program Files\Wireshark\styles\translations, but this directory isn’t removed during the un-installation process.
Are they removed with, for example, one of the automated builds of the same branch you're building?
If not, then
> Well, for what it’s worth, in case anyone else encounters this, I modified packaging\nsis\uninstall.nsi as follows, which fixes this [for me]:
>
> Delete "$INSTDIR\styles\*.*"
> Delete "$INSTDIR\styles\translations\*.*"
>
> RMDir "$INSTDIR\share"
> RMDir "$INSTDIR\styles\translations"
perhaps that fix is a general fix.
Or perhaps what needs to be done is to get rid of all of the Delete commands that refer to $INSTDIR\styles and just do
RMDir/r "$INSTDIR\styles"
to just completely blow away the "styles" directory?
https://nsis.sourceforge.io/Docs/Chapter4.html#registry
"4.9.1.9 RMDir
[/r] [/REBOOTOK] directory_name
Remove the specified directory (fully qualified path with no wildcards). Without /r, the directory will only be removed if it is completely empty. If /r is specified the directory will be removed recursively, so all directories and files in the specified directory will be removed. If /REBOOTOK is specified, any file or directory which could not be removed during the process will be removed on reboot -- if any file or directory will be removed on a reboot, the reboot flag will be set. The error flag is set if any file or directory cannot be removed.
RMDir $INSTDIR
RMDir $INSTDIR\data
RMDir /r /REBOOTOK $INSTDIR
RMDir /REBOOTOK $INSTDIR\DLLs"
Or is the /r flag a new addition, and we still support versions of NSIS without it?