NSIS设置了所需的空间'在卸载程序中

时间:2017-05-05 08:03:55

标签: nsis rmdir

我的卸载程序显示0 Kb,需要空间'在组件页面上,因为我的章节中没有文件操作。 但是我在我的章节中使用RMDir删除了一些文件和目录,所以我想要“空间需要”#39;显示所有选定组件的总和。

我使用SectionSetSize尝试了此操作,但需要使用空间'仍显示0。

Section "un.Delete directory" deldirSection
# ...
SectionEnd

Function .onInit

    # ....

    MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
    "${APPNAME} is already installed. $\n$\nClick OK to remove the \
    previous version or CANCEL to cancel this upgrade." \
    IDOK uninst
    Abort

    # Run the uninstaller

    uninst:

    # calculate size of data dir
    var /GLOBAL dirSize
    ${GetSize} $DIRPATH "/S=0K" $0 $1 $2
    IntFmt $dirSize "0x%08X" $0

    # add size of data dir to appropriate section
    SectionSetSize ${deldirSection} $dirSize

    ClearErrors
    ExecWait $INSTDIR\uninstall.exe ;  
    Abort

    done:

FunctionEnd  

1 个答案:

答案 0 :(得分:1)

SectionSetSize中调用un.onInit来修改卸载程序,而不是.onInit