Bottles icon indicating copy to clipboard operation
Bottles copied to clipboard

[Bug]: dotnet48 not setting up registry entries properly

Open daegalus opened this issue 2 years ago • 9 comments

Describe the bug

On the Affinity forums , there is an effort to get it working on Linux, which is mostly successful.

But we found that if you use the dotnet48 from the dependencies section of bottles, something doesn't quite work with the registry entries and we get a non working install.

Using winetricks on the bottle for dotnet48, everything installs correctly and it works.

Just want to make it clear, that this is not related to anything specific to Affinity, and its something to do with how the installers for dotnet48 are handled.

To Reproduce

Reproducing requires a custom build of wine for Affinity that the source is in the forums

I have made this wine builder docker image for ease of building new images https://github.com/daegalus/wine-builder if it helps reproduce

  1. Create bottle
  2. Install dotnet48 and corefonts
  3. Use custom ElementalWarrior wine build and WinMetadata from windows
  4. Install affinity photo
  5. Run it, fails
  6. Install dotnet48 from winetricks
  7. Works

Alternative untested option

  1. Create bottle
  2. Install dotnet48
  3. Backup registry
  4. Install dotnet48 from winetricks
  5. Diff registry with backup.

Package

Flatpak from Flathub

Distribution

Fedora 37, Arch Linux, etc.

Debugging Information

Official Package: true
Version: '51.5'
DE/WM: gnome
Display:
    X.org: true
    X.org (port): :0
    Wayland: true
Graphics:
    vendors:
        amd:
            vendor: amd
            envs:
                DRI_PRIME: '1'
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.2.8-300.fc38.x86_64
Disk:
    Total: 16780406784
    Free: 16780259328
RAM:
    MemTotal: 31.3GiB
    MemAvailable: 23.5GiB
Bottles_envs: null

Troubleshooting Logs

Don't have the exact error, but usually something related to `mscoree.dll`

Additional context

No response

daegalus avatar Mar 29 '23 04:03 daegalus

if i remember from my previous troubleshoots, you can get it to work by installing dotnet35, dotnet35sp1, dotnet40 and dotnet48, which uh... ugh....

so yes, installing dotnet48 from bottles dependencies manager does not write enough regkeys for affinity to see dotnet40-48 as installed.

i'm guessing that maybe bottles use a different dotnet40 & dotnet48 installer than winetricks ? or maybe it deletes too many regkeys while uninstalling Mono ?

edit :

Alternative untested option

Create bottle Install dotnet48 Backup registry Install dotnet48 from winetricks Diff registry with backup.

i did test it and yes, the issue doesn't come from content of the installer, the issue really is regkeys

wanesty avatar Mar 29 '23 06:03 wanesty

A fantastic alternative could also be to make ElementalWarrior Wine fork as part of Bottles: https://codeberg.org/Wanesty/affinity-wine-docs

I tried compiling it, but it failed. I'll retry later. But having this Wine fork bundled/selectable directly into Bottles would make it so launching Affinity is a piece of cake! (Create Bottles, download runner, select runner for this bottle, magic)

Extarys avatar Dec 17 '23 17:12 Extarys