cryinkfly / Autodesk-Fusion-360-for-Linux

This is a project, where I give you a way to use Autodesk Fusion 360 on Linux!
https://github.com/cryinkfly/Fusion-360---Linux-Wine-Version-/wiki
MIT License
1.78k stars 115 forks source link

Fusion Installer Not Completing Successfully *solved* #408

Closed NeilBetham closed 1 month ago

NeilBetham commented 3 months ago

Describe the bug The launcher.sh script doesn't seem to be pointing at the right binary in more recent installs. There is no longer a Fusion360.exe in the prefix anywhere:

~/.fusion360 
➜ find . -name 'Fusion360.exe'

~/.fusion360 
➜ 

I modified the launcher.sh script to point to FusionLauncher.exe, which is what Bottles points to now:

function LAUNCHER_RUN_FUSION360 {
  LAUNCHER="$(find "$WP_BOX" -name FusionLauncher.exe -printf "%T+ %p\n" | sort -r 2>&1 | head -n 1 | sed -r 's/.+0000000000 (.+)/\1/')" && WINEPREFIX="$WP_BOX" FUSION_IDSDK=false WINEDEBUG=-all,-d3d wine "$LAUNCHER"
# WINEDEBUG=-all = Logs everything, probably gives too much information in most cases, but may come in handy for subtle issues
# WINEDEBUG=-d3d = Will turn off all d3d messages, and additionally disable checking for GL errors after operations. This may improve performance.
}

After a fresh install using the scripts in this repo and updating launcher.sh as per above the Fusion launcher doesn't function as it seems like the installer is not configuring FusionLauncher.exe.ini file properly. The file exists but doesn't seem to have the correct contents. This is what's present in it on my system:

➜ cat FusionLauncher.exe.ini 
��This is a place-holder file which is intended to be updated by the streamer.%

And here is the error from the launcher: Screenshot_20240329_185758

It would appear that the fusion admin installer is not populating this file anymore or something is erroring out in the installer part way and silently failing. Either way I have been unable to get past this issue via Bottles, the scripts here or Steam + Proton. Are there examples of the INI that can be used to populate this outside of the Autodesk installer?

To Reproduce Steps to reproduce the behavior:

  1. Run install script mkdir -p "$HOME/.fusion360/bin" && cd "$HOME/.fusion360/bin" && wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/builds/stable-branch/bin/install.sh && chmod +x install.sh && ./install.sh
  2. Click through prompts; wait for install to complete
  3. Modify launcher.sh to point to FusionLauncher.exe
  4. Attempt to launch Fusion using box-run.sh

Expected behavior Fusion should launch

Desktop (please complete the following information):

NeilBetham commented 3 months ago

Double checked my windows install of Fusion and the launcher ini file just points to another binary named Fusion360.exe which is present in one of the other webdeploy/production hash folders:

[Launcher]
stream = production
auid = AutodeskInc.Fusion360
cmd = ""C:\Users\<username>\AppData\Local\Autodesk\webdeploy\production\9852aa66f5af6660db76d8087c75a7da16ce322c\Fusion360.exe""
global = False

So it looks like the installer is not completing successfully.

aedancullen commented 3 months ago

Yeah, I saw this (introduced by v.2.0.18719); it will indeed affect everybody and I'm trying to figure it out. Second 2024 curveball from Autodesk after #381 - we'll see if we can replicate the victory from that one :rofl:

NeilBetham commented 3 months ago

Ahh damn, well good to know I didn't mess something up; but sad times that it's broken again.

fattylipidacid commented 2 months ago

Yeah, I saw this (introduced by v.2.0.18719); it will indeed affect everybody and I'm trying to figure it out. Second 2024 curveball from Autodesk after #381 - we'll see if we can replicate the victory from that one 🤣

Best of luck, you'll help a whole lot of people

aedancullen commented 2 months ago

This problem is due to a new feature where the streamer attempts to rebrand old "Fusion 360" launch items to "Fusion". This seems to happen as part of CREATE_LAUNCH_ITEMS at the very end of installation. That is, Fusion360.exe and friends are unpacked properly and do exist for an amount of time, but the installer subsequently deletes them when it gets upset at its failed rebranding (see "Error detected, removing cache file list in 434...839 ..."). This "cache file list" lives in one of the JSON descriptions of the streamer's file archives, in _payload/packages/<hex string ending in 839>.json. It contains:

The root cause of this rebranding issue is a call to shell32 SHGetKnownFolderPath through ctypes in native.pyc that fails. The proper fix for this would likely be in Wine itself. I disassembled the pyc and started tracing out some of the SHGetKnownFolderPath details using WINEDEBUG, but sadly, being short on free time and not much of a fan of Rebranding™, I decided to just kill the streamer before it has a chance to fail in this way. (If you are an existing Wine developer interested in digging into this, let me know and I can send over the debugging progress I made.)

I used this ugly script to kill the streamer process as soon as the log starts to contain evidence of this problematic procedure, which leaves those "cache files" intact. Apologies that I don't have a clean fix suitable for the community (e.g. this repo), but if you just want the latest Fusion to run, this is the info you need.


The relevant part of the streamer log:

