Disable menu items for applications

apizz
Valued Contributor

Some of our users are interested in using the Grammarly native OS X application, but I inspected the application contents and it doesn't look like there's an easy way to disable update checks just by renaming a framework or something like that.

Is there an easy(ish) way to disable or at least manage access to menu items within particular applications?

8753de298a274734ad330780520b8700

6 REPLIES 6

mm2270
Legendary Contributor III

The application would need to support that I think with a defaults write command to the app's plist, or some other method. I doubt very much you can remove stuff by messing with the compiled app's contents.

I don't use it, but is there a Preferences menu with options, or a companion Preference Pane for it with preference options? Or, have you contacted the developer of Grammarly about this? They may have some hidden undocumented functionality to disable the auto update checking.

apizz
Valued Contributor

OK. @mm2270 I actually went in and found what looks to be the files it uses to check and update the app within the app's frameworks directory, but simply changing the name and it still checks ... maybe I'll try changing permissions and see if that works.

mm2270
Legendary Contributor III

As I said, I'm not sure I would go the route of changing permissions, renaming files and such inside the app bundle, unless you're OK with the idea that you may be destabilizing the application for your users. Again, have you reached out to the developer yet? Is there a way to contact them about this?

apizz
Valued Contributor

@mm2270 I understand your point. I just know historically for Flash and Java for example just changing names of things has allowed us to prevent checking of updates.

I'll reach out to them. Just wondered if there was another way I could think about solving this (like locking down menu items)

mm2270
Legendary Contributor III

@aporlebeke Ok, I just took a look at the app. I assume its the one you can download from here: https://www.grammarly.com/native/mac

I see one of the frameworks in it is Squirrel. If you look at the plist file for it, it indicates its a github project. Doing a quick search on github turned up this:
https://github.com/Squirrel/Squirrel.Mac
I believe that is the update framework that would need to be disabled, since its clearly an open source tool for updating applications (Windows and Mac) I would try removing that, or changing perms to see if you can stop it from using the framework, hopefully without breaking the application altogether.

Edit: Quick and dirty test results:

  • removing Framework, result: app crashes with error
  • changing permissions to root:wheel and 700, result: app crashes with error

The app looks like its a signed application, so I don't think direct manipulation of the app bundle will work no matter what you try. One of the things about Gatekeeper is that even when its effectively disabled, i.e, set to Allow from Anywhere, it still checks signed application signatures to make sure they have not been tampered with. If anything about them is off, the OS won't allow it to run, period. So Gatekeeper is still protecting you in that state from messed up apps. You're going to have to contact the app developer to see if they have a way of disabling it with a defaults command or a Config Profile, etc.

apizz
Valued Contributor

Thanks for looking at that @mm2270 . I reached out to them in the hopes of getting some key/value pair added to their preferences PLIST, or something like that, to disable updates.