I use SCCM too and I've seen this error before. I couldn't figure out what the error was - I had a department boss breathing down my neck and had to get it done asap. This script works for me and had no problems. Maybe it could be of some help.
Powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File ".\Vectorworks_2019SP3x3.ps1"
========================================================================================
# Install Vectorworks 2019 SP3
$installerEXE = "Vectorworks 2019 SP3 Installer\resources\installer\Install Vectorworks2019.exe"
Start-Process $installerEXE -ArgumentList " --mode unattended"," --unattendedmodeui none", "--Serial xxxxxx-xxxxxx-xxxxxx-xxxxxx", "--UserName Whatever", " --CompName ""My Company Name"" ", " --installdir ""C:\Program Files\Vectorworks 2019"" " -Wait -ErrorAction SilentlyContinue
Start-Sleep -Seconds 300
<#
I know I have both the "-Wait" parameter and then "Start-sleep". Early testing had issues - I had to make sure the script waited until the install has created the folders and reg keys I need to make changes to, otherwise, the install completed but without registering the licence and server details. It works so I left it in.
#>
#Set details in the registry and assign "Everyone" permissions.
[string]$VectRegKey = "HKLM:\SOFTWARE\Nemetschek"
$FileExists = Test-Path $VectRegKey
IF ($FileExists -eq $true)
{
$acl= get-acl -path $VectRegKey
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$rule=new-object system.security.accesscontrol.registryaccessrule "Everyone","FullControl",$inherit,$propagation,"Allow"
$acl.addaccessrule($rule)
$acl|set-acl
}
ELSE
{
New-Item -Path $VectRegKey -ItemType key -Force -ErrorAction SilentlyContinue
$acl= get-acl -path $VectRegKey
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$rule=new-object system.security.accesscontrol.registryaccessrule "Everyone","FullControl",$inherit,$propagation,"Allow"
$acl.addaccessrule($rule)
$acl|set-acl
}
[string]$VectRegValue = "HKLM:\SOFTWARE\Nemetschek\Vectorworks 24\Registration"
$FileExistY = Test-Path $VectRegValue
IF ($FileExistY -eq $true)
{
New-ItemProperty -Path $VectRegValue -Value " xxxxxx-xxxxxx-xxxxxx-xxxxxx" -Name "Serial Number 0" -ErrorAction SilentlyContinue
New-ItemProperty -Path $VectRegValue -Value "My Company Name" -Name "Company"-ErrorAction SilentlyContinue
New-ItemProperty -Path $VectRegValue -Value "Whatever" -Name "Name" -ErrorAction SilentlyContinue
}
ELSE
{
New-Item -Path $VectRegValue -ItemType Key -Force -ErrorAction SilentlyContinue
New-ItemProperty -Path $VectRegValue -Value " xxxxxx-xxxxxx-xxxxxx-xxxxxx" -Name "Serial Number 0" -ErrorAction SilentlyContinue
New-ItemProperty -Path $VectRegValue -Value "My Company Name" -Name "Company"-ErrorAction SilentlyContinue
New-ItemProperty -Path $VectRegValue -Value "Whatever" -Name "Name" -ErrorAction SilentlyContinue
}
# Server address is in the XML file - copy the whole folder to the 'settings' directory and give permissions to enable users to use it
$sourceRoot = "Vectorworks 2019 SP3 Installer\Licence\SeriesG"
$destinationRoot = "C:\Program Files\Vectorworks 2019\Settings"
$VectwxDir = Test-Path $destinationRoot
IF ($VectwxDir -eq $true)
{
Copy-Item -Path $sourceRoot -Destination $destinationRoot -Recurse -Container -ErrorAction SilentlyContinue
}
ELSE
{
New-Item -ItemType directory -Path $destinationRoot
Copy-Item -Path $sourceRoot -Destination $destinationRoot -Recurse -Container -ErrorAction SilentlyContinue
}
$acl = get-acl -path "C:\Program Files\Vectorworks 2019\Settings"
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$rule=new-object system.security.accesscontrol.FileSystemAccessRule "Everyone","FullControl",$inherit,$propagation,"Allow"
$acl.addaccessrule($rule)
$acl|set-acl
========================================================================================
Let me know if it helps.