2024-03-30 18:02:22,682 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.process.process - INFO :: Executing special action 0b9a4c1251914f7facc25616ea0f9de3(CREATE_LAUNCH_ITEMS)
2024-03-30 18:02:22,683 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Create launch items for install
2024-03-30 18:02:22,697 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - WARNING :: File reference with id abd72029628f448888fa727750794db8 was not found
2024-03-30 18:02:22,698 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe is launchable. Creating a shortcut
2024-03-30 18:02:22,699 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-03-30 18:02:22,699 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-03-30 18:02:22,699 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-03-30 18:02:22,700 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: destination: C:\users\Public\Desktop, launchname: Autodesk Fusion
2024-03-30 18:02:22,700 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Trying to rename previous Fusion 360 shortcut if it exists for rebranding live update: from C:\users\Public\Desktop\Autodesk Fusion 360.lnk to C:\users\Public\Desktop\Autodesk Fusion.lnk
2024-03-30 18:02:22,709 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-03-30 18:02:22,709 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-03-30 18:02:22,709 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-03-30 18:02:22,709 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico Fusion360.ico
2024-03-30 18:02:22,709 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico
2024-03-30 18:02:22,738 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-03-30 18:02:22,738 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-03-30 18:02:22,738 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-03-30 18:02:22,739 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: destination: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk, launchname: Autodesk Fusion
2024-03-30 18:02:22,739 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Trying to rename previous Fusion 360 shortcut if it exists for rebranding live update: from C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion 360.lnk to C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion.lnk
2024-03-30 18:02:22,739 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-03-30 18:02:22,739 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-03-30 18:02:22,739 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-03-30 18:02:22,739 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico Fusion360.ico
2024-03-30 18:02:22,739 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico
2024-03-30 18:02:22,765 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-03-30 18:02:22,766 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-03-30 18:02:22,766 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-03-30 18:02:22,766 - MainProcess(356) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.process.process - WARNING :: Exception processing tasks for 434a310ba39a5a127daba7317aca946c4aabe839: [WinError -2147024809] Invalid parameter
2024-03-30 18:02:22,799 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - INFO :: The host dl.appstreaming.autodesk.com is accessible
2024-03-30 18:02:22,809 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - INFO :: S_I: MjMuNi43OC42NQ==
2024-03-30 18:02:22,810 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - INFO :: C_PR_I: MTkyLjE2OC4xLjI0Mw==
2024-03-30 18:02:22,819 - MainProcess(356) - MainThread - adsk.dls.streamer.network_checker - WARNING :: Failed to get local dns [WinError 2] File not found.
2024-03-30 18:02:22,819 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - INFO :: Local DNS: 
2024-03-30 18:02:22,820 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - INFO :: Detected proxies: e30=
2024-03-30 18:02:22,820 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - ERROR :: Exception during processing:
Traceback (most recent call last):
  File "R:\src\adsk\dls\streamer\process\process.py", line 1190, in execute
  File "R:\src\adsk\dls\streamer\process\deploy_process.py", line 95, in execute_without_errorhandling
  File "R:\src\adsk\dls\streamer\process\process.py", line 1120, in execute_without_errorhandling
  File "R:\src\adsk\dls\streamer\process\process.py", line 932, in _config_app
  File "R:\src\adsk\dls\streamer\process\process.py", line 1932, in _do_installation
  File "R:\src\adsk\dls\streamer\process\process.py", line 1693, in wait_threads
  File "D:\Jenkins\3P\PYTHON\3.11.1\WIN64_1\Lib\concurrent\futures\thread.py", line 58, in run
  File "R:\src\adsk\dls\streamer\process\process.py", line 1813, in execute_tasks
  File "R:\src\adsk\dls\streamer\process\process.py", line 415, in _executetasks
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 371, in create_launch_items
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 541, in _manipulate_shortcuts
  File "R:\src\adsk\dls\streamer\manifests.py", line 807, in walk_external_references
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 476, in __filevisitor
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 197, in _rebrand_shortcut
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 191, in _get_destination
  File "D:\Jenkins\3P\PYTHON\3.11.1\WIN64_1\Lib\re\__init__.py", line 185, in sub
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 188, in __map
  File "R:\src\adsk\dls\streamer\windows\native.py", line 497, in GetKnownFolderPath
  File "R:\src\adsk\dls\streamer\windows\native.py", line 761, in GetKnownFolderPath
  File "_ctypes/callproc.c", line 1000, in GetResult
OSError: [WinError -2147024809] Invalid parameter

-------------------------------------------------------------------------------
2024-03-30 18:02:22,822 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - WARNING :: No reporterror callback method found on sink: None
2024-03-30 18:02:22,827 - MainProcess(356) - MainThread - adsk.dls.streamer.windows.platform - WARNING :: Failed to run ie4uinit -ClearIconCache :  [WinError 2] File not found
2024-03-30 18:02:22,867 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - INFO :: Detecting the orphans ... 
2024-03-30 18:02:22,957 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - WARNING :: Error detected, removing cache file list in 434a310ba39a5a127daba7317aca946c4aabe839
2024-03-30 18:02:22,957 - MainProcess(356) - MainThread - adsk.dls.streamer.utils - WARNING :: Could not remove non-existant file: \\?\c:\program files\autodesk\webdeploy\production\b6226a03d2af9e144aa8b1b7e17cf8eb0cd990f1\adpdesktopsdk.env
2024-03-30 18:02:22,963 - MainProcess(356) - MainThread - adsk.dls.streamer.utils - WARNING :: Could not remove non-existant file: \\?\c:\program files\autodesk\webdeploy\production\b6226a03d2af9e144aa8b1b7e17cf8eb0cd990f1\adpsdkglobal.config
2024-03-30 18:02:24,085 - MainProcess(356) - MainThread - adsk.dls.streamer.utils - WARNING :: Could not remove non-existant file: \\?\c:\program files\autodesk\webdeploy\production\b6226a03d2af9e144aa8b1b7e17cf8eb0cd990f1\fusion 360.emea-server.config
2024-03-30 18:02:24,090 - MainProcess(356) - MainThread - adsk.dls.streamer.utils - WARNING :: Could not remove non-existant file: \\?\c:\program files\autodesk\webdeploy\production\b6226a03d2af9e144aa8b1b7e17cf8eb0cd990f1\fusion 360.server.config
2024-03-30 18:02:24,105 - MainProcess(356) - MainThread - adsk.dls.streamer.utils - WARNING :: Could not remove non-existant file: \\?\c:\program files\autodesk\webdeploy\production\b6226a03d2af9e144aa8b1b7e17cf8eb0cd990f1\fusion 360.us-server.config
2024-03-30 18:02:26,538 - MainProcess(356) - MainThread - adsk.dls.streamer.process.process - WARNING :: Exception in Deploy [WinError -2147024809] Invalid parameter
2024-03-30 18:02:28,691 - MainProcess(356) - MainThread - adsk.dls.streamer.registry - INFO :: Shutting down database connection
2024-03-30 18:02:28,705 - MainProcess(356) - MainThread - adsk.dls.streamer.configuration - INFO :: Shutting down configurator object
2024-03-30 18:02:28,707 - MainProcess(356) - MainThread - adsk.dls.streamer.configuration - INFO :: ##################################### End #####################################
2024-03-30 18:02:28,707 - MainProcess(356) - MainThread - adsk.dls.streamer.configuration - INFO :: #                                                                             #
2024-03-30 18:02:28,707 - MainProcess(356) - MainThread - adsk.dls.streamer.configuration - INFO :: # <adsk.dls.streamer.configuration.Configurator object at 0x0000000004633790> #
2024-03-30 18:02:28,707 - MainProcess(356) - MainThread - adsk.dls.streamer.configuration - INFO :: #                                                                             #
2024-03-30 18:02:28,707 - MainProcess(356) - MainThread - adsk.dls.streamer.configuration - INFO :: ###############################################################################
fattylipidacid commented 2 months ago

