You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm running into trouble figuring out how to set our app up for a name change--mostly because I'm misunderstanding things, I think. In short, we want to push an update where the app is renamed from Old App Name.app to Name App Name.app, in the Applications folder.
I've looked at the following issues to try and make this behavior work:
NOTE: prior to adding this SUBundleName to the plist, Sparkle emitted an error where, during extraction of the update, it couldn't find a .app or .pkg of the expected name; (that being Old App Name.app). It seems SUBundleName has fixed this.
in the xcconfig for Sparkle, we have:
SPARKLE_NORMALIZE_INSTALLED_APPLICATION_NAME = 1
The 'update' is configured like this:
filename: New App Name.app
bundle name: New App Name
bundle identifier: com.company.oldappname
NOTE: we found changing the bundle identifier broke Sparkle's codesign verification, so we're just... not going to change it.
The behavior we expect:
currently installed Old App Name.app detects an update. It either prompts the user to install or runs automatically--however it's configured.
it downloads the DMG (or zip) specified in its appcast, then extracts files from it.
it looks for a .app or .pkg that matchesSUBundleName, in this case New App Name.app
it copies that .app to a temporary folder, then copies it over the currently-installed app and restarts.
This is where what I expect and what happens differ:
Because SPARKLE_NORMALIZE_INSTALLED_APPLICATION_NAME=1andSUBundleName are both set, I would expect the installed Old App Name.app to be renamed to New App Name.app--instead, it's left as Old App Name.app, or set back to Old App Name.app if it had been changed previously.
Do you use Sandboxing in your app?
No.
Version of Sparkle.framework in the latest version of your app
1.20.0
Version of Sparkle.framework in the old version of app that your users have (or N/A)
1.20.0
Sparkle's output from Console.app
None relevant.
Steps to reproduce the behavior
See above.
The text was updated successfully, but these errors were encountered:
I think the change needed would be in SUInstaller.m, method normalizedInstallationPathForHost--instead of just pulling the path off of the host bundle, it would check to see if SUBundleIdentifier is set. Does that sound right?
I'm happy to put up the PR, I'm just sanity-checking my thoughts before I start hacking :)
I'm running into trouble figuring out how to set our app up for a name change--mostly because I'm misunderstanding things, I think. In short, we want to push an update where the app is renamed from
Old App Name.app
toName App Name.app
, in the Applications folder.I've looked at the following issues to try and make this behavior work:
#400
#469
#782
I'll try to run down how we have things set up, the behavior we want, and the behavior we're seeing instead:
Description of the problem
The current version is configured like this:
filename:
Old App Name.app
bundle name:
Old App Name
bundle identifier:
com.company.oldappname
in the
Info.plist
for the app, we have:NOTE: prior to adding this
SUBundleName
to the plist, Sparkle emitted an error where, during extraction of the update, it couldn't find a.app
or.pkg
of the expected name; (that beingOld App Name.app
). It seemsSUBundleName
has fixed this.in the
xcconfig
for Sparkle, we have:SPARKLE_NORMALIZE_INSTALLED_APPLICATION_NAME = 1
The 'update' is configured like this:
filename:
New App Name.app
bundle name:
New App Name
bundle identifier:
com.company.oldappname
NOTE: we found changing the bundle identifier broke Sparkle's codesign verification, so we're just... not going to change it.
The behavior we expect:
Old App Name.app
detects an update. It either prompts the user to install or runs automatically--however it's configured..app
or.pkg
that matchesSUBundleName
, in this caseNew App Name.app
This is where what I expect and what happens differ:
Because
SPARKLE_NORMALIZE_INSTALLED_APPLICATION_NAME=1
andSUBundleName
are both set, I would expect the installedOld App Name.app
to be renamed toNew App Name.app
--instead, it's left asOld App Name.app
, or set back toOld App Name.app
if it had been changed previously.Do you use Sandboxing in your app?
No.
Version of
Sparkle.framework
in the latest version of your app1.20.0
Version of
Sparkle.framework
in the old version of app that your users have (or N/A)1.20.0
Sparkle's output from Console.app
None relevant.
Steps to reproduce the behavior
See above.
The text was updated successfully, but these errors were encountered: