Please see below:
1. There are only two functions I use: IsActivatedUninstall, and Deactivate.
2. I tried to get the value of 'IsActivatedUninstall' in a message box, but I got a type mismatch error. if CurUninstallStep = usUninstall then begin // check if activated ret := IsActivatedUninstall(VERSION_GUID); msgbox(ret, mbInformation, MB_OKCancel) // deactivate if activated if ret = 0 then begin ret := Deactivate(True); end; // Now that we're finished with it, unload Rubix.dll from memory. // We have to do this so that the uninstaller will be able to remove the // DLL and the {app} directory. UnloadDLL(ExpandConstant('{app}\Rubix.dll')); end
3. If renaming turboactivate.dat is the problem, I understand I'll need to pass in the PDetsFromPath function. However, while I was able to use this function in my vb application, I don't know how to use this in my inno set up program, since the PDetsFromPath function isn't part of the inno setup API. I'm not sure of the syntax or how I'd need to pass this function in.
If it's too complicated, I could have a messagebox asking that the user deactivate prior to install as a workaround.
Please let me know your thoughts.