Thats a great start in my books - Could you give the relative noobs among us a pointer on how you use your script? Is it possible to just plug the appropriate lines into the SP_FUSION360_INSTALL_DEFAULT_1 function of install.sh, or to execute the script after running install.sh?

NeilBetham commented 2 months ago

@aedancullen Was your testing on a fresh prefix or one with a previous install? Also how did you launch the Fusion360.exe binary? I ran your install script after setting up a fresh prefix with the scripts in this repo. I get the Fusion splash screen now but it crashes immediately after with a null pointer:

Unhandled exception: page fault on read access to 0x0000000000000000 in 64-bit code (0x006ffffc3a24eb).
Register dump:
 rip:00006ffffc3a24eb rsp:000000000011d070 rbp:000000000011d570 eflags:00010202 (  R- --  I   - - - )
 rax:0000000000000000 rbx:0000000000000000 rcx:0000000000000001 rdx:0000000000000000
 rsi:0000000000000000 rdi:000000000011e190  r8:000000000011dc90  r9:000000000011d570 r10:00000000002dd9f0
 r11:0000000000000009 r12:0000000000000013 r13:000000000000008d r14:00006ffff7bf4862 r15:000000000011d3d0
Stack dump:
0x0000000011d070:  00006fffffc20000 00006fffffcbb000
0x0000000011d080:  00006fffffc20000 000000000011d190
0x0000000011d090:  00006fffffcbb000 00006fffffc20000
0x0000000011d0a0:  000000000011d190 000000000014f980
0x0000000011d0b0:  0000000000000000 00006fffffc56491
0x0000000011d0c0:  0000000000000000 00006fffffc8e670
0x0000000011d0d0:  000000000011d1a0 0000000000000000
0x0000000011d0e0:  0000000000000000 000000000011e830
0x0000000011d0f0:  000000000011d130 00006fffffc49b10
0x0000000011d100:  0000000000000001 0000a16a0456e4d8
0x0000000011d110:  000000000014f980 00006fffffc20000
0x0000000011d120:  000000000011d190 00006ffffc3a7761
Backtrace:
=>0 0x006ffffc3a24eb cxx_frame_handler4+0x28b(rec=000000000011E190, frame=0x11e830, context=000000000011DC90, dispatch=000000000011D570, descr=000000000011D420, trylevel=0xfffffffe) [/usr/src/packages/BUILD/dlls/msvcrt/handler4.c:762] in vcruntime140_1 (0x0000000011d570)
  1 0x006ffffc3a349a __CxxFrameHandler4+0x6ba(rec=000000000011E190, frame=0x11e830, context=000000000011DC90, dispatch=000000000011D570) [/usr/src/packages/BUILD/dlls/msvcrt/handler4.c:883] in vcruntime140_1 (0x0000000011d570)
  2 0x006ffff8170190 in nubase10 (+0x990190) (0x0000000011e190)
  3 0x006fffffc76e24 in ntdll (+0x56e24) (0x0000000011dc90)
  4 0x006fffffc774c2 call_seh_handlers+0xf2(rec=000000000011E190, orig_context=000000000011DC90) [/usr/src/packages/BUILD/dlls/ntdll/signal_x86_64.c:205] in ntdll (0x0000000011dc90)
  5 0x006fffffc451b0 dispatch_exception+0x360(rec=000000000011E190, context=000000000011DC90) [/usr/src/packages/BUILD/dlls/ntdll/exception.c:185] in ntdll (0x006fffffc8e200)
  6 0x006fffffc76fe8 in ntdll (+0x56fe8) (0x0000000011e390)
  7 0x006fffff443e67 in kernelbase (+0x13e67) (0x0000000011e390)
  8 0x006ffffeaa9587 _CxxThrowException+0x47(object=<internal error>, type=<internal error>) [/usr/src/packages/BUILD/dlls/msvcrt/cpp.c:1038] in ucrtbase (0x0000000011e390)
  9 0x006fffe4864c6a in nstypes10 (+0xf4c6a) (0x0000000011e390)
  10 0x006ffff7bf4e2f in nubase10 (+0x414e2f) (0x0000000011e660)
  11 0x006ffff7bf26d6 in nubase10 (+0x4126d6) (0x0000000011f899)
  12 0x006ffff7bda020 in nubase10 (+0x3fa020) (0x0000000011f899)
  13 0x0000014000ed41 in fusion360 (+0xed41) (0000000000000000)
  14 0x00000140034da7 in fusion360 (+0x34da7) (0000000000000000)
  15 0x00000140034312 in fusion360 (+0x34312) (0000000000000000)
  16 0x006fffffa78b99 BaseThreadInitThunk+0x9(unknown=<internal error>, entry=<internal error>, arg=<internal error>) [/usr/src/packages/BUILD/dlls/kernel32/thread.c:61] in kernel32 (0000000000000000)
  17 0x006fffffc7712b in ntdll (+0x5712b) (0000000000000000)
0x006ffffc3a24eb cxx_frame_handler4+0x28b [/usr/src/packages/BUILD/dlls/msvcrt/handler4.c:762] in vcruntime140_1: movdqu (%rax), %xmm2
Unable to access file '/usr/src/packages/BUILD/dlls/msvcrt/handler4.c'
==========
<trunacted>
==========
System information:
    Wine build: wine-9.6 (Staging)
    Platform: x86_64 (guest: i386)
    Version: Windows 10
    Host system: Linux
    Host version: 6.1.0-18-amd64
Cyclone6664 commented 2 months ago

@fattylipidacid I was able to get it to work after a full shutdown on a fresh prefix by adding the lines mkdir "$WP_DIRECTORY/drive_c/tmp" touch "$WP_DIRECTORY/drive_c/tmp/log.txt" right before the SP_FUSION360_INSTALL_PROGRESS function call, and replacing --quiet with -f /tmp/log.txt in both SP_FUSION360_INSTALL_DEFAULT_1 and SP_FUSION360_INSTALL_DEFAULT_2 functions in install.sh. Then on another terminal I just run a modified version of @aedancullen's script:

#! /bin/bash

while sleep 0.1
do
    if grep -F "CREATE_LAUNCH_ITEMS" "$HOME/.fusion360/wineprefixes/default/drive_c/tmp/log.txt"
    then
        killall -9 streamer.exe
        exit 0
    fi
done

and it worked.

One way of automating this could be telling install.sh to execute the killer script in background before proceeding with the installation, unfortunately I don't have time to test this, but I hope this helps someone.

NeilBetham commented 2 months ago

I can also confirm this works on a clean prefix, thanks for taking the time to pinpoint the issue!

