gpt4 book ai didi

windows - 安装程序未检测到旧安装版本 NSIS

转载 作者:可可西里 更新时间:2023-11-01 11:57:51 26 4
gpt4 key购买 nike

我正在使用 NSIS 为我的应用程序创建一个设置,需要检查它是否已经安装:

 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "MyAppInstaller.exe"
InstallDir "$PROGRAMFILES\MyApp"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show

Function .onInit
; Check to see if already installed
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME} ${PRODUCT_VERSION}" "UninstallString"
IfFileExists $R0 +1 NotInstalled
Messagebox MB_ICONQUESTION|MB_YESNO "MyApp 1.0 is already installed.Do you want to uninstall old version" IDNO Quit
Exec $R0
Quit:
Quit


NotInstalled:
!insertmacro MUI_LANGDLL_DISPLAY

FunctionEnd ...

但什么也没发生它总是继续安装并且没有检测到旧的安装版本,我错过了什么吗?我不太了解 NSIS 脚本,因此将不胜感激。

最佳答案

我唯一的猜测是您正在检查错误的注册表项,或者返回的路径被引用和/或具有参数,因此文件存在检查失败。

IfFileExists 行之前用 Messagebox mb_ok $R0 验证路径,如果它是空的,你应该尝试 Process Monitor ,它或许能给你一些线索……

关于windows - 安装程序未检测到旧安装版本 NSIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13641529/

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