【发布时间】:2014-03-12 23:41:48
【问题描述】:
我有一个带有 RMDir /r 指令的 NSIS 脚本,它没有删除目标目录(它只是清空它)。
$ 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 中使用 wine(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
我做错了什么?
【问题讨论】:
-
你为什么使用一些随机版本?当前的 alpha 版本应该比 2013 年的任何版本都好。
-
@Anders:我正在使用 Homebrew 中可用的当前
makensis版本 - 这不是 随机的。 -
在 v2.46 和 v3.0a2 之间有很多时间点主干中的代码被破坏或错误,我不建议使用那个时代的快照。 v16-Dec-2013.cvs 可能属于这一类。
标签: installation nsis uninstallation