FAForever / downlords-faf-client

Official client for Forged Alliance Forever
https://faforever.com
MIT License
196 stars 121 forks source link

Install4j old jar stays in lib folder #1479

Closed 1-alex98 closed 4 years ago

1-alex98 commented 4 years ago

Describe the bug FAF client instalation corrupted as old jars stay in lib folder.

Bug report received via web form:

1 Product: install4j 2 Version: 7.0.12 3 Platform: Windows 4 Name: Alexander von Trostorff 5 E-mail: alexander.von.trostorff@gmail.com 6 Serial: *7 Description: When updating our application there were two cases where old jars stayed in the lib folder and were not deleted. Which caused malfunctions in the newly installed version. I can sadly not provide any logs but will try to provide those in case it happens in another case and I can get a user to send me those. A renewed Installation fixed the issues.

I would expect from Install4j that it fails with installing if it is not able to delete a file from the previous installation or that it at least prompts the user whether to proceed. And maybe asks the user to manually remove the files.

Otherwise I would be happy to receive any suggestions how to work arround that issue by e.g. adding extra steps to uninstall process that make sure installation fails with an appropriate error message instead of installing coruppted version.

Project: https://github.com/FAForever/downlords-faf-client

Response from Install4j: Thanks for your email.

two cases where old jars stayed in the lib folder and were not deleted

This indicates that an application that was using the JAR files was still running. You could add a "Check for running processes" action to the installer to ensure that all launchers are terminated.

I would expect from Install4j that it fails with installing if it is not able to delete a file from the previous installation or that it at least prompts the user whether to proceed. And maybe asks the user to manually remove the files.

This is what the uninstaller would do by default on Linux or macOS with the "Uninstallation failure" screen. On Windows, there is a special mechanism with an executable in the temp directory to delete such undeletable files after the uninstaller exits. This is necessary because the running uninstaller itself prevents the deletion of some files. If something else prevents the deletion, there is no logic at that point to indicate a failure. You could check in the installer if the installation directory has been removed after the "Execute previous uninstaller" action.

OS Linux or Windows

Wanna have the bug fixed quickly? Visit Issue hunt... Issue hunt

1-alex98 commented 4 years ago

ok i tried and i got no idea how to do this