![]() This allows Inno Setup to handle #defines, and is essential for clean, maintainable scripts. Demonstrates use of #defines to simplify updates.Automatically generates a different installer filename if the version is incremented.Warns the user if an older verison is being installed over the top of a newer version.During an update, skips relevant pages for simplification.Auto-detects if a previous version has already been installed, regardless of which directory the user originaly chose, and automatically updates the older version.Handles all version updates seamlessly.MicrochipC has released InnoSetupAV, a sample installer script and set of instructions to add seamless auto-versioning and upgrading support to existing InnoSetup scripts. Also referred to as auto-update or auto-upgrade, this is the ability for the application to handle upgrades seamlessly, or warn the user if they are downgrading the program. One feature that Inno Setup v5 lacks is auto-versioning support. Inno Setup is superior to InstallShield in almost every way, its lightweight, simple, and easy to use. That tells you whether the deactivation succeeded or not and what to do based on that error code.Using Inno Setup to Create a Versioned InstallerĪn important piece of any Windows suppport application is an installer that is easy to use.įor Windows distributions, uses Inno Setup to generate custom setup executables. So, convert it to a string first.Īlso, you need the "ret" from Deactivate(True) That's the important thing. That because the msgbox() function expects a string and you're giving it an integer. I tried to get the value of 'IsActivatedUninstall' in a message box, but I got a type mismatch error. You have to declare the function at the top of the script like the other functions are declared. ![]() I'm not sure of the syntax or how I'd need to pass this function in. 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. ![]() If renaming turboactivate.dat is the problem, I understand I'll need to pass in the PDetsFromPath function. Unfortunately the debugging abilities of InnoSetup are truly limited, and a lot of things about it seem to be confusing you. That would probably be the easiest thing for you to do. If it's too complicated, I could have a messagebox asking that the user deactivate prior to install as a workaround. We have to do this so that the uninstaller will be able to remove the // DLL and the \Rubix.dll')) endģ. 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. There are only two functions I use: IsActivatedUninstall, and Deactivate.Ģ. If that is what's happening, and you want you continue to use custom filenames, then you'll have to use "PDetsFromPath()".ġ. You need to read the actual error codes to know what is actually happening. The product details file "TurboActivate.dat" failed to load.*/#define TA_E_PDETS ((HRESULT)0x00000008L) And thus Deactivate is giving you an error "8" (which is 0x8 in hexadecimal, which you can then look up in TurboActivate.h and see this: /* MessageId: TA_E_PDETS Message code (in Hex): 0x8 Message code (in Decimal): 8 ![]() My guess is that because you've renamed TurboActivate.dat, you haven't passed the new filename to TurboActivate.dll so that it know where the file actually is. dll files, hopefully that isn't the issue? Use message boxes to print out what the return code for the TurboActivate functions (without the return codes you're just flying blind changing things that don't matter).Īnd, like I said in response to this: Also, I've renamed the turboactivate.dat and. I'm talking about the return codes for the functions. I'm not talking about the exit code of the installer or uninstaller. When I run the uninstaller via inno setup, I get an exit code of 0.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |