【发布时间】:2015-04-09 15:46:32
【问题描述】:
我有一个使用 Host Intrusion Protection 的客户,并且已将每个用户的临时文件夹设置为不允许执行 (C:\users\\AppData\Local\Temp)。 NSIS 将所有插件 dll 和它自己的 dll 提取到 %TEMP% 以下的文件夹中。问题是不允许从 temp 执行,因此整个安装失败。我需要知道的是如何告诉 NSIS 使用不同的文件夹。我能找到的唯一解决方法是将注册表项 HCU\Environment 下的 TEMP 和 TMP 值从“%USERPROFILE%\AppData\Local\Temp”编辑为 C:\NSISTEM。但是,即使这可以更改注册表然后将其放回去也不是一个真正的选择。我也不能只重定向 InitPluginDir,因为它只会影响插件,而不影响 NSIS 提取的其余部分(图标 xml 文件等......)。有什么想法吗?s
【问题讨论】:
-
为什么 InitPluginDir 不起作用?如果问题是“不允许从 temp 执行任何内容”,那么您仍然可以将资产复制到 temp 目录,因为它们不需要执行,对吗?
标签: nsis