title: Modify Info.plist to launch app
body: <p>I'm trying to build a simple app, launchable by the final user with a simple double-click.</p>
  
  <p>Here is the folder tree I have:</p>
  
  <pre><code>MyProgram.app/
      Contents/
          Info.plist
          MacOS/
              exe_not_exe --&gt; this is a dummy exe, but needed
      MyProgram-mac-os-x86_64/
          MyProgram.app/   ---&gt; THIS APP is executable
          Contents/
              Info.plist
              MacOS/
                  exe_really_exe --&gt; this is the exe really executed
  </code></pre>
  
  <p>I would like that when the user double-clicks the first MyProgram.app, the application starts, but uses in fact <code>exe_really_exe</code>, not <code>exe_not_exe</code>.</p>
  
  <p>The first Info.plist has somewhere the key:</p>
  
  <pre><code>&lt;key&gt;CFBundleExecutable&lt;/key&gt;
  &lt;string&gt;exe_not_exe&lt;/string&gt;
  </code></pre>
  
  <p>So I tried to build this tree folder instead:</p>
  
  <pre><code>MyProgram.app/
          Contents/
              Info.plist
              MacOS/
                  exe_not_exe
                  launcher --&gt; this is a new file
          MyProgram-mac-os-x86_64/
              MyProgram.app/
              Contents/
                  Info.plist
                  MacOS/
                      exe_really_exe
  </code></pre>
  
  <p>And in the <code>launcher</code> file:</p>
  
  <pre><code>#!/usr/bin/env bash
  open ../../MyProgram-mac-os-x86_64/MyProgram.app
  
  open ../../MyProgram-mac-os-x86_64/MyProgram.app/MacOS/exe_really_exe
  </code></pre>
  
  <p>(I tried the two different instructions). If I start the <code>launcher</code> file from its directory, everything works as expected.</p>
  
  <p>I modified the Info.plist (the highest one in the tree):</p>
  
  <pre><code>&lt;key&gt;CFBundleExecutable&lt;/key&gt;
  &lt;string&gt;launcher&lt;/string&gt;
  </code></pre>
  
  <p>But finally, if I double-click MyProgram.app (the highest one in the tree), the application doesn't start. If I start it from the command line, I get the error:</p>
  
  <pre><code>LSOpenURLsWithRole() failed with error -10810 for the file MyProgram.app/
  </code></pre>
  
  <p>Could you help me to find out what is wrong with my procedure please ?</p>