-
Notifications
You must be signed in to change notification settings - Fork 220
App-based DMGs for OSX (i.e no installer) #3616
App-based DMGs for OSX (i.e no installer) #3616
Conversation
This allows us to distribute the IDE with a valid signature on it, possibly solving some Gatekeeper-related problems on OSX.
The DMGs that this generates have slightly different names to the installer-based ones, so some infrastructure changes will be required (these DMGs omit 'Installer' from the name, as that would just be misleading!). |
@livecodefraser Thank you for this. Now how about .deb and/or .rpm files for linux builds? Or even .gz files so that the executable bit is preserved. |
@livecodefraser: I notice 'Setup' is removed from the app bundle... Won't this disable the auto-updater which the IDE launches from within itself on startup? |
Hence the "WIP" tag ;) I decided to do a little testing before doing the complicated bit of sorting out the auto-updater (looks like it involves some changes to binary stacks, unhappily). |
This makes the DMGs smaller with the trade-offs that compression takes longer and the DMG can't be opened on OSX versions before 10.4.
This consists of two main parts: 1. Adding an AppleScript that does some Finder manipulations to configure the DMG window as we want it (so, when running the installer, some Finder windows may pop-up and disappear). 2. Do the DMG building in two steps. First, a read-write image is produced which the AppleScript manipulates. Once that is done, the image is converted to compressed read-only mode. The repo currently only contains resources for the Community edition. Commercial/Indy and Business resources will be added shortly.
The Indy one is named Commercial in the 6.7 repo - it'll be changed to Indy when I merge it up into 7.
This installer launches an AppleScript that opens a Finder window on the DMG so the user can drag it to their Applications folder. This is needed to that old auto-updaters that try to launch an installer in the DMG do something useful rather than failing silently.
This is the installer without the installer payload.
Corresponding IDE change: livecode/livecode-ide#945 |
Instead of a .scpt binary blob.
Just a couple of minor comments. Reviewed 3 of 4 files at r1, 1 of 1 files at r2, 9 of 11 files at r3, 3 of 4 files at r4. builder/tools_builder.livecodescript, line 457 [r1] (raw file): What about this alternative implementation which will prevent all shell expansions?
builder/tools_builder.livecodescript, line 463 [r1] (raw file): engine/rsrc/dmg/fake-installer.sh, line 12 [r3] (raw file): Comments from the review on Reviewable.io |
@livecode-vulcan review ok 4714aa5 |
App-based DMGs for OSX (i.e no installer) This allows us to distribute the IDE with a valid signature on it, possibly solving some Gatekeeper-related problems on OSX. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/livecode/livecode/3616) <!-- Reviewable:end -->
App-based DMGs for OSX, 7.x edition #3616 but pre-merged into 7.0
App-based DMGs for OSX (i.e no installer)
This allows us to distribute the IDE with a valid signature on it, possibly solving some Gatekeeper-related problems on OSX.