대상 디렉토리를 제거하지 않는 RMDir /r
명령어가있는 NSIS 스크립트가 있습니다. 비어있는 것입니다.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
문제는 (동일한 윈도우에서 발생)에서라도 와인을 사용하는 방법에 대한 하지입니다.
!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
내가 잘못 있다고 무엇 :
내 installer.nsi
이 예에 손질 한?
왜 임의의 버전을 사용하고 있습니까? 현재 알파는 2013 년보다 더 좋아야합니다. – Anders
@ 앤더스 : Homebrew에서 사용할 수있는 현재 'makensis'버전을 사용하고 있습니다. – mgarciaisaia
v2.46과 v3.0a2 사이에는 트렁크의 코드가 깨지거나 버그가 많은 시간대가 있었으며 그 시대의 스냅 샷을 사용하지 않는 것이 좋습니다. v16-Dec-2013.cvs는 아마도 해당 카테고리에 속합니다. – Anders