Jump to content

Recommended Posts

Posted

Hi all

 

We need to download the latest lab installer for Autodesk Fusion however when we log into the website and try and select the lab installer option a popup is preventing us from selecting the option to download it. Is anyone else having this issue?

Posted

The major problem I have had with Fusion is that Autodesk requires every user to login. With fushion 360, this opened a browser, did the login, and then failed to tell the programe that the user had logged in!

With Fusion online, it all in the browser so the login works. So I recomend the online vesion.

 

https://fusion.online.autodesk.com/

Posted
I have asked our DT department to start using the web version and let us know how it goes as it will save a lot of messing around in future with updates etc...
Posted
I've not been able to get on to Fusion :(

 

Could this be filtering related?

 

[ATTACH=CONFIG]72937[/ATTACH]

 

Whitelist the below URL on your firewall and it should then work.

 

amazonappstream.com

Posted
Introduce your Tech department to OnShape. It's completely cloud based and free for education; a lot more accessible for students too as they can easily use it at home without installing any software. Running in the browser means it works with tablets, chromebooks etc too.
  • 2 weeks later...
Posted
We use the Webstreamer local installer - we have a webserver in the network that pulls a copy of the installer files from Autodesk - then clients are pointed towards the internal webserver to stream the latest updates or install files for a fresh install.
Posted
Warning to those who use the "online" version, it is just a very slow virtual machine streaming a remote desktop. The online experience is terrible on any setup. I've a scheduled task to install and (importantly) update fusion360 on the network.
Posted
Warning to those who use the "online" version, it is just a very slow virtual machine streaming a remote desktop. The online experience is terrible on any setup. I've a scheduled task to install and (importantly) update fusion360 on the network.

 

Hi Chazzy

 

Would you be able to share the script you use to update Fusion please?

Posted

sure, both scripts are copied to the workstation and run locally, this was for some troubleshooting, I forget why.

 

the installer script in powershell amends some values somewhere that the update batch file looks for in the future and check for already installed. it is set to run on computer shutdown as the process can take some time to install.

 

the update.bat is a scheduled task that runs once a day (as the system account) with a random start time (within an hour)

 

#Fusion 360 Powershell Script
#
#This script will install or update Fusion 360, whether it has been installed previously or not.
#There is a naming convention that needs to be applied to make sure this script works. Please use the following example as a guide on how to name your Fusion installer executables:
#The latest Version of Fusion as of 27/11/19 is 2.0.6613, therfore the file name would be "Fusion_360_2_0_6613.exe".
#The reason the naming convention is so important, is to do with the Registry Key it writes to enable version checking of the software.

#Sets variables for installed application path and it's name.

$LauncherBasePath = "C:\Program Files\Autodesk\webdeploy\Production\"
$LauncherName = "FusionLauncher.exe"

#Sets variable for installer file path location.

$InstallerPath = "\\fileserv1\distribution point\fusion\"

#Sets variable to retrieve the latest file (this assumes that historic versions of the application are stored in the same location).

$Executable = Get-ChildItem -Path $InstallerPath -Filter "*.exe" | Sort-Object LastWriteTime | Select -Last 1

#Sets variable as the name of the installer executable.

$ExeName = $Executable.Name

#Due to file naming convention, this removes the underscores and file extention from the file name.

$LatestVersion = ($ExeName).Replace("Fusion_360_","").Replace(".exe","").Replace("_",".")

#Sets variables for the Reg Key path and it's name.

$Keypath = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\Fusion 360 CAM"
$KeyValue = "Version"

#Outputs a true/false result if Reg Key exists.

$TestKeyValuePath = Get-ItemProperty -path "$KeyPath" -Name "$KeyValue" -ErrorAction SilentlyContinue

#Test for a positive result that the application and Reg Key are present.

If (($TestKeyValuePath) -and ([bool](GCi $LauncherBasePath -Filter $LauncherName -Recurse -File -Depth 1 -ErrorAction SilentlyContinue).Fullname)) {

#Sets variable to output the Reg Key's value in a form that can be compared to the file version value.

   $CurrentVersion = (Get-ItemProperty -path "$KeyPath" -Name $KeyValue).$KeyValue

#Checks file version against version in Reg Key for a lower value.

   If ([Version]$CurrentVersion -lt [Version]$LatestVersion) {

#If the Reg Key value is lower than the installer's version value, it will update the Reg Key and the application.

       Set-ItemProperty -Path $KeyPath -Name $KeyValue -Value $LatestVersion
              
       Start-Process -FilePath ($Executable.FullName) -ArgumentList " --process update --quiet" -NoNewWindow -Wait
   }
}

#If the above the conditions are not met, the following occurs.

