gpt4 book ai didi

NSIS 卸载程序不会删除文件/文件夹

转载 作者:行者123 更新时间:2023-12-02 22:11:30 34 4
gpt4 key购买 nike

我正在为我工​​作的公司内部使用的应用程序之一编写 NSIS 安装程序,安装过程工作正常,所有 REG 键都已创建,文件夹和服务也没有问题,该应用程序使用。出于某种我无法理解的原因,卸载过程不起作用。

应用程序创建的服务被删除,注册表项也被删除,最简单的部分,文件本身,我无法通过卸载程序删除它们!

#Includes
!include "x64.nsh"
#Defines and Installer Properties
Outfile "ESTvnc Installer.exe"
Name ESTvnc
Icon "${NSISDIR}\contrib\graphics\icons\VNCON.ico"
#Detect OS Version
Function .onInit
StrCpy $instdir $PROGRAMFILES
${If} ${RunningX64}
StrCpy $instdir $PROGRAMFILES32
${EndIf}
FunctionEnd

section
SetShellVarContext all
CreateDirectory $instdir\EST\ESTvnc
setOutPath $instdir\EST\ESTvnc
File /r installfiles\*
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ESTvnc\" \
"DisplayName" "ESTvnc"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ESTvnc"\
"UninstallString" "$instdir\EST\ESTvnc\uninstaller.exe"
writeUninstaller $instdir\EST\ESTvnc\uninstaller.exe
ExecWait '"$instdir\EST\estvnc\estvnc.exe" -install'
sectionEnd

section "Uninstall"
SetShellVarContext all
SimpleSC::StopService "ESTVNC" 1 30
pop $0
SimpleSC::StopService "ESTVNCSR" 1 30
pop $0
SimpleSC::RemoveService "ESTVNC"
SimpleSC::RemoveService "ESTVNCSR"
RMDir /r "$instdir\EST\ESTvnc"
Delete $instdir\EST\ESTvnc\uninstaller.exe
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ESTvnc"
sectionEnd

最佳答案

在卸载程序中,$instdir 是卸载程序所在的目录!

将卸载程序放在 $instdir 中并删除 $instdir\EST\ESTvnc 或者如果你想将它保留在 $instdir\EST\ESTvnc,删除 $instdir...

关于NSIS 卸载程序不会删除文件/文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15229001/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com