У меня есть скрипт NSIS с инструкцией RMDir /r
, которая не удаляет целевой каталог (это просто освобождает его).RMDir/r оставляет каталог пустым - но не удаляет его
$ makensis -version
v16-Dec-2013.cvs
$ pwd
/Users/mgarciaisaia/.wine/drive_c
$ ls
Program Files users windows
$ wine ~/InstallerTest.exe
$ ls
InstallerTest Program Files users windows
$ find InstallerTest
InstallerTest
InstallerTest/SomeData
InstallerTest/SomeData/some-file.txt
InstallerTest/SomeData/Uninstall.exe
$ wine InstallerTest/SomeData/Uninstall.exe
$ ls
InstallerTest Program Files users windows
$ find InstallerTest
InstallerTest
Проблема заключается в том не об использовании вина в MacOSX (то же самое происходит на Windows).
Я обрезаны мой installer.nsi
этому примеру:
!addplugindir nsis
!define MUI_PRODUCT "InstallerTest"
CRCCheck On
!include "MUI2.nsh"
Name "${MUI_PRODUCT}"
BrandingText "${MUI_PRODUCT}"
OutFile "InstallerTest.exe"
ShowInstDetails "nevershow"
ShowUninstDetails "nevershow"
!define SOME_DATA "C:\InstallerTest\SomeData"
!define MUI_ABORTWARNING
Caption "${MUI_PRODUCT} Installer"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Section "Install" Install
DetailPrint "Installing..."
SetOutPath "${SOME_DATA}"
File "some-file.txt"
WriteUninstaller "${SOME_DATA}\Uninstall.exe"
SectionEnd
Section "un.Remove InstallTest"
DetailPrint "Removing..."
;Delete Files
RMDir /r "${SOME_DATA}"
Delete "${SOME_DATA}\Uninstall.exe"
SectionEnd
Что я делаю не так?
Почему вы используете какую-то случайную версию? Текущая альфа должна быть лучше, чем что-либо с 2013 года. – Anders
@Anders: Я использую текущую версию 'makensis', доступную в Homebrew, - это не _that_ random. – mgarciaisaia
Между v2.46 и v3.0a2 было много моментов времени, когда код в багажнике был сломан или неисправен, и я бы не рекомендовал использовать моментальные снимки той эпохи. v16-Dec-2013.cvs, вероятно, попадает в эту категорию. – Anders