Jump to content

Tim Ardoin

Vectorworks, Inc Employee
  • Posts

    114
  • Joined

  • Last visited

Posts posted by Tim Ardoin

  1. Hey everyone - good news. We were able to reproduce the problem locally, and a fix to the updater is now live.

     

    The problem was during cleanup, and other than having to force the Updater app to close, should have no other adverse side effects (the update will have completed successfully, and no large files should be left behind).

     

    Thank you very much for the reports and sorry for the inconvenience!

     

     

    • Like 4
  2. Hi all,

     

    As mentioned above, get-task-allow does let Xcode attach. But we can't (and shouldn't) release with this entitlement enabled. However, you can simply re-sign Vectorworks using an ad-hoc signature (ie, a local signature instead of one backed by our Apple certificate). When you re-sign it, you specify get-task-allow. We have some reported success using this method.


    To specify get-task-allow you need an entitlements file. I've attached it, and included its contents here too so you can see what's in it:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>com.apple.security.cs.disable-library-validation</key>
    	<true/>
    	<key>com.apple.security.get-task-allow</key>
    	<true/>
    </dict>
    </plist>

     

    To debug, you ad-hoc re-sign the Vectorworks app, with the "entitlements.xml" file saved next to the application.

    • I would recommend doing this work in a work folder under your user profile, with the Vectorworks build in it, as opposed to under /Applications.
      • We'll assume it's in /Users/$USER/work/Vectorworks\ 2022, so you would have the app at: /Users/$USER/work/Vectorworks\ 2022/Vectorworks\ 2022.app
      • Feel free to change the structure, but Apple does some weird things with folders such as the Desktop, /Applications, Downloads, etc that may interfere with debugging.
    • Put the attached entitlements.xml file next to the app in  /Users/$USER/work/Vectorworks\ 2022
    • Open terminal, change directory to the VW root folder (e.g., cd /Users/$USER/work/Vectorworks\ 2022).
    • Run the following command which re-codesigns Vectorworks, applying the new entitlements (including :
      • codesign --entitlements entitlements.xml -f -s "-" --options runtime Vectorworks\ 2022.app

    I mentioned this reportedly worked about a year ago and I don't think Apple has changed anything but I don't have a lot of experience besides that one workflow that worked. So let us know if this gets you going. Thanks!

     

    entitlements.xml

    • Like 2
  3. Hey @KevinTK - So I misread some of the above and what's happening is it's failing to find your user folder.

     

    This is either just not there, or more likely, it's in an unexpected location and the logic it's using to figure this out is not complete. So if you could detail where your user folder is and how you set the plists when you install, that could help improve things. It currently looks in ~/Library/Preferences/net.nemetschek.vectorworks.2021.plist under the key NNA User Folder to find the location. So if this points somewhere that doesn't exist, you may see the error.

     

    Regardless, if you know the user folder location you can pass it using -L much like the updater suggests. In this case:

    "/Applications/Vectorworks 2021/Vectorworks 2021 Updater.app/Contents/Resources/cli.sh" -S <mylicenseserial> -I "/Applications/Vectorworks 2021" -L "userFolder:/path/to/user/folder" update -i "/Users/<myusername>/Desktop/generic-OZ-SP2.1-darwin.vwupdate"

     

    I'm pretty sure that's the correct quoting on that. The -L option allows you to specify an update location when the updater can't figure it out. The updater often needs to update files outside of the installation folder. For example, Vision items go in the Common folder. Other items may go in the user folder. So it tries to locate these on launch.

     

    Let me know if the above command line works, and if you can outline how the user folder may be different from the default, in case we need to add additional handling to find it. 

     

    Thanks and best regards,

     

    Tim

     

     

     

    • Like 1
  4. Hi @KevinTK

     

    I've been working indirectly with you through Julian but Juan pointed me to this thread so let me start here.

     

    Since you put the install path in quotes, but it's embedding a slash in there for some reason, it seems likely that this is a bug which I'll try to get fixed and updated today.

     

    However, one thing you might try, which would also be easier unless you have a bunch of machines you're trying to update all at once via the command line: There's a menu command to apply an offline update. If you launch the updater GUI, there's an "Offline Update" item under Advanced Options.

     

    This may very well have the same bug as the command line, but it might work, and it might be easier to use if you're updating installations manually.

     

    Another potential workaround would be to temporarily remove the space from the Vectorworks folder, apply the update, and then rename it back.

     

    Either way I'll respond when I have more info about what's going on with that path. I think you're doing it right though.

     

     

     

     

     

    • Like 4
  5. Hello @semayer,

     

    This is a more difficult problem, but I can hopefully help. Unfortunately Finder doesn't seem to have a good way to fix this so you will have to use Recovery Mode, Disk Utility, and Terminal for some of it. This should be considered an advanced procedure. Please do not attempt if it is above your comfort level. 

     

    1) Make sure your back-ups are in order (good advice regardless) in case things go horribly wrong.

    2) Reboot the machine and hold command + R to enter recovery mode. See here for an overview of macOS recovery mode.

    3) Inside recovery mode, start disk utility

    4) Mount your main drive. Usually it's called Macintosh HD. You may need to supply your password if it's encrypted. When done it should say Mount Point: /Volumes/Macintosh HD (or similar).

    5) Exit out of Disk Utility. 

    6) Back in the main menu of recovery mode, in the top menu bar, select Utilities->Terminal

    7) In Terminal, enter: chown root /Volumes/Macintosh\ HD/etc/sudoers

    8 ) In Terminal, enter ls -l /Volumes/Macintosh\ HD/etc/ | grep sudoers

    It should look like this:

    image.png

     

    (paying attention to the first line - where it says -r--r--r-- 1 root wheel <a number> <a date> sudoers) Ignore the "sudoers.d" line.

     

    Note that if your drive is called something besides "Macintosh HD" you will have to substitute your drive's name here when necessary.

     

    9) If it doesn't say -r--r--r-- you may want to save yourself trouble and type: chmod 444  /Volumes/Macintosh\ HD/etc/sudoers

    10) exit terminal and recovery mode and reboot as normal.

     

    This should fix that immediate problem, but you'll have to let us know how it goes and if there are additional problems that show up after that.

     

    Best regards,

     

    Tim

     

  6. Just to follow up - Julian and I were able to solve ueli's issues with installing.

     

    Sometimes on macOS the "sudo" command breaks (I'm not sure how, but it's unrelated to installing Vectorworks). Our installer requires this tool to work. The installer tests for this now, and if it's broken will give an error message rather than doing a partial install.

     

    You can test this by typing "sudo echo hello" in terminal. If it says something like "sudoers is world writable" then your system has this problem. If it asks for a password and echos the text "hello" back at you, it's working. There are some less common states where sudoers.d or other related objects may have improper permissions, but this is less common (this is also what "repair permissions" used to fix, but it seems like Apple has removed that functionality from diskutil in recent releases of macOS)

     

    To fix sudo, we used finder to set permissions of the file /etc/sudoers to read-only. Once sudo is working, installation can proceed.

     

     

    • Like 2
  7. Hello. Could you provide a ProcMon output when the computer is experiencing the slowdown? That may help track down what's failing or timing out. I think the "compute" address in the report is pretty generic -- it could be any Ec2 connection. 

     

    Also, if you could describe the firewall policy you're setting up in detail, maybe we can reproduce the problem here.

     

    Thanks!

×
×
  • Create New...