0

我目前正在将安装程序所需的一些文件提取到放置在 Windows 临时目录中的文件夹中。我现在设置的方式是该文件夹具有基于产品名称和日期的唯一名称。

问题是整个文件夹名称变量是在安装程序构建时设置的,而不是在安装程序运行时设置的,这意味着每次运行相同的安装程序时我都没有新的临时文件夹。

我用来创建文件夹的代码是:

; Support folder
;  this folder will contain temporary files visibible only for the lifetime of the installation
!define /date SUPPORTDIR "$TEMP\${PRODUCT_NAME}_%y%m%d%H%M%S"

var InitSupportDirDone
function InitSupportDir
    ${if} $InitSupportDirDone != 1
        SetOutPath "${SUPPORTDIR}"
        !include supportfiles.nsh
        StrCpy $InitSupportDirDone 1
    ${endif}
functionend

这会导致我的 SUPPORTDIR 已经设置,从构建日志中可以看出:

!define: "SUPPORTDIR"="$TEMP\Test-Proj_130911164903"

如何更改此设置,以便在每次安装程序运行时而不是在构建时设置日期(和文件夹名称)?

4

1 回答 1

1

您可以创建一个循环,从 0 后缀开始,只要存在具有该名称的文件夹就可以增加它,但在您不必这样做的情况下,只需调用InitPluginsDir.onInit用作$pluginsdir您的临时文件夹...

于 2013-09-17T15:12:14.900 回答