【发布时间】:2017-11-22 22:43:27
【问题描述】:
这里是 NSIS 新手。
我正在使用 ExecWait 命令调用我的卸载程序,因为在卸载之前我已经预先定义了自定义页面。
ExecWait '"$R6\Uninstall.exe" _?=$R6' ;Do not copy the uninstaller to a temp file
$R6 是我的安装目录路径。
但这是在卸载期间复制 Windows 临时文件夹中的文件,并且防病毒软件阻止这些文件卸载并损坏卸载程序.exe
如何在卸载过程中停止创建这些临时文件?即使我从控制面板卸载它,我也面临这个问题。!?
由于它是客户端系统,我们无法禁用防病毒(该选项已被排除)。请有人可以帮我解决这个问题。在此先感谢
【问题讨论】:
-
这个 ExecWait 调用在哪里?在安装程序或卸载程序中?发布更多代码。
-
嗨安德斯,它在安装程序检查以前安装的应用程序期间被调用,如果找到任何版本,则调用此命令。
-
如果您在从安装程序运行卸载程序时使用 _?=,则卸载程序不会被复制到 %temp%。
-
Anders ,是的,即使我一直想知道是什么让我的卸载程序在我使用 _?= 时创建了临时文件,而且这只发生在我们测试过的少数系统中,其余代码完美运行美好的。除了杀毒软件,我还有什么需要注意的吗? NSIS 是否与任何系统进程冲突?我对此有点困惑,因为用户无法从他的系统中卸载应用程序
-
当用户从控制面板运行它时,它会被复制到 temp,_?= 仅适用于在旧版本之上安装新版本的用户。
标签: installation nsis uninstallation antivirus