Bottles
Bottles copied to clipboard
[Bug]: dotnet48 not setting up registry entries properly
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
- Create bottle
- Install dotnet48 and corefonts
- Use custom ElementalWarrior wine build and WinMetadata from windows
- Install affinity photo
- Run it, fails
- Install dotnet48 from winetricks
- Works
Alternative untested option
- Create bottle
- Install dotnet48
- Backup registry
- Install dotnet48 from winetricks
- 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
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
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)