Permissions Errors on Mac

Comments

3 comments

  • Avatar
    michiel

    Hi,

    Are you running the installer on macOS Catalina? For Catalina, Apple has started adding additional restrictions to ~/Documents and ~/Desktop. Regardless of if the installer or uninstaller is running as root or regular user, you will find issues with those locations.

    Because of these new restrictions, we would recommend you moving those directories to a different location, at least when running on Catalina and newer.

    Regards,

    Michiel

    0
    Comment actions Permalink
  • Avatar
    Dominic Maricic

    Yes, it's on Catalina and installing user files to the Documents folder, app goes to Applications and that works fine. We just switched our software to save to the Documents folder last year after being informed that was the preferred location. It also seems to work on some Catalina machines and not others. Since most of these are user created files, where should it all be stored? Is there any way to get this to work considering we're mostly upgrading existing installs and having users move all their files would be an issue.

    0
    Comment actions Permalink
  • Avatar
    BitRock support
    You could set the installbuilder_experimental_catalina_features variable, (available from version 19.12.0) that will make the installer trigger the system dialog asking for permissions to access the Desktop. However, please note that if the user denies the permissions, the process will still fail and the popup will not be displayed in future executions.
    <project>
    ...
    <preBuildActionList>
    <setInstallerVariable>
    <name>installbuilder_experimental_catalina_features</name>
    <value>1</value>
    </setInstallerVariable>
    </preBuildActionList>
    ...
    <preInstallationActionList>
    <!-- This should trigger the permissions dialog -->
    <touchFile abortOnError="0" showMessageOnError="0">
    <path>~/Desktop/.test</path>
    </touchFile>
    <!-- Cleanup the file -->
    <deleteFile abortOnError="0" showMessageOnError="0">
    <path>~/Desktop/.test</path>
    </deleteFile>
    </preInstallationActionList>
    </project>
    This feature will make InstallBuilder use a minimal launcher binary to bootstrap installbuilder.sh.
       $> grep -A1 CFBundleExecutable sample-1.0-osx-installer.app/Contents/Info.plist
    <key>CFBundleExecutable</key>
    <string>launcher</string>

     

    0
    Comment actions Permalink

Please sign in to leave a comment.