Skip to content
⌘ NSIS Forum Archive

using rollback with "CABsetup.dll"

7 posts

thanatos83#

using rollback with "CABsetup.dll"

HI all.

I need a little help with this plugin, because this work for me fine but i need to set a nice script with rollback issue.

I wish to delete the rest of files installed and remove some registry as entries in Add/remove programs, etc...

well i get to delete files but the entry in "add/remove programs" it isn't removed.

this is my part of script with that:

# Rollback
# ===============================
Function Abortar            
    DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
    Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^UninstallLink).lnk"
    Delete "$DESKTOP\STR.lnk"
    Delete "$QUICKLAUNCH\STR.lnk"
    Delete /REBOOTOK $INSTDIR\uninstall.exe
    DeleteRegValue HKLM "${REGKEY}" StartMenuGroup
    DeleteRegValue HKLM "${REGKEY}" Path
    DeleteRegKey /IfEmpty HKLM "${REGKEY}\Components"
    DeleteRegKey /IfEmpty HKLM "${REGKEY}"
    RmDir /r /REBOOTOK $SMPROGRAMS\$StartMenuGroup
    RmDir /r /REBOOTOK $INSTDIR
    DeleteRegValue HKLM "${REGKEY}\Components" BaseFiles
    Push $R0
    StrCpy $R0 $StartMenuGroup 1
    StrCmp $R0 ">" no_smgroup
no_smgroup:
    Pop $R0  
FunctionEnd 
Well this script is copied from uninstaller section, i think this is correct if i wish to delete files and install a new clean installation again. 😕
thx.
thanatos83#
Originally Posted by MSG View Post
Are you sure you don't just need to refresh ARP?
How can i do this?, so i forgive mention that the shortcut not removed :S
MSG#
Just press F5 in ARP. If an uninstaller is called from ARP, it automatically refreshes afterwards. If you're looking at ARP while some other application removes the registry entry, you may have to do a manual refresh.
thanatos83#
HI MSG.

OK i press it, but not working 🙁 and i see the shortcut in desktop. So i need to do manually but how can i do manually?

thanks.
thanatos83#
HI MSG.

OK i press it, but not working 🙁 and i see the shortcut in desktop. So i need to do manually but how can i do manually?

Note: this is the part of the script that i can handle the cancel button.

; Handle case where extraction was cancelled.
    ${If} $R0 = 995        
        Call Abortar
        DetailPrint "Extract process was cancelled"
        SetDetailsPrint None        
        Goto Done
    ${EndIf}
    DetailPrint "Extract failed with error code $R0"
    Done: 
thanks.
thanatos83#
Hi.

Not working by pressing F5 or exit and going after to ARP. :S

So other files are removed but other files as "uninstall.exe, shortcuts, that entry in ARP" not removed. If i set abort this does work but i need to press cancel button twice to exit.