# Catalina changes executable to non-executable on download

**URL:** <https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186>\
**Category:** Getting Started\
**Created:** [November 18, 2019, 6:09pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186 "2019-11-18T18:09:56Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Beatrix\_Willius](https://forum.xojo.com/user_avatar/forum.xojo.com/beatrix_willius/32/282_2.png) [@Beatrix\_Willius](https://forum.xojo.com/u/Beatrix_Willius)\
**Post date:** [November 19, 2019, 5:56am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/21 "2019-11-19T05:56:12Z")

</div>

You could ask the dev of the app from the YouTube video what he did to f.u.c.k up his app and why he doesn’t fix it.

---

<div class="post-metadata">

**Author:** ![Andy\_Broughton](https://forum.xojo.com/user_avatar/forum.xojo.com/andy_broughton/32/30_2.png) [@Andy\_Broughton](https://forum.xojo.com/u/Andy_Broughton)\
**Post date:** [November 19, 2019, 6:03am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/22 "2019-11-19T06:03:33Z")

</div>

True, except he (like me) probably didn’t f-up his app (AFAIK), Catalina did.

Maybe it’s the .zip program in Catalina…  
[https://superuser.com/questions/1345755/how-to-fix-the-application-cant-be-opened-on-mac](https://superuser.com/questions/1345755/how-to-fix-the-application-cant-be-opened-on-mac)

---

<div class="post-metadata">

**Author:** ![Andy\_Broughton](https://forum.xojo.com/user_avatar/forum.xojo.com/andy_broughton/32/30_2.png) [@Andy\_Broughton](https://forum.xojo.com/u/Andy_Broughton)\
**Post date:** [November 19, 2019, 6:14am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/23 "2019-11-19T06:14:10Z")

</div>

Well, what do you know?

That is the problem, the Archive app built into Catalina. For some reason it is causing this change.  
When I unzip the program with UnArchiver, it works properly and does not change the executable flag.

Crazy, eh?

Maybe this is the underlying reason to use a .dmg instead of .zip for the file, as others have mentioned.  
It’s a workaround to Apple’s F-up in Catalina!!

---

<div class="post-metadata">

**Author:** ![Jeff\_Tullin](https://forum.xojo.com/user_avatar/forum.xojo.com/jeff_tullin/32/693_2.png) [@Jeff\_Tullin](https://forum.xojo.com/u/Jeff_Tullin)\
**Post date:** [November 19, 2019, 6:16am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/24 "2019-11-19T06:16:07Z")

</div>

> [@](#):
>
> why Catalina changes the executable flag.

It doesnt  
My money is simply on the unzip process not applying the original flags when it unpacks.  
Which is why a DMG is a better choice.

Ah. You just worked that out for yourself. Well, good, you got the answer.

---

<div class="post-metadata">

**Author:** ![Andy\_Broughton](https://forum.xojo.com/user_avatar/forum.xojo.com/andy_broughton/32/30_2.png) [@Andy\_Broughton](https://forum.xojo.com/u/Andy_Broughton)\
**Post date:** [November 19, 2019, 6:24am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/25 "2019-11-19T06:24:45Z")

</div>

[quote=463584:@Jeff Tullin]It doesnt  
My money is simply on the unzip process not applying the original flags when it unpacks.[/quote]  
Right. Seems like the built-in Catalina archive app is broken. You’d think there’d be a lot of talk of this issue on the ol’ 'net!

---

<div class="post-metadata">

**Author:** ![Jeff\_Tullin](https://forum.xojo.com/user_avatar/forum.xojo.com/jeff_tullin/32/693_2.png) [@Jeff\_Tullin](https://forum.xojo.com/u/Jeff_Tullin)\
**Post date:** [November 19, 2019, 6:58am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/26 "2019-11-19T06:58:07Z")

</div>

> [@](#):
>
> You’d think there’d be a lot of talk of this issue on the ol’ 'net!

If it only affects the executable flag, then it wont affect many people given that Apple more or less insist that you use a codesigned app in a DMG or PKG.  
I would not be surprised to learn that this is not so much broken as ‘by design’, in that it makes sending a malware app to a user WITHOUT code signing and notarisation, much less likely to succeed. The unzip takes the sting out of the tail, in a way that Windows cannot do, since Windows works on the file extension only to determine if something is exectuable.

---

<div class="post-metadata">

**Author:** ![Jeff\_Tullin](https://forum.xojo.com/user_avatar/forum.xojo.com/jeff_tullin/32/693_2.png) [@Jeff\_Tullin](https://forum.xojo.com/u/Jeff_Tullin)\
**Post date:** [November 19, 2019, 7:02am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/27 "2019-11-19T07:02:27Z")

</div>

The .tar format might preserve your flags. --preserve-permissions  
Im pretty sure that ‘standard’ zip format doesnt store the flags.

---

<div class="post-metadata">

**Author:** ![Rick\_Araujo](https://forum.xojo.com/user_avatar/forum.xojo.com/rick_araujo/32/251_2.png) [@Rick\_Araujo](https://forum.xojo.com/u/Rick_Araujo)\
**Post date:** [November 19, 2019, 11:52am UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/28 "2019-11-19T11:52:57Z")

</div>

> [@463583:@Andy Broughton](#):
>
> That is the problem, the Archive app built into Catalina. For some reason it is causing this change.

> [@463584:@Jeff Tullin](#):
>
> My money is simply on the unzip process not applying the original flags when it unpacks.

As I said. And I said how to make a DMG easily without paid tools. DMGs includes all necessary metadata.

---

<div class="post-metadata">

**Author:** ![Rick\_Araujo](https://forum.xojo.com/user_avatar/forum.xojo.com/rick_araujo/32/251_2.png) [@Rick\_Araujo](https://forum.xojo.com/u/Rick_Araujo)\
**Post date:** [November 19, 2019, 12:08pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/29 "2019-11-19T12:08:15Z")

</div>

> [@463527:@Michel Bujardet](#):
>
> an unsigned app triggers a dialog saying that the app could not be verified as not containing malware, and the only option is to trash it.

If you have gatekeeper active with “only accept apps from App Store and Identified devs” yes, but you can change it to “Anywhere” temporally, run your app, and return the security to that after.

![](https://i.postimg.cc/D0hGJHxW/Sideload-apps-Mac-OS.png)

---

<div class="post-metadata">

**Author:** ![Michel\_Bujardet](https://forum.xojo.com/user_avatar/forum.xojo.com/michel_bujardet/32/252_2.png) [@Michel\_Bujardet](https://forum.xojo.com/u/Michel_Bujardet)\
**Post date:** [November 19, 2019, 1:16pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/30 "2019-11-19T13:16:35Z")

</div>

[quote=463579:@Andy Broughton]Ok, well at least one other person has this issue, the person in the video I linked in the first post.

I was hoping that someone else had run into this, or at least knew more than I do about Catalina to know why it would be clearing the executable flag ONLY for downloaded apps.

I’ll keep searching…[/quote]

How do you download ? The browser may be clearing the executable flag. Try a different browser.

---

<div class="post-metadata">

**Author:** ![TimStreater](https://forum.xojo.com/user_avatar/forum.xojo.com/timstreater/32/586_2.png) [@TimStreater](https://forum.xojo.com/u/TimStreater)\
**Post date:** [November 19, 2019, 1:19pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/31 "2019-11-19T13:19:39Z")

</div>

[quote=463566:@Andy Broughton]Im not sure what people here mean when the ask how do you build your app?  
I press build in Xojo and out pops an .app.  
I zip it and put it on the net.[/quote]

So you don’t code-sign it or notarise it before putting it out for download? For recent macOS versions. that ain’t gonna work.

---

<div class="post-metadata">

**Author:** ![Michel\_Bujardet](https://forum.xojo.com/user_avatar/forum.xojo.com/michel_bujardet/32/252_2.png) [@Michel\_Bujardet](https://forum.xojo.com/u/Michel_Bujardet)\
**Post date:** [November 19, 2019, 1:23pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/32 "2019-11-19T13:23:11Z")

</div>

[quote=463623:@Rick Araujo]If you have gatekeeper active with “only accept apps from App Store and Identified devs” yes, but you can change it to “Anywhere” temporally, run your app, and return the security to that after.  
[/quote]

Rick, what you posted is for Mojave.

Catalina offers only “App Store” and “App Store and Identified developers”.

---

<div class="post-metadata">

**Author:** ![TimStreater](https://forum.xojo.com/user_avatar/forum.xojo.com/timstreater/32/586_2.png) [@TimStreater](https://forum.xojo.com/u/TimStreater)\
**Post date:** [November 19, 2019, 1:24pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/33 "2019-11-19T13:24:15Z")

</div>

> [@463623:@Rick Araujo](#):
>
> If you have gatekeeper active with “only accept apps from App Store and Identified devs” yes, but you can change it to “Anywhere” temporally, run your app, and return the security to that after.]

Not under Mojave (and, I assume, later), you can’t.

At least under Mojave, in Security & Privacy it says “MPFWUpdater.app was blocked from opening because it was not from an identified developer”, and then you click the “Open anyway” button, but that’s not future-proof.

---

<div class="post-metadata">

**Author:** ![Rick\_Araujo](https://forum.xojo.com/user_avatar/forum.xojo.com/rick_araujo/32/251_2.png) [@Rick\_Araujo](https://forum.xojo.com/u/Rick_Araujo)\
**Post date:** [November 19, 2019, 1:28pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/34 "2019-11-19T13:28:19Z")

</div>

> [@463636:@Michel Bujardet](#):
>
> Catalina offers only “App Store” and “App Store and Identified developers”.

Yep. Before you enable the “Anywhere” option with: sudo spctl --master-disable

---

<div class="post-metadata">

**Author:** ![Michel\_Bujardet](https://forum.xojo.com/user_avatar/forum.xojo.com/michel_bujardet/32/252_2.png) [@Michel\_Bujardet](https://forum.xojo.com/u/Michel_Bujardet)\
**Post date:** [November 19, 2019, 1:31pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/35 "2019-11-19T13:31:39Z")

</div>

I see. It does work. Thank you for the tip. But frankly, if the user has to do all that song and dance to run a program, it precludes any serious distribution.

---

<div class="post-metadata">

**Author:** ![Rick\_Araujo](https://forum.xojo.com/user_avatar/forum.xojo.com/rick_araujo/32/251_2.png) [@Rick\_Araujo](https://forum.xojo.com/u/Rick_Araujo)\
**Post date:** [November 19, 2019, 1:33pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/36 "2019-11-19T13:33:44Z")

</div>

> [@463642:@Michel Bujardet](#):
>
> I see. It does work. Thank you for the tip. But frankly, if the user has to do all that song and dance to run a program, it precludes any serious distribution.

Sure. This is a workaround with the focus on solving few cases.

---

<div class="post-metadata">

**Author:** ![Michel\_Bujardet](https://forum.xojo.com/user_avatar/forum.xojo.com/michel_bujardet/32/252_2.png) [@Michel\_Bujardet](https://forum.xojo.com/u/Michel_Bujardet)\
**Post date:** [November 19, 2019, 1:54pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/37 "2019-11-19T13:54:48Z")

</div>

[quote=463573:@Andy Broughton]If you dont mind, can we discuss the specifics, which Ive detailed before? Sprvificslly, again, why Catalina changes the executable flag.

Program works fine on any version of MacOS, including Catalina.  
The ONLY issue with Catalina is that when the file is downloaded, the executable flag is removed from the executable file within the .app package.  
This problem only happens on Catalina.[/quote]

I just downloaded the file under Catalina from [http://mindplacesupport.com/download/927/](http://mindplacesupport.com/download/927/), extracted the app by simple double click.

When I double click the app, I get ‘The application “MPFWUpdater.app” can’t be opened’.

The bundle .app has it’s executable flag, but indeed, the Unix executable inside “MPFWUpdater” has lost it’s executable flag.

When I reinstate the Unix executable Execute flag, the app runs just fine.

Now comes the barking. I code signed your app with my own Apple developer certificate. Did not notarize it. Placed it on my own server.

After download under Catalina, and extracting, it does not lose the executable flag and launches fine with Catalina default setting “Allow apps downloaded from App Store and identified developers”.

Moral: if you want to distribute professional software, be professional about it, and get a proper developer contract with Apple.

---

<div class="post-metadata">

**Author:** ![Mike\_D](https://forum.xojo.com/user_avatar/forum.xojo.com/mike_d/32/266_2.png) [@Mike\_D](https://forum.xojo.com/u/Mike_D)\
**Post date:** [November 19, 2019, 3:08pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/38 "2019-11-19T15:08:05Z")

</div>

FYI, the equivalent of the Finder’s Compress “foobar” command it, I believe:

```auto
ditto -ck --keepParent /path/to/my/Application.app
```

If you want to make Zip archives of your app.

---

<div class="post-metadata">

**Author:** ![Mike\_D](https://forum.xojo.com/user_avatar/forum.xojo.com/mike_d/32/266_2.png) [@Mike\_D](https://forum.xojo.com/u/Mike_D)\
**Post date:** [November 19, 2019, 3:11pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/39 "2019-11-19T15:11:51Z")

</div>

Internally, what’s going on is that zip files store the unix permissions in a flags field.

I have some code which uses the ZipMBS classes and does this while zipping files:

```auto
magic = inputBinaryStream.ReadUInt32() // get the first 4 bytes
if (magic = &hCAFEBABE or magic = &hFEEDFACE or magic=&hFEEDFACF) and (right(name,6) <> ".dylib" and right(name,10) <>".framework") then
  flags = &h81ED4000 // this gives 755 permission when copied to OSX
else
  flags = &h81A44000 // gives 644 permissions on OSX
end if
```

---

<div class="post-metadata">

**Author:** ![Andy\_Broughton](https://forum.xojo.com/user_avatar/forum.xojo.com/andy_broughton/32/30_2.png) [@Andy\_Broughton](https://forum.xojo.com/u/Andy_Broughton)\
**Post date:** [November 19, 2019, 3:32pm UTC](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186/40 "2019-11-19T15:32:33Z")

</div>

> [@463620:@Rick Araujo](#):
>
> As I said. And I said how to make a DMG easily without paid tools. DMGs includes all necessary metadata.

Looks like I’ll have to give it a try, at the very least to stop everyone here from being so disgusted.  
Apple people are weird. 🙂

[Previous page](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186.md?page=1)

[Next page](https://forum.xojo.com/t/catalina-changes-executable-to-non-executable-on-download/51186.md?page=3)
