I’m working on an extension that acts as an updater for other extensions. Currently I’m implementing “Download and Install” by using os.execute
to open
the downloaded *.aseprite-extension
file in Aseprite. This comes with some caveats:
- My extension’s main
Dialog
must be closed before the built-in Aseprite extension installation warning/dialog appears - I’d like to re-run my extension once the user has installed/cancelled the update, but…
- Calling my
main
function again (or usingapp.command
to call my extension again) tramples over the install dialog and prevents it from appearing
Is there a way I can check that Aseprite is done showing any other dialogs before I try running my extension again?
The idea is: check for updates > click download + install button > close dialog so native install dialog can show up > check for updates again to confirm / update other extensions.
Alternatively (per this GitHub issue), is there any way at all to install extensions from *.aseprite-extension
files via the API? I found some mentions of installCompressedExtension
in extensions.cpp, but that’s not exposed to the Lua API.