Cvaniak commented 2 months ago

I also can confirm that this work. I followed @Cyclone6664 instructions.

For those who are fresh to this project:

Posts above mentions prefixes these are the custom directory that you can choose during installation proces. To make the deleting script work you need to make sure that the path "$HOME/.fusion360/wineprefixes/<your_prefix>/drive_c/tmp/log.txt" follows this rule where in most cases <your_prefix> is default.

jorymorrison commented 2 months ago

I was unable to get a working install going even after performing the modifications to the install script and running the killer script.

Are you creating the "fresh prefix" through running the installer, or creating in manually via the CLI prior to running the installer?

Cyclone6664 commented 2 months ago

Hm weird, I just let the installer create the prefix with the default options. Could be fault of the second installation step (SP_FUSION360_INSTALL_DEFAULT_2), where the installer executes Fusion360Installer.exe again. You could try to kill streamer.exe manually after it pops out the second time, and see if it works.

fattylipidacid commented 2 months ago

@jorymorrison Same on my end atm, I will test manually killing the process as suggested by @Cyclone6664 asap

jorymorrison commented 2 months ago

Hm weird, I just let the installer create the prefix with the default options. Could be fault of the second installation step (SP_FUSION360_INSTALL_DEFAULT_2), where the installer executes Fusion360Installer.exe again. You could try to kill streamer.exe manually after it pops out the second time, and see if it works.

I'm new to the project so forgive me... Any issue with just killing streamer.exe perpetually via loop after the unwanted behavior is detected?

Or should I only be killing it twice?

Cyclone6664 commented 2 months ago

@jorymorrison No, I don't think there should be any problem.

fattylipidacid commented 2 months ago

tried it several times now, following the suggestions above, but on my end the install seems to still fail when either killing the streamer via the script, or manually. result: i still get placeholders instead of the apprpriate *.exe.ink
A modification of the task killer script to make it run and test the log perpetually fails as well

jorymorrison commented 2 months ago

Likewise.

I did notice, through tailing logs, that the extension install dialogue appears prematurely, and clicking okay on that dialogue will cause the install to "complete" sooner than normal.

I am going to retry again and waiting a solid 20 minutes after that dialogue appears.

On Sun, Apr 14, 2024, 7:50 AM Richard George @.***> wrote:

tried it several times now, following the suggestions above, but on my end the install seems to still fail when either killing the streamer via the script, or manually. result: i still get placeholders instead of the apprpriate *.exe.ink

— Reply to this email directly, view it on GitHub https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/issues/408#issuecomment-2054022535, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAONMSNZNL2B3KCSTHANYG3Y5JUPVAVCNFSM6AAAAABFPBNSECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJUGAZDENJTGU . You are receiving this because you were mentioned.Message ID: @.***>

fattylipidacid commented 2 months ago

sadly just waiting didnt help for me, would've been too easy, i guess...

Thermionix commented 2 months ago

debug level output from installer:

2024-04-20 16:44:48,172 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Executing callback on reference to \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-20 16:44:48,172 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Visiting file: {"id": "c6906999383c4f2e88bb21899fe167a0", "properties": {"destination": ["Desktop", "${StartMenu}\\Programs\\Autodesk", "${UserPinned}\\TaskBar"], "icon": "cb75314714154bd685b3395fe57655e7", "icon-id": 0, "launchable": true, "name": "Autodesk Fusion", "shell-properties": {"System.AppUserModel.ID": "AutodeskInc.Fusion360${streamtag}"}}}
2024-04-20 16:44:48,172 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,172 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,173 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: launchable
2024-04-20 16:44:48,173 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe is launchable. Creating a shortcut
2024-04-20 16:44:48,173 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,173 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: destination
2024-04-20 16:44:48,173 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,173 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: name
2024-04-20 16:44:48,174 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-04-20 16:44:48,174 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-04-20 16:44:48,174 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-04-20 16:44:48,174 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: destination: C:\users\Public\Desktop, launchname: Autodesk Fusion
2024-04-20 16:44:48,174 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Trying to rename previous Fusion 360 shortcut if it exists for rebranding live update: from C:\users\Public\Desktop\Autodesk Fusion 360.lnk to C:\users\Public\Desktop\Autodesk Fusion.lnk
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: icon
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: destination
2024-04-20 16:44:48,218 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico Fusion360.ico
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: icon-id
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: arguments
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: shell-properties
2024-04-20 16:44:48,219 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Shortcut destination is C:\users\Public\Desktop
2024-04-20 16:44:48,220 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: ShellLink creation succeeded.  Setting path to \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-20 16:44:48,220 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting shortcut target: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-20 16:44:48,222 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting icon id: 0
2024-04-20 16:44:48,223 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: System.AppUserModel.ID
2024-04-20 16:44:48,223 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.utils - DEBUG :: Recording C:\users\Public\Desktop\Autodesk Fusion.lnk and None for rollback.
2024-04-20 16:44:48,223 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Writing shortcut file C:\users\Public\Desktop\Autodesk Fusion.lnk
2024-04-20 16:44:48,241 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,241 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: name
2024-04-20 16:44:48,241 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-04-20 16:44:48,241 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-04-20 16:44:48,242 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-04-20 16:44:48,242 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: destination: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk, launchname: Autodesk Fusion
2024-04-20 16:44:48,242 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Trying to rename previous Fusion 360 shortcut if it exists for rebranding live update: from C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion 360.lnk to C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion.lnk
2024-04-20 16:44:48,242 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,242 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: name
2024-04-20 16:44:48,242 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: icon
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: destination
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico Fusion360.ico
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: icon-id
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: arguments
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,243 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: shell-properties
2024-04-20 16:44:48,244 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Shortcut destination is C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk
2024-04-20 16:44:48,244 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: ShellLink creation succeeded.  Setting path to \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-20 16:44:48,244 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting shortcut target: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-20 16:44:48,247 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting icon id: 0
2024-04-20 16:44:48,247 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Creating shortcut destination folder: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk
2024-04-20 16:44:48,247 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: System.AppUserModel.ID
2024-04-20 16:44:48,248 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.utils - DEBUG :: Recording C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion.lnk and None for rollback.
2024-04-20 16:44:48,248 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Writing shortcut file C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion.lnk
2024-04-20 16:44:48,261 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-20 16:44:48,262 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: name
2024-04-20 16:44:48,262 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-04-20 16:44:48,262 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-04-20 16:44:48,262 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-04-20 16:44:48,262 - MainProcess(876) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.process.process - WARNING :: Exception processing tasks for 63008b5d1c162ae2a81c57aaa8fc41cd7b483bf8: [WinError -2147024809] Invalid parameter
2024-04-20 16:44:49,044 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - INFO :: The host autodesk.com is accessible
2024-04-20 16:44:49,102 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - INFO :: S_I: MjAwMTo4MDA0OjExZDA6NGUyYTo6MTcxNTpiZDcx
2024-04-20 16:44:49,109 - MainProcess(876) - MainThread - adsk.dls.streamer.network_checker - WARNING :: Failed to get client ip address [Errno 11001] getaddrinfo failed.
2024-04-20 16:44:49,109 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - INFO :: C_PR_I: 
2024-04-20 16:44:49,115 - MainProcess(876) - MainThread - adsk.dls.streamer.network_checker - WARNING :: Failed to get local dns [WinError 2] File not found.
2024-04-20 16:44:49,115 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - INFO :: Local DNS: 
2024-04-20 16:44:49,115 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - INFO :: Detected proxies: e30=
2024-04-20 16:44:49,115 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - ERROR :: Exception during processing:
Traceback (most recent call last):
  File "R:\src\adsk\dls\streamer\process\process.py", line 1190, in execute
  File "R:\src\adsk\dls\streamer\process\deploy_process.py", line 95, in execute_without_errorhandling
  File "R:\src\adsk\dls\streamer\process\process.py", line 1120, in execute_without_errorhandling
  File "R:\src\adsk\dls\streamer\process\process.py", line 932, in _config_app
  File "R:\src\adsk\dls\streamer\process\process.py", line 1932, in _do_installation
  File "R:\src\adsk\dls\streamer\process\process.py", line 1693, in wait_threads
  File "D:\Jenkins\3P\PYTHON\3.11.1\WIN64_1\Lib\concurrent\futures\thread.py", line 58, in run
  File "R:\src\adsk\dls\streamer\process\process.py", line 1813, in execute_tasks
  File "R:\src\adsk\dls\streamer\process\process.py", line 415, in _executetasks
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 371, in create_launch_items
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 541, in _manipulate_shortcuts
  File "R:\src\adsk\dls\streamer\manifests.py", line 807, in walk_external_references
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 476, in __filevisitor
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 197, in _rebrand_shortcut
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 191, in _get_destination
  File "D:\Jenkins\3P\PYTHON\3.11.1\WIN64_1\Lib\re\__init__.py", line 185, in sub
  File "R:\src\adsk\dls\streamer\windows\platform.py", line 188, in __map
  File "R:\src\adsk\dls\streamer\windows\native.py", line 497, in GetKnownFolderPath
  File "R:\src\adsk\dls\streamer\windows\native.py", line 761, in GetKnownFolderPath
  File "_ctypes/callproc.c", line 1000, in GetResult
