卸载程序不删除注册表
发布时间:2021-02-08 06:16:19 所属栏目:系统 来源:网络整理
导读:Function Check32or64BitWindows${If} ${RunningX64} strcpy $INSTDIR "$PROGRAMFILES64${APP_FULL_PATH}" SetRegView 64${Else} SetRegView 32 strcpy $INSTDIR "$PROGRAMFILES32${APP_FULL_PATH}"${EndIf}FunctionEnd 如果检测到旧版本,则执行 ExecWait
Function Check32or64BitWindows ${If} ${RunningX64} strcpy $INSTDIR "$PROGRAMFILES64${APP_FULL_PATH}" SetRegView 64 ${Else} SetRegView 32 strcpy $INSTDIR "$PROGRAMFILES32${APP_FULL_PATH}" ${EndIf} FunctionEnd 如果检测到旧版本,则执行 ExecWait '"$INSTDIRuninst.exe" /S' $0 我的卸载部分: Section uninstall !define APP_UNINST_KEY "SoftwareMicrosoftWindowsCurrentVersionUninstall${APP_VENDOR} ${APP_NAME}" !define APP_UNINST_ROOT_KEY "HKLM" DeleteRegKey ${APP_UNINST_ROOT_KEY} "${APP_UNINST_KEY}" SectionEnd ? Section -Post WriteRegStr ${APP_UNINST_ROOT_KEY} "${APP_UNINST_KEY}" "DisplayName" "${APP_FULL_NAME}" SectionEnd Post部分在Windows 64位注册表视图中创建注册表项,但卸载程序不会删除注册表项. 如果我删除了对64位操作系统的检查,那么在Wow6432Node中创建和删除注册表就可以正常工作. 解决方法如果您不安装x64应用程序,则根本不应使用SetRegView / $PROGRAMFILES64.如果要安装x64应用程序并在安装期间调用SetRegView 64,则还必须在卸载程序中调用SetRegView 64. 使用Process Monitor调查其他注册表问题… (编辑:瑞安网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读