1. #1

    The macOS installation & uninstallation experience is miserable. (+ INSTRUCTIONS)

    So, to begin with I don't know if it's just that nobody at SmiteWorks is particularly familiar with macOS (it makes sense and isn't necessarily a bad thing), but the experience of installing and uninstalling FGU on macOS is painful (and in the case of uninstalling, just plain doesn't work).

    For starters, there is no reason FGU should be distributed and installed as a .pkg file. Very few apps ever need this, and those that are justified are usually implementing system-level support services or drivers. Instead, the standard pattern expected by macOS users is that apps that don't come through the app store are distributed as an .app package (though users themselves never see the file extension, generally) in a dmg disc image; they drag the .app into the Applications folder (usually with a shortcut within the dmg image itself, much like the screenshot below!)

    I can understand to an extent that this isn't as straightforward with FGU because it uses a separate binaries for the launcher/updater and the FG app itself, but this experience could still be significantly better.

    The real problem with using a pkg file, though, comes when the user wants to uninstall the app. Users should not have to run a bash script to uninstall an application like this (hell, most users won't even know how to do that). At the very least if you intend to continue distributing FantasyGrounds as a .pkg, you should either have an uninstaller binary that appears in the /Applications folder alongside the other apps, or you should add an Uninstall option within the FantasyGrounds launcher itself that executes the uninstallation script.

    Which brings us to the worst of the problems I ran into:
    — The script asks you to run as root, which most users will not know how to do (or what that even means).
    — The script... doesn't actually even work. Step 1 works fine, but steps 2 and 3 are completely broken.
    — Step 2 is attempting to call pkgutil --forget using a package name matching "org.FantasyGroundsInstaller." when the actual registered package name is "com.SmiteWorks.FantasyGrounds".
    — Step 3 is attempting to remove folders that don't exist in the first place, and aren't even the application folders that need to be removed. The script never touches /Applications/SmiteWorks/, which is the folder under which the FGU binaries are placed to begin with.

    None of this was a positive experience, and if I didn't have the knowledge I have about macOS systems I probably would not have found an appropriate solution to uninstalling FGU from my iMac.

    FGU Uninstall Instructions (macOS)
    Updated as of 24 Feb 2020
    Here are some instructions for folks who come across this who need to uninstall FGU.
    1) Open Terminal.app.
    2) Type sudo /Applications/SmiteWorks/Fantasy\ Grounds/uninstall.sh. You will be prompted to enter your macOS user password in the terminal; this is normal and part of the system, not SmiteWorks or FantasyGrounds asking for your password — it's needed because the app is installed in protected system directories.
    3) Hit Return/Enter when asked if you'd like to uninstall.
    4) Step 1/3 should be a success, while steps 2/3 and 3/3 will show "[ERROR] Could not delete application informations" and "[ERROR] Could not delete application" respectively.
    5) Type sudo pkgutil --forget com.SmiteWorks.FantasyGrounds. You should see "Forgot package 'com.SmiteWorks.FantasyGrounds' on '/'." when this is done.
    6) Type sudo rm -rf /Applications/SmiteWorks/.
    After completing Step 6, Fantasy Grounds should be successfully removed from your machine. If you don't want to delete your associated data (campaigns, rulesets, etc) then you're done! Otherwise, continue to Step 7.
    7) Type rm -rf ~/SmiteWorks/ (do not include sudo in this command!) to delete the FantasyGrounds data files.
    Last edited by Minalien; February 25th, 2020 at 00:04. Reason: Add "+ INSTRUCTIONS" to title, since I added instructions on how you can uninstall with the current FGU setup.

  2. #2
    Thanks for the feedback. I've passed on to Ryan to review.


  3. #3
    Um, okay so far more worrying

    I got a feeling that this uninstall script was copy-pasted with very minor updates?

    And I found the source: https://raw.githubusercontent.com/ws...4/uninstall.sh

    You... You do realize you're not allowed to just grab Apache 2.0-licensed code and redistribute it without including the original copyright and license information?

    It looks like this part might possibly be a generated file? The only two sources I've found matching it are Autodesk Synthesis and the wso2 cellery script I mentioned above, so I can't be entirely certain. Script still doesn't work, either way.
    Last edited by Minalien; February 25th, 2020 at 00:38. Reason: Update from further investigation into the script.

  4. #4
    Hi Minalien,

    Thanks for your feedback.

    Originally, we were investigating the traditional Drag and Drop app install as you said.
    Again, as you said, this wasn't quite as straightforward in part because of the multiple binaries.
    As for other reasons:

    1. We discussed particularly that distributing on the App Store does require using a package, so if we were going to do that at any point, it would be good to use the same distribution
    2. Since Fantasy Grounds itself is not installed with the distribution (as it would almost certainly need an update immediately), the ability to automatically launch the updater upon install was an appealing and straightforward option, and brought a parity to Windows.

    As to the Uninstall issues:
    The updater itself has uninstall code in it already, but I agree that having an Uninstall button to trigger that is probably a good way to go about. Possibly also with a standalone shortcut to trigger that from the OS.
    This is largely something that got overlooked, so I've filed FGU-909 to address these issues.
    I've been a bit bogged down with Apple's Notarization service since some new requirements went into effect in Jan.
    As soon as these are addressed, I'll take a look at the Uninstall process here.


Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Log in

Log in