OSError: [WinError -2147024809] Invalid parameter

-------------------------------------------------------------------------------
2024-04-20 16:44:49,117 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - WARNING :: No reporterror callback method found on sink: None
2024-04-20 16:44:49,118 - MainProcess(876) - MainThread - adsk.dls.streamer.utils - DEBUG :: Removing the file C:\users\Public\Desktop\Autodesk Fusion.lnk
2024-04-20 16:44:49,119 - MainProcess(876) - MainThread - adsk.dls.streamer.utils - DEBUG :: Removing the file C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion.lnk
2024-04-20 16:44:49,120 - MainProcess(876) - MainThread - adsk.dls.streamer.utils - DEBUG :: Reseting collection of tracked files
2024-04-20 16:44:49,120 - MainProcess(876) - MainThread - adsk.dls.streamer.windows.platform - DEBUG ::  Open the key: Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
2024-04-20 16:44:49,120 - MainProcess(876) - MainThread - adsk.dls.streamer.windows.platform - WARNING :: Failed to run ie4uinit -ClearIconCache :  [WinError 2] File not found
2024-04-20 16:44:49,120 - MainProcess(876) - MainThread - adsk.dls.streamer.process.process - DEBUG :: Rolling back activated configuration files for package 63008b5d1c162ae2a81c57aaa8fc41cd7b483bf8
Thermionix commented 2 months ago

and debug output from successful windows install (showing next actions)

2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico Fusion360.ico
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: icon-id
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: arguments
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: shell-properties
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Shortcut destination is C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: ShellLink creation succeeded.  Setting path to \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-21 09:08:28,323 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting shortcut target: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-21 09:08:28,338 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting icon id: 0
2024-04-21 09:08:28,339 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Creating shortcut destination folder: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: System.AppUserModel.ID
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.utils - DEBUG :: Recording C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion.lnk and None for rollback.
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Writing shortcut file C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Autodesk\Autodesk Fusion.lnk
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: name
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: destination: C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar, launchname: Autodesk Fusion
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Trying to rename previous Fusion 360 shortcut if it exists for rebranding live update: from C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Autodesk Fusion 360.lnk to C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Autodesk Fusion.lnk
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: name
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original name: Autodesk Fusion
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: stream name: production
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new name: Autodesk Fusion
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: icon
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: destination
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: original launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico Fusion360.ico
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: new launch icon: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\Fusion360.ico
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: icon-id
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: arguments
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: shell-properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Shortcut destination is C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: ShellLink creation succeeded.  Setting path to \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting shortcut target: C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Setting icon id: 0
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: System.AppUserModel.ID
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.utils - DEBUG :: Recording C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Autodesk Fusion.lnk and None for rollback.
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Writing shortcut file C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Autodesk Fusion.lnk
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: id
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: id
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: id
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Executing callback on reference to \\?\C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe.ini
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - DEBUG :: Visiting file: {"id": "88ab02c8fa7e418e8661a61570d01246", "properties": {"auid": "AutodeskInc.Fusion360${streamtag}", "cmd": "73e72ada57b7480280f7a6f4a289729f", "global-flag": "0", "write-ini": "true"}}
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: properties
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.manifests - DEBUG :: Searching for manifest object member: launchable
2024-04-21 09:08:28,369 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Refresh icons for upgrade or live update on Win10 and above
2024-04-21 09:08:36,994 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Refreshing Fusion icons using Shell API...
2024-04-21 09:08:36,994 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.windows.platform - INFO :: Successfully refreshed Fusion icons
2024-04-21 09:08:36,994 - MainProcess(4784) - ThreadPoolExecutor-1_0 - adsk.dls.streamer.process.process - INFO :: Executing special action 2c5d70c64a6a46008630fb0201c90351(WRITE_LAUNCHER_INI)
Thermionix commented 2 months ago