Else {

#Tests for a positive result that the application is present and the Reg Key is not. If true, the application will uninstall, the script will then continue to the next If statement.

   If (([bool](GCi $LauncherBasePath -Filter $LauncherName -Recurse -File -Depth 1 -ErrorAction SilentlyContinue).Fullname) -and (!($TestKeyValuePath))) {
       Start-Process -FilePath ($Executable.FullName) -ArgumentList " --process uninstall --quiet" -NoNewWindow -Wait
   }

#Tests for a positive result that the application is not present, and the Reg Key is. If true, the Reg Key will be removed, the script will then continue to the next If statement.

   If ((!([bool](GCi $LauncherBasePath -Filter $LauncherName -Recurse -File -Depth 1 -ErrorAction SilentlyContinue).Fullname)) -and ($TestKeyValuePath)) {
       Remove-ItemProperty -Path $KeyPath -Name $KeyValue
   }

#Tests for a positive result that both the application and Reg Key are not present. If true, the application will be installed and a Reg key created.

   If ((!([bool](GCi $LauncherBasePath -Filter $LauncherName -Recurse -File -Depth 1 -ErrorAction SilentlyContinue).Fullname)) -and (!($TestKeyValuePath))) {
       New-Item -Path $KeyPath -Force
       New-ItemProperty -Path $KeyPath -Name $KeyValue -Value $LatestVersion

       Start-Process -FilePath ($Executable.FullName) -ArgumentList " --quiet" -NoNewWindow -Wait
   }
}

 

@echo off
set "StreamerDir=c:\Program Files\Autodesk\webdeploy\meta\streamer" 
setlocal
FOR /F %%i IN ('dir /A:D /B /oN "%StreamerDir%"') DO ( 
SET a=%%i
)
endlocal & set StreamerVer=%a%
"%StreamerDir%\%StreamerVer%\streamer.exe" --globalinstall --process update --quiet

 

You must change the install path :)

 

The installer script is NOT mine I borrowed it from someone here, sorry I forget who.. I don't know why I created the update.bat as the script states it can update?!

Posted

That's the version that pulls copies of the software from the Autodesk servers - each client will reach out and use bandwidth to download a copy of the software, possibly best to run this method outside of busy hours if you have lots of clients updating, though it may not be a problem.

 

As mentioned, we avoid this by using a local cache of the fusion installer and updates hosted on an IIS server. You can then point the client installer to the server with the '--conn' attribute (we also use the --globalinstall attribute);

Start-Process -FilePath ($Executable.FullName) -ArgumentList "--globalinstall --conn "http://LocalMirror.yourADdomain.com/" --quiet" -NoNewWindow -Wait

 

 

To check if an update is required we use the exe's built in query process to generate a json info file that we compare to the json hosted on the local mirror server, rather than digging around in registry:

 

Generate local json:

Start-Process -FilePath $installer -ArgumentList "--globalinstall  --process query --infofile `"$installerFolder\finfo.json`" --quiet" -Wait 

 

Parse mirror json:

#Get server version
#Remote json location
$uri = "${localMirrorServer}67316f5e79bc48318aa5f7b6bb58243d/73e72ada57b7480280f7a6f4a289729f/full.json"

#Get json from server
$response = Invoke-WebRequest -Uri $uri -UseBasicParsing

#parse json
$jsonWeb = $response | ConvertFrom-Json

 

Version comparison code (end part of the update needed function we use):

<#Version comparisons#>

<#Compare 'major' version number#>

<#Fusion 360 will not work if 'major-update-version' doesn't match, it's a breaking change. Any/all 'major-update-version' changes must trigger an update#>
if ($jsonLocal.manifest.'major-update-version' -eq $jsonWeb.'major-update-version'){
   Write-Verbose "$(Get-Date -Format o) Update not required by 'major-update-version'"
} else {
   Write-Verbose "$(Get-Date -Format o) Update required by 'major-update-version'"
   return $true
}


<#Compare 'minor' version number - check only triggered by -minor flag when running the script#>

<#Fusion 360 should still work if 'build-version' doesn't match, so updating for all version changes isn't necessary. However, we will update if this version
    number changes as this keeps the mirror current and updated#>
if ($minor.IsPresent){
   if ($jsonLocal.manifest.'build-version' -eq $jsonWeb.'build-version'){
       Write-Verbose "$(Get-Date -Format o) Update not required by 'build-version'"
   } else {
       Write-Verbose "$(Get-Date -Format o) Update required by 'build-version'"
       return $true
   }
}

<#No updates triggered#>
Write-Verbose "$(Get-Date -Format o) Update not required"
return $false

 

 

After installing with the local mirror when you trigger the an update it should automatically reach out to the mirror server rather than the Autodesk servers:

Start-Process -FilePath "$StreamerDir\$dir\streamer.exe" -ArgumentList "--globalinstall --process update --quiet" -Wait

 

 

From a quick check of the advanced lab setup document I believe this is what we used to initially pull the data from Autodesk to our IIS server, path updated to the www root for the --root attribute

"Fusion 360 Client Downloader.exe" --process pull --root "c:\file\system\path\to\folder\served\by\http.ourmirrorat.somebig.org\fusion360 source\"

 

We then have a powershell script that compares the local mirror json to the Autodesks json, if a version change is found the same command is used to pull another copy of the files (with the --quiet attribute [or possible --silent - not sure, but there is a suppression attribute added!])

 

Thought someone might be interested or this might be good for reference later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...