我目前正在将安装程序所需的一些文件提取到放置在 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"
如何更改此设置,以便在每次安装程序运行时而不是在构建时设置日期(和文件夹名称)?