Considering the next call that seems to be failing;

 adsk.dls.streamer.windows.platform - INFO :: Trying to rename previous Fusion 360 shortcut if it exists for rebranding live update: from C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Autodesk Fusion 360.lnk to C:\Users\Test\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Autodesk Fusion.lnk

I've attempted creating the sub-dir, adding wine-mono & wine-gecko, adding the .lnk files for it to update - still failing I assume its attempting to it making a call to IE or mshtml / dll that is failing / doesn't exist

Thermionix commented 2 months ago

And I'm failing to decompile the streamer platform.pyc

$ cd /home/thermionix/snap/fusion360/common/.wine/drive_c/Program Files/Autodesk/webdeploy/meta/streamer/20240201094011/lib/adsk/dls/streamer/windows/
$ file platform.pyc 
platform.pyc: Byte-compiled Python module for CPython 3.11
$ pycdc -o p.py platform.pyc
Unsupported opcode: SWAP
Thermionix commented 2 months ago

So after having a read through: https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath https://learn.microsoft.com/lv-lv/windows/win32/shell/knownfolderid https://github.com/MicrosoftDocs/win32/blob/docs/desktop-src/shell/working-with-known-folders.md

Wine does implement SHGetKnownFolderPath(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE token, WCHAR **ret_path) https://github.com/wine-mirror/wine/blob/master/dlls/shell32/shellpath.c#L3526 https://github.com/wine-mirror/wine/blob/master/include/knownfolders.h https://source.winehq.org/WineAPI/SHGetFolderPathW.html

I've then tried setting reg keys for the path I believe is failing;

wine REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "ImplicitAppShortcuts" /t REG_EXPAND_SZ /d "%USERPROFILE%\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned"
wine REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "User Pinned" /t REG_EXPAND_SZ /d "%USERPROFILE%\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned"
wine REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Quick Launch" /t REG_EXPAND_SZ /d "%USERPROFILE%\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned\\TaskBar"

Unfortunately still failing

Thermionix commented 2 months ago

wine trace output:

$ cat reace.txt | grep GetKnown
15239.186:057c:05c0:Call KERNEL32.GetProcAddress(6ffffc5c0000,029a5be0 "SHGetKnownFolderPath") ret=6ffff9791d76
15239.186:057c:05c0:Call shell32.SHGetKnownFolderPath(0410ede0,00000000,00000000,03fb0c98) ret=6ffff9774771
15239.186:057c:05c0:trace:shell:SHGetKnownFolderPath {c4aa340d-f20f-4863-afef-f87ef2e6ba25}, 0x00000000, 0000000000000000, 0000000003FB0C98
15239.200:057c:05c0:trace:shell:SHGetKnownFolderPath Final path is L"C:\\users\\Public\\Desktop", 0
15239.200:057c:05c0:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9774771
15281.622:057c:05c0:Call shell32.SHGetKnownFolderPath(0410ede0,00000000,00000000,03fb0c98) ret=6ffff9774771
15281.622:057c:05c0:trace:shell:SHGetKnownFolderPath {c4aa340d-f20f-4863-afef-f87ef2e6ba25}, 0x00000000, 0000000000000000, 0000000003FB0C98
15281.635:057c:05c0:trace:shell:SHGetKnownFolderPath Final path is L"C:\\users\\Public\\Desktop", 0
15281.635:057c:05c0:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9774771
15282.944:057c:05c0:Call shell32.SHGetKnownFolderPath(0410e700,00000000,00000000,03fb0d98) ret=6ffff9774771
15282.944:057c:05c0:trace:shell:SHGetKnownFolderPath {a4115719-d62e-491d-aa7c-e74b8be3b067}, 0x00000000, 0000000000000000, 0000000003FB0D98
15282.951:057c:05c0:trace:shell:SHGetKnownFolderPath Final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu", 0
15282.951:057c:05c0:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9774771
15284.351:057c:05c0:Call shell32.SHGetKnownFolderPath(0410e700,00000000,00000000,03fb1018) ret=6ffff9774771
15284.351:057c:05c0:trace:shell:SHGetKnownFolderPath {a4115719-d62e-491d-aa7c-e74b8be3b067}, 0x00000000, 0000000000000000, 0000000003FB1018
15284.361:057c:05c0:trace:shell:SHGetKnownFolderPath Final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu", 0
15284.361:057c:05c0:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9774771
15285.659:057c:05c0:Call shell32.SHGetKnownFolderPath(0410e700,00000000,00000000,03fb0d98) ret=6ffff9774771
15285.659:057c:05c0:trace:shell:SHGetKnownFolderPath {9e3995ab-1f9c-4f13-b827-48b24b6c7174}, 0x00000000, 0000000000000000, 0000000003FB0D98
15285.659:057c:05c0:trace:shell:SHGetKnownFolderPath Failed to get folder path, 0x80070057.
15285.659:057c:05c0:Ret  shell32.SHGetKnownFolderPath() retval=80070057 ret=6ffff9774771
aedancullen commented 2 months ago

@Thermionix - nice! To me it looks looks like the problematic one there would be falling into this CSIDL_Type_Disallowed case, which produces that 0x57 invalid-parameter error (becomes 0x80070057 after HRESULT_FROM_WIN32). Perhaps next we can figure out which of the CSIDL_Data entries it was trying to use (some of them have CSIDL_Type_Disallowed set).

This person seems to have encountered the same situation - in their case it's the 0x6f CSIDL type "FOLDERID_UserProgramFilesCommon" that is set to disallowed with a "fixme" comment.

EDIT: although wait - why are we not getting a trace output for the nested SHGetFolderPathAndSubDirW?

Thermionix commented 2 months ago

registry dump from wine:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{9E3995AB-1F9C-4F13-B827-48B24B6C7174}]
"Attributes"=dword:00000002
"Category"=dword:00000004
"Name"="User Pinned"
"ParentFolder"="{52A4F021-7B75-48A9-9F6B-4B87A210BC8F}"
"RelativePath"="User Pinned"

windows

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{9e3995ab-1f9c-4f13-b827-48b24b6c7174}]
"Attributes"=dword:00000002
"Category"=dword:00000004
"Name"="User Pinned"
"ParentFolder"="{52a4f021-7b75-48a9-9f6b-4b87a210bc8f}"
"PreCreate"=dword:00000001
"RelativePath"="User Pinned"

I grepped trace output because the trace output was 3gb, SHGetFolderPathAndSubDirW

