1

I have an application with FinderSync extension support.

I want to achieve silent update for this application. The only approach that I came up with at this moment, is installing the new version of the app into ~/Library/Application Support/../..., and whenever clicks the app from /Applications, redirect the user to Application Support one.

That means I will end up with two versions for the same app. One in /Applications and the other one in Application Support.

I have some issues after launching the application from both above locations.

  1. If the user first starts the App from /Applications, selects Keep in dock, closes the app, updates the app by copying the new app to App Support and after that starts the app from App Support, I will end up with two dock icons.
  2. Whenever I start the application, the FinderSync extension is automatically installed by the OS. It can be viewed in System Preferences->Extensions. Once the user quits the app and deletes the bundle, the OS automatically deletes the extension, so is no longer available in Extensions pref pane. However if I opened the application from both above locations, deleting the app from /Applications does not remove entirely the FinderSync extension from Extensions pref pane. Only after I remove the second application(the one from App Support), the FinderSync extension is removed from Extensions pref pane.

Are there any ways to overcome the above issues?

Please note that I have another question posted on a similar topic, while attempting to get rid of the above behavior using another technique, but I gave up using that approach a while ago: OSX two dock icons for same application

Thanks

Community
  • 1
  • 1
ciprian
  • 175
  • 7
  • Why not run do the following for silent install: When the user click the app from /Applications and you identified an update is due, close your app and run a proxy that will copy the new app to /Applications and start it. That's what I'm doing and it works fine. – Mugen Oct 29 '15 at 09:08
  • Well basically I am doing the same, but when the user does not have write privileges to /Applications, things get complicated. The solution I found is that whenever the user does not have write access to /Applications, copy the updated app to an accessible location for current user. Did I miss something? – ciprian Oct 30 '15 at 12:09
  • @Mugen how do you handle the situation when the user does not have access to /Applications folder? – ciprian Oct 30 '15 at 12:11
  • I pop a confirmation dialog requiring an admin password. Will that be problematic for your users? – Mugen Oct 30 '15 at 12:12
  • Well, I suggested the same approach to our product owner, but he said that the update wouldn't be silent anymore, since it requires user intervention – ciprian Oct 30 '15 at 14:36
  • Yes you are correct of course. And in that case I don't think 1 is possible, judging from previous threads on the issue. Regarding 2, I've seen code to remove an extension from the list. Have you tried it? – Mugen Oct 30 '15 at 15:04
  • I know I can do that, but this means that I know the exact moment when the user uninstalls(deletes) the application from /Applications. This can be done only with a daemon or something... – ciprian Nov 02 '15 at 07:54

0 Answers0