使用NSIS安装程序复制文件夹,仅显示一个状态窗口,用于复制多个文件夹,将多个文件夹一起复制


NSIS安装程序的CopyFiles在复制不同的文件夹时显示不同的"复制操作的Windows状态窗口",但我希望只显示一个状态窗口,

无论我复制一个还是两个或五个文件夹,就像在Windows中一样,当我们选择两个文件夹时,则只显示一个COPY STATUS窗口,其中显示了两个文件夹的复制操作进度。

这可能吗?我想复制多个文件夹,但只显示复制操作的一个状态窗口。

你不能

用只允许一个"from"路径的CopyFiles来做到这一点。以下是三种选择:

  • 您可以执行第一个操作,检查错误标志以查看用户是否取消了它,如果未设置,则在第二个上使用/SILENT

  • 您可以在两者上使用/SILENT(就我个人而言,我从不使用没有/SILENT CopyFiles,因为我不希望用户能够取消它)。

  • 如果你真的想,你可以用直接的DLL调用来做到这一点 - 我不知道函数是什么,我希望你需要构造一个以null分隔的双null终止字符串,所有这些都是NSIS的繁琐。我怀疑你会认为这是值得的。如果你真的想这样做,对于一个以空分隔的字符串,请使用我们 PortableApps.com 为 PortableApps.com 启动器编写的 NullByte.nsh(用于处理 kernel32::GetPrivateProfileSection - 我们已经切换到在纯 NSIS 中解析 INI 文件,因为它更快且没有错误;我们还将用于处理服务)。

最新更新