为 !define /date "NOW" 使用特定的 strftime 格式时无法打开 Outfile 错误 (NSIS 3.0.5)

Can't open Outfile error (NSIS 3.0.5) when using a specific strftime Format for !define /date "NOW"

我有以下定义:!define /date NOW "%Y-%b-%d_%H-%M-%S" 这样创建输出文件时:OutFile "..\my_app_name_Setup-x64_${NOW}_Build_${__COUNTER__}.exe" 编译成功。但是,当我将格式更改为:!define /date NOW "%Y-%b-%d_%H:%M:%S"(有效地通过冒号更改小时、分钟和秒的连字符)时,它不再编译成功。 (编译错误“无法在最后打开 Outfile”)。
两 (2) 个问题:

  1. 导致此错误的原因是什么?
  2. 如何使用我喜欢的 strftime 格式? (= HH:MM:SS 的冒号)

也许 Anders 可以对此有所启发 ;)

添加2。根据 https://nsis.sourceforge.io/mediawiki/index.php?title=Reference/!define&oldid=24774 tmy 格式("%Y-%b-%d_%H:%M:%S" 是正确的。(可能会折旧(?)

Windows 文件名中的冒号不合法。参见 Naming Conventions: reserved characters

如果您在 POSIX 上编译,这在理论上是合法的,但毫无意义,因为您无法在不重命名的情况下执行安装程序。