6

I am using Sparkle to update an application from 0.9.2 to 1.0.0.

In the new update, I have changed the CFBundleIdentifier of MyApp.app from com.MyCompany.MyApp to au.com.MyCompany.MyApp.

When I test downloading this update (through Sparkle which is inbuilt to MyApp.app), it downloads the update and then gives me a window with this message:

An error occurred while extracting the archive. Please try again later.

Is there any other way, apart from having users reinstall the application, to have Sparkle recognise the old CFBundleIdentifier and update it to the new one?

eggy
  • 2,836
  • 3
  • 23
  • 37
  • 1
    Not yet, no fix has been published AFAIK. The only workaround feasible (which isn't the best) would be to include a message and link into the old app to re-download your software (either through an update using the old identifier, or through some kind of global message system if you have one). After that, then progress with your change, and build on your app with the new `CFBundleIdentifier`. I'm guessing for security reasons, you can't update the app to a new bundle identifier - I'm not expecting it to be implemented any time soon, if at all. – eggy Nov 25 '14 at 02:38

1 Answers1

2

You can't change the identifier if you use .dmg for updates.

.zip with a DSA signature might work.

If you use .pkg (or .sparkle_guided.pkg) to deliver the update you can do whatever you want.

Kornel
  • 97,764
  • 37
  • 219
  • 309