Jump to content

VW2021 offline update

Recommended Posts

here is my offline update script:


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


and i got this message:


"The update location 'file:///Users/<myusername>/Library/Application%20Support/Vectorworks/2021/' does not exist. To correct this please run this again with the arguments -L userFolder:<path> with <path> being the correct directory, or contact support"


what was wrong with my script?


in general, how should the -L ---locations <name:path> option be used? can you give an example?

Link to comment

First, does your script actually say <myusername>? If so that is at least part of your problem. It should use the text of your user name instead.


Second, is the updater actually on your Desktop? Seems kind of odd, but if you put it there then that is where it is.


I have never used the offline updater, so I can't really comment more.

Link to comment

Unfortunately it is slightly different. there is this -L option which is not in the 2019 version. here is the list of options:


  Usage: Vectorworks 2021 Updater [options] [command]


    -v, --version                                                    output the version number
    -I, --installdir <installation directory>                        Set the installation directory instead of pulling it automatically
    -S, --serial <serial>                                            Set the serial number explicitly instead of pulling it automatically
    -L, --locations <name:path>                                      Set the update locations instead of pulling them automatically. The format should be a comma separated list of location key:path


The error I got seems to have originated from not using the -L option. But I don't even know what the -L option is for and how to use it.


Link to comment
  • Vectorworks, Inc Employee

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
Link to comment
  • Vectorworks, Inc Employee

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,






  • Like 1
Link to comment

Thanks Tim. Much appreciated. A few observations: 

- Update cannot be deployed from root

- Doesn't work if VW2021 app have not been opened before. e.g. I can't use a new admin account to deploy update even though another user have been using it for a while. 


Can these be considered feature requests for future versions? Would documentation be released in future? 

Link to comment
  • 4 months later...

It is quite strange, that Vectorworks is offering a "CLI"-Updater, which does not work on the command line.

This CLI-Option was made for admins, which update a lot of machines. It doesn't make sense for a single machine to update this way. So the recommendation to use the GUI-Updater is quite misleading.


It also a bad idea to force the admin to point to a user folder on that machine to use the cli-Updater.

Especially in larger offices, where admins use this cli-option for updates, the machines are used by different users. Each user has its own account on that machine (ActiveDirectory, OpenDirectory should be known to Vectorworks). My phone calls with different VW-supporters showed me, they haven't heard of that.

Also Vectorworks think that every user on a Mac has admin privileges. None of the users we support is working with admin privileges.


So why it is so complicated to create a tool, which works like

"/Applications/Vectorworks\ 2021/Vectorworks\ 2021\ Updater.app/Contents/Resources/cli.s -i <Path_to_update_file"  ??



Why does the Updater need a serial? Why does the Updater not work as root?


The most stable way to update multiple machines is by

- manually updating one machine

- creating an image file (dmg) from that VW-Application folder

- mounting that .dmg on the other machines and use rsync to update the VW-Application-folder on the client.

OR (if a full installer is available, which isn't always available f.g. for SP4.0.1), 

- delete the VW Application folder

- do a fresh install


We use a central folder on a server where the VW-Libraries are stored. Every night the folder on the client is updated via rsync from that directory on the server. New libraries are placed there. So everybody has the same libraries present.


Sorry to say, but maintaining customers using VW is really time consuming and annoying.



  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...