steveway / papagayo-ng

Papagayo is a lip-syncing program designed to help you line up phonemes (mouth shapes) with the actual recorded sound of actors speaking. Papagayo makes it easy to lip sync animated characters by making the process very simple - just type in the words being spoken (or copy/paste them from the animation's script), then drag the words on top of the sound's waveform until they line up with the proper sounds.
http://steveway.github.io/papagayo-ng/
19 stars 3 forks source link

Destructive Uninstall, incomplete Uninstall #23

Closed Hunanbean closed 3 years ago

Hunanbean commented 3 years ago

It seems the uninstall procedure simply deletes the entire installed folder instead of selectively removing the files that were installed. Example, when i added the ffmpeg manually during previous experiments, it added a couple additional files that are not added during the normal install procedure. When i then uninstalled using the uninstaller, it deleted even these files i had manually added. This time, using the uninstaller, it deleted a file i manually added, but left the Papagayo-NG.exe file. Also, it does not seem to attempt to remove the added libraries, ffmpeg and the AI model from the user directory.

Thank you

steveway commented 3 years ago

The papagayo-ng.exe file likely was left because it was still open. I just tested this and had the same result when I had Papagayo-NG running while running the Uninstaller. The installer and uninstaller is created by a simple NSIS Installer Script here: https://github.com/steveway/papagayo-ng/blob/master/papagayo-ng.nsi There is no real special code for the Uninstaller. I'm not sure if NSIS can check whether a specific program is running during uninstall. I'm not sure how easy it would be to also delete the data from the AppData folder because currently it is created at runtime by the appdirs dependency. appdirs receives the app name and author name and chooses the folder location based on that, so it could be different depending on what appdirs decides. I guess we could choose a fixed directory for Windows so that we can also remove it with the uninstaller. Looking at it now, I just realized I put "Lost Marble" as the author, I think we should change these occurences to "Morevna"or "Morevna Project" instead. Should we really delete the User Directory when Uninstalling? Currently you can delete the FFMpeg binaries and the AI model from the Settings with the click of a button each. And you can also open the directory from another button there too.

steveway commented 3 years ago

Maybe we should test if Inno Setup would be a good alternative. The Scripting of NSIS is a bit archaic compared to what Inno offers. But the NSIS version is already working pretty much like it is supposed to. For the AppData folder, we could maybe write something in the registry for the uninstaller to look up. Or we can just hardcode the folder inside AppData.

Hunanbean commented 3 years ago

I am sure you are correct about the exe still being active on that particular uninstall procedure. It would not be the first program to not uninstall from the user folder. Not a major issue but unless the ffmpeg is defined as a shared installation that other software can access, it seems a better idea to remove it from the user directory automatically if possible. But as you said, it is readily removed by the user if wanted. I noticed the Lost Marble reference. I think you are correct that at this point in development, it should be Morevna Project instead.

steveway commented 3 years ago

I updated the installer. During uninstall it now checks if papagayo-ng.exe is running, if so it will show a Messagebox and when you close that it will close PapagayoNG for you. I also replaced all occurences of Lost Marble to Morevna Project, so the settings will be reset and the AppData Folder will be different now. You can just re-download and install the binary from here: https://github.com/steveway/papagayo-ng/releases/tag/1.6.1 There is also a little improvement for your sound files from https://github.com/morevnaproject-org/papagayo-ng/issues/49#issuecomment-875040305 . I now add half a second of silence at the end for Allosaurus, if you then increase the emission to about 1.4 it recognizes your file to the end. It's a bit strange, without upping the emission it doesn't work, even if I add 10 seconds of silence.

Hunanbean commented 3 years ago

Uninstaller is working great now, including the updated folder name to Morevna Project and recognition and compensation for the program being open. Changing the Emission Multiplier to 1.4 was an excellent idea! It is working much better now.

Thank you