$ cat trace.txt | grep SHGetFolderPathAndSubDirW
12826.074:0564:0568:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x10,0000000000000000,0,(null),000000000021EC20
12826.075:0564:0568:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
15239.186:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x19,0000000000000000,0,(null),000000000410EAD0
15239.200:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\Public\\Desktop")
15281.622:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x19,0000000000000000,0,(null),000000000410EAD0
15281.635:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\Public\\Desktop")
15281.884:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x10,0000000000000000,0,(null),000000000410E280
15281.893:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
15282.944:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x16,0000000000000000,0,(null),000000000410E3F0
15282.951:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu")
15284.351:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x16,0000000000000000,0,(null),000000000410E3F0
15284.361:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu")
15285.659:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x6c,0000000000000000,0,(null),000000000410E3F0
15285.659:057c:05c0:trace:shell:SHGetFolderPathAndSubDirW returning 0x80070057 (final path is L"")
Thermionix commented 2 months ago

CSIDL_Type_Disallowed on FOLDERID_UserPinned

Thermionix commented 2 months ago

https://github.com/wine-mirror/wine/commit/51bec0847395ee90b12287773d5fae512f4df8c9

just need to build this patch and test,

patch: https://github.com/wine-mirror/wine/commit/51bec0847395ee90b12287773d5fae512f4df8c9.patch

Thermionix commented 2 months ago

well, not quite success, SHGetFolderPathAndSubDirW is now returning correctly

$ grep -E 'SHGetFolderPathAndSubDirW|SHGetKnownFolderPath' out.txt 
36009.007:04a8:04ac:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x10,0000000000000000,0,(null),00007FFFFE2FECF0
36009.008:04a8:04ac:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
39230.359:04cc:04f8:Call KERNEL32.GetProcAddress(6ffffc970000,7c8d2dc4cba0 "SHGetKnownFolderPath") ret=6ffff9f71d76
39230.359:04cc:04f8:Call shell32.SHGetKnownFolderPath(7c8d2c4dede0,00000000,00000000,7c8d2c562218) ret=6ffff9f54771
39230.359:04cc:04f8:trace:shell:SHGetKnownFolderPath {c4aa340d-f20f-4863-afef-f87ef2e6ba25}, 0x00000000, 0000000000000000, 00007C8D2C562218
39230.359:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x19,0000000000000000,0,(null),00007C8D2C4DEAE0
39230.372:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\Public\\Desktop")
39230.372:04cc:04f8:trace:shell:SHGetKnownFolderPath Final path is L"C:\\users\\Public\\Desktop", 0
39230.372:04cc:04f8:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9f54771
39290.158:04cc:04f8:Call shell32.SHGetKnownFolderPath(7c8d2c4dede0,00000000,00000000,7c8d2c562218) ret=6ffff9f54771
39290.158:04cc:04f8:trace:shell:SHGetKnownFolderPath {c4aa340d-f20f-4863-afef-f87ef2e6ba25}, 0x00000000, 0000000000000000, 00007C8D2C562218
39290.158:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x19,0000000000000000,0,(null),00007C8D2C4DEAE0
39290.165:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\Public\\Desktop")
39290.165:04cc:04f8:trace:shell:SHGetKnownFolderPath Final path is L"C:\\users\\Public\\Desktop", 0
39290.165:04cc:04f8:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9f54771
39290.513:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x10,0000000000000000,0,(null),00007C8D2C4DE2C0
39290.523:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
39291.419:0528:052c:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0,0000000000000000,0,(null),000000014001D000
39291.421:0528:052c:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
39291.920:04cc:04f8:Call shell32.SHGetKnownFolderPath(7c8d2c4de700,00000000,00000000,7c8d2c562298) ret=6ffff9f54771
39291.920:04cc:04f8:trace:shell:SHGetKnownFolderPath {a4115719-d62e-491d-aa7c-e74b8be3b067}, 0x00000000, 0000000000000000, 00007C8D2C562298
39291.920:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x16,0000000000000000,0,(null),00007C8D2C4DE400
39291.929:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu")
39291.929:04cc:04f8:trace:shell:SHGetKnownFolderPath Final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu", 0
39291.929:04cc:04f8:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9f54771
39292.420:0528:052c:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x7,0000000000000000,0,(null),00007FFFFE2FD640
39292.421:0528:052c:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp")
39292.421:0528:052c:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x10,0000000000000000,0,(null),00007FFFFE2FD640
39292.422:0528:052c:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
39292.422:0528:052c:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0xb,0000000000000000,0,(null),00007FFFFE2FD640
39292.423:0528:052c:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu")
39292.423:0528:052c:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x18,0000000000000000,0,(null),00007FFFFE2FD640
39292.425:0528:052c:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp")
39292.425:0528:052c:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x19,0000000000000000,0,(null),00007FFFFE2FD640
39292.426:0528:052c:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\Public\\Desktop")
39293.935:04cc:04f8:Call shell32.SHGetKnownFolderPath(7c8d2c4de700,00000000,00000000,7c8d2c562498) ret=6ffff9f54771
39293.935:04cc:04f8:trace:shell:SHGetKnownFolderPath {a4115719-d62e-491d-aa7c-e74b8be3b067}, 0x00000000, 0000000000000000, 00007C8D2C562498
39293.935:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x16,0000000000000000,0,(null),00007C8D2C4DE400
39293.945:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu")
39293.945:04cc:04f8:trace:shell:SHGetKnownFolderPath Final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu", 0
39293.945:04cc:04f8:Ret  shell32.SHGetKnownFolderPath() retval=00000000 ret=6ffff9f54771
39295.081:0530:0534:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0,0000000000000000,0,(null),000000014001D000
39295.082:0530:0534:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
39295.587:04cc:04f8:Call shell32.SHGetKnownFolderPath(7c8d2c4de700,00000000,00000000,7c8d2c562298) ret=6ffff9f54771
39295.587:04cc:04f8:trace:shell:SHGetKnownFolderPath {9e3995ab-1f9c-4f13-b827-48b24b6c7174}, 0x00000000, 0000000000000000, 00007C8D2C562298
39295.587:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x6c,0000000000000000,0,(null),00007C8D2C4DE400
39295.603:04cc:04f8:trace:shell:SHGetFolderPathAndSubDirW returning 0x80070003 (final path is L"C:\\users\\thermionix\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned")
39295.603:04cc:04f8:trace:shell:SHGetKnownFolderPath Failed to get folder path, 0x80070003.
39295.603:04cc:04f8:Ret  shell32.SHGetKnownFolderPath() retval=80070003 ret=6ffff9f54771
39296.080:0530:0534:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x7,0000000000000000,0,(null),00007FFFFE2FD640
39296.081:0530:0534:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp")
39296.081:0530:0534:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x10,0000000000000000,0,(null),00007FFFFE2FD640
39296.083:0530:0534:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\Desktop")
39296.083:0530:0534:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0xb,0000000000000000,0,(null),00007FFFFE2FD640
39296.084:0530:0534:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\thermionix\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu")
39296.084:0530:0534:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x18,0000000000000000,0,(null),00007FFFFE2FD640
39296.086:0530:0534:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp")
39296.086:0530:0534:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x19,0000000000000000,0,(null),00007FFFFE2FD640
39296.087:0530:0534:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\users\\Public\\Desktop")
39296.087:0530:0534:trace:shell:SHGetFolderPathAndSubDirW 0000000000000000,0x16,0000000000000000,0,(null),00007FFFFE2FD640
39296.088:0530:0534:trace:shell:SHGetFolderPathAndSubDirW returning 0x00000000 (final path is L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu")
Thermionix commented 2 months ago

Well, the patch did work!, the path didn't actually exist and was throwing 'Directory Not Found' error mkdir -p "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Microsoft/Internet Explorer/Quick Launch/User Pinned/"

Thermionix commented 2 months ago

anyone on arch can patch the wine pkgbuild and build;

fixtype.patch

git clone https://gitlab.archlinux.org/archlinux/packaging/packages/wine.git

$ git diff
diff --git a/PKGBUILD b/PKGBUILD
index d9571f1..3325ae4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -11,11 +11,13 @@ _pkgbasever=${pkgver/rc/-rc}

 source=(https://dl.winehq.org/wine/source/9.x/$pkgname-$_pkgbasever.tar.xz{,.sign}
         30-win32-aliases.conf
-        wine-binfmt.conf)
+        wine-binfmt.conf
+        fixtype.patch)
 sha512sums=('cc2ea5597636da8d392d1d63b9c135679eff69ea671dc6b53b6f2d44a890aee0e17275174485f6e8dd99c7db737eb82a800a2b05c4966f15e28167c5a6098922'
             'SKIP'
             '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
-            'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285')
+            'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285'
+            'SKIP')
 validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
               DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D)

@@ -90,6 +92,11 @@ optdepends=(
 makedepends=(${makedepends[@]} ${depends[@]})
 install=wine.install

+prepare() {
+    cd $pkgname-$pkgver
+    patch --forward --strip=1 --input=../fixtype.patch
+}
+
 build() {
   # Allow ccache to work
   mv $pkgname-$_pkgbasever $pkgname

makepkg -si

Thermionix commented 2 months ago

Merge request sent to winehq

mullinmax commented 2 months ago

Looks like this has since been merged into winehq

fattylipidacid commented 2 months ago

hm, somehow i am still facing the old issue with the *exe.ini not being created, also using the newest whinehq ...can anyone confirm similar issues?

flaviut commented 2 months ago

Same here--I've applied the patch, wiped the wine prefix & reinstalled. Running the launcher with WINEPREFIX="$WP_BOX" FUSION_IDSDK=false WINEDEBUG=-all,-d3d wine $PWD/'wineprefixes/default/drive_c/Program Files/Autodesk/webdeploy/production/6a0c9611291d45bb9226980209917c3d/FusionLauncher.exe' fails with the "Configuration file '...\FusionLauncher.exe.ini' is missing or incomplete error".

pkgbuild patch diff --git a/PKGBUILD b/PKGBUILD index 761c530..28c3af2 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -9,15 +9,14 @@ pkgrel=1 _pkgbasever=${pkgver/rc/-rc} -source=(https://dl.winehq.org/wine/source/9.x/$pkgname-$_pkgbasever.tar.xz{,.sign} +source=(https://dl.winehq.org/wine/source/9.x/$pkgname-$_pkgbasever.tar.xz 30-win32-aliases.conf - wine-binfmt.conf) + wine-binfmt.conf + 'https://github.com/wine-mirror/wine/commit/51bec0847395ee90b12287773d5fae512f4df8c9.patch') sha512sums=('0c15c3a0901162a386126f2dc987b276b379cc027fc72d9e31cf3122614742f876f30a5f24a495f546cd9c5bd5efce096bd9ca190d0f378fea3d42a298a06e80' - 'SKIP' '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb' - 'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285') -validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7 - DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D) + 'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285' + 'SKIP') pkgdesc="A compatibility layer for running Windows programs" url="https://www.winehq.org" @@ -90,6 +89,12 @@ optdepends=( makedepends=(${makedepends[@]} ${depends[@]}) install=wine.install +prepare() { + cd $pkgname-$pkgver + patch --forward --strip=1 --input=../51bec0847395ee90b12287773d5fae512f4df8c9.patch +} + + build() { # Allow ccache to work mv $pkgname-$_pkgbasever $pkgname

testing with the latest version of wine-git also fails with the exact same issue.

MinerForStone commented 2 months ago

hm, somehow i am still facing the old issue with the *exe.ini not being created, also using the newest whinehq ...can anyone confirm similar issues?

You might be using the wrong .desktop, try the one with the older icon.

Otherwise, try using this as your FusionLauncher.exe.ini:

[Launcher]
stream = production
auid = AutodeskInc.Fusion360
cmd = ""C:\Program Files\Autodesk\webdeploy\production\6a0c9611291d45bb9226980209917c3d\FusionLauncher.exe""
global = False
Thermionix commented 2 months ago

The path also needs to be created before the setup exe is run, or you will get a 'Directory Not Found' and install failure mkdir -p "$WINEPREFIX/drive_c/users/$USER/AppData/Roaming/Microsoft/Internet Explorer/Quick Launch/User Pinned/"

tinyfluffs commented 1 month ago

Compiled wine from source on Arch Linux, and did not need to apply the patch since it was merged. I created a clean wineprefix manually at the default location, then manually created the directory @Thermionix mentions above. Ran the installer as usual with that, and sure enough, Fusion on Linux is working again. Thank you very much :smile:

Thermionix commented 1 month ago

Wine 9.8 released on arch! (which includes my fix)

arpia49 commented 1 month ago

Does this mean that with Wine 9.8 we are good to go? No need for mkdir or anything in parallel?

Thermionix commented 1 month ago

yep, install script now adds the required directory for setup to complete and specifies wine version ≥ 9.8

fattylipidacid commented 1 month ago

Works like a charm, thank you all for getting things running again!

cryinkfly commented 1 month ago

Bug solved with the help of @Thermionix !