Re-packaging Autodesk Fusion360 for MSIX in the Windows Store
How to fix the long file paths issue during app certification
Challenges:
The default installation for Fusion360 uses some incredibly long folder paths causing Windows to break when it tries to unpack the MSIX file for certification. There are far too many instances of long-paths in the package to individually remove the offending folders/files without impacting major functionality of the software. The MSIX package will not be accepted into the Windows store due to these long folder paths.
Installation
Offline Installer: dl.appstreaming.autodesk.com/production/ins..
The advanced installation documentation notes an available switch for the Admin installer --globalinstall that we will use when generating the package. (damassets.autodesk.net/content/dam/autodesk..)
Registry Fixes:
HKLM\Software\Classes\fusion360\shell\open\command\
"[{ProgramFilesX64}]\Autodesk\webdeploy\production\2a0e6841a65bd64ca8392d2c15739f5b191739b9\NLauncher.exe" "%1"
HKLM\Software\Classes\f3d_file\shell\open\command\
"[{ProgramFilesX64}]\Autodesk\webdeploy\production\2a0e6841a65bd64ca8392d2c15739f5b191739b9\Fusion360.exe" "%1"
HKLM\Software\Classes\cam360_file\shell\open\command\
"[{ProgramFilesX64}]\Autodesk\webdeploy\production\2a0e6841a65bd64ca8392d2c15739f5b191739b9\Fusion360.exe" "%1"
HKLM\Software\Classes\cam360_file\DefaultIcon\
"\?[{ProgramFilesX64}]\Autodesk\webdeploy\production\2a0e6841a65bd64ca8392d2c15739f5b191739b9\Applications\Fusion\Fusion360App\CAM_data.ico"
HKLM\Software\Classes\f3d_file\DefaultIcon\
"[{ProgramFilesX64}]\Autodesk\webdeploy\production\2a0e6841a65bd64ca8392d2c15739f5b191739b9\Applications\Fusion\Fusion360App\F3D_data.ico"
HKLM\Software\Classes\CLSID\{C4F0910E-E0B4-4E68-8086-452730C7A26A}\InprocServer32\
"[{ProgramFilesX64}]\Autodesk\webdeploy\production\2a0e6841a65bd64ca8392d2c15739f5b191739b9\NPreview10.dll"
By changing the value of 2a0e6841a65bd64ca8392d2c15739f5b191739b9 inside these paths to X we can remove 39 characters from all paths inside this package directory.
Folder and File Fixes
Once the registry values are updated we need to rename the folder inside of the package VFS accordingly to match. Likely this will hang the package tool for awhile so be patient.
Finally we need to replace the FusionLauncher.exe.ini file located in VFS\ProgramFilesX64\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe.ini with our own version. The contents of this file should be changed to look like this:
[Launcher]
stream = production
auid = AutodeskInc.Fusion360
cmd = ""C:\Program Files\Autodesk\webdeploy\production\X\Fusion360.exe""
global = True
After all of that... there is still 1 path in the package that will break certification. Luckily it appears we can delete it safely without impacting the functionality of the application.
Delete this folder inside of the package:
VFS\ProgramFilesX64\Autodesk\webdeploy\production\X\FusionDoc\Build\Mac\AppStoreTest\AppStoreTestApp\AppStoreTestChildApp\AppStoreTestChildApp\
Save the modified package again and you should still have a fully functional MSIX version of Fusion360. Run the app certification kit against the package again and it should now pass all mandatory checks required to be submitted to the Windows store.