renamed app won't install

Asked by Robert DuToit

Hi Andy,

I did something maybe really dumb a while ago. I rewrote my app completely and decided to change the name, actually just capitalizing on e letter. I didn't think at the time of updating via Sparkle from the old to the new. Both versions have their own Sparkle set up and have been independent with no problems.

Now I have decided to stop updating the older version and move people onto the new one but the update downloads but will not install saying there is an error. If I change the old app's name ( capitalize the one letter ) it updates correctly. Is there any way I can tweak this, make the update non- case sensitive?

Humbly, Rob

Question information

Language:
English Edit question
Status:
Answered
For:
Sparkle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Andy Matuschak (andymatuschak) said :
#1

Unfortunately, you're out of luck there: since your users already have the older version (which *is* case sensitive) installed, and that's the version which would be performing the relevant checks, you can't make any change to your newer version that would make this behavior possible.

One (unfortunate) possibility would be for you to ship the update to your app with the old name, then have the app rename itself on first launch if appropriate.

Revision history for this message
Robert DuToit (rdutoit) said :
#2

Yes - I thought it wouldn't work but was trying to think of a way to rename - maybe not a big deal to implement though a little scary...

Thanks Andy as always for your great Sparkle.

best, Rob

On Sep 27, 2011, at 1:25 PM, Andy Matuschak wrote:

> Your question #172281 on Sparkle changed:
> https://answers.launchpad.net/sparkle/+question/172281
>
> Status: Open => Answered
>
> Andy Matuschak proposed the following answer:
> Unfortunately, you're out of luck there: since your users already have
> the older version (which *is* case sensitive) installed, and that's the
> version which would be performing the relevant checks, you can't make
> any change to your newer version that would make this behavior possible.
>
> One (unfortunate) possibility would be for you to ship the update to
> your app with the old name, then have the app rename itself on first
> launch if appropriate.
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/sparkle/+question/172281/+confirm?answer_id=0
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/sparkle/+question/172281
>
> You received this question notification because you asked the question.

Revision history for this message
Hofman (cmhofman) said :
#3

Perhaps what you could do is introduce an intermediate update that will use the old name and will be updated through the old name, but contains a modified Sparkle bundle that checks the name case insensitively. This intermediate update should then look for a different feed URL, which will contain the future updates with the different name. This way all old (and the current) versions will use the old feed URL and eventually end up with this intermediate update, while the intermediate and later updates will use a different feed that links to updates with the new name.

Revision history for this message
Robert DuToit (rdutoit) said :
#4

Well, I thought of that but again I need to modify the Sparkle bundle for the intermediary so it can move to the new version with the case sensitive name. I am happy to modify the bundle but can I? I don't have the source code or know if Andy makes that available.

Cheers, Rob

Revision history for this message
Andy Matuschak (andymatuschak) said :
#5

Sparkle is open-source and licensed without encumbrance. http://github.com/andymatuschak/Sparkle/

Revision history for this message
Hofman (cmhofman) said :
#6

And moreover the distribution contains all the source code.

Revision history for this message
Robert DuToit (rdutoit) said :
#7

I think I will go with Andy's (unfortunate) suggestion to change the app name on first launch for the intermediary update.

I ran into a lot of errors trying to build the Sparkle source:

[NSString stringWithFormat:SULocalizedString(@"Updating %@", nil), [host name]];

error: format not a string literal….. it doesn't seem to be picking up the #define for SULocalizedString

I may tinker some more but I found that the rename() function can rename the app while running which is not too scary .

Thanks, rob

Can you help with this problem?

Provide an answer of your own, or ask Robert DuToit for more information if necessary.

To post a message you must log in.