The forum

installing dotnet35

Author Replies
xplicit Wednesday 8 January 2014 at 23:37
xplicitAnonymous

Hi,

I want to install dotnet35 with wine 1.7.6 but can't do this, because playonlinux script checks wine version and does not allow to install dotnet35 package.

if ! (VersionLower $(POL_Config_PrefixRead VERSION) 1.5.21); then
        POL_Debug_Fatal "$(eval_gettext 'This package fail to install with wine 1.5.21 or better')"
fi

I tried to switch wine version to lower version, but installation still fails. Also I would try to change the source of the script if I knew where it's located (I did not find the dotnet35 installation script in the /usr/share/playonlinux directory)

Is there a way to install dotnet35 package with playonlinux? 

xplicit Thursday 9 January 2014 at 12:39
xplicitAnonymous

If winemono package is istalled when the new virtual drive creates (why can't I choose this package from packages list?) instead of dotnet packages, I get an error
"Error parsing .../machine.config
Parser returned error 0x80004001"
on every run of .net application, including system (msbuild.exe, installutil.exe etc)

Daerandin Thursday 9 January 2014 at 14:42
DaerandinAnonymous

I accidentally discovered that wine version 1.5.18 never fails for dotnet installations. So I would suggest using that wine version for dotnet installations, then switching to the wine version you want to use after dotnet is installed.
xplicit Thursday 9 January 2014 at 21:02
xplicitAnonymous

I could not install dotnet35 with lower versions of wine, I instantly got the error:

[POL_Wine_SetVersionEnv] Message: Setting wine version path: 1.5.18, x86
[POL_Wine_SetVersionEnv] Message: "/home/user/.PlayOnLinux//wine/linux-x86/1.5.18" exists
[POL_Call] Message: Calling POL_Install_dotnet35sp1
[POL_Source] Message: POL GPG : Good signature
[POL_Call] Message: Calling POL_Install_dotnet35
[POL_Source] Message: POL GPG : Good signature
POL_Install_dotnet35: line 9: VersionLower: command not found
[source] Fatal: This package fail to install with wine 1.5.21 or better
xplicit Thursday 9 January 2014 at 21:06
xplicitAnonymous

Can anybody point me where is POL_Install_dotnet35 script located? I'll remove the version check from it and try to install dotnet35 again.
Daerandin Thursday 9 January 2014 at 21:59
DaerandinAnonymous

The error you get states you are using a newer wine version, which means you did not set the specific virtual drive to use 1.5.18.

Did you let the virtual drive update to use 1.5.18 after you set it? Whenever you change the wine version for a virtual drive in PlayOnLinux, you have to start the virtual drive for it to properly update to use it. A simple way to do this is to start "WIne config" for the specific virtual drive.

If you say exactly what you are doing, it will be a lot easier to help as I don't have to guess.
booman Friday 10 January 2014 at 0:23
booman

Sometimes if Wine crashes and is still running when you change versions the next install won't show the new version.

Make sure to kill Wine completely before switching to another version of Wine.

Specifically when it crashes.
I can confirm that Wine 1.5.18 installs all dot net version just fine without errors

† Booman †
Mint 19.3 64-bit | Nvidia 440 | GeForce GTX 1060
Linux for Beginners | List of Linux Games | My Games
PlayOnLinux Guides | PlayOnLinux Explained
petch Friday 10 January 2014 at 8:04
petch
Developer

@xplicit:
Hi,
Those scripts are stored in a dedicated section in the scripts repository called "Functions": http://www.playonmac.com/en/supported_apps-100-0.html

If you want to experiment with those, there's an override feature since PlayOnLinux 4.2.2. It is designed as a developer feature, not a permanent solution to issues with scripts. Please, please, please, if you find reliable improvements to those, share your findings so they can be incorporated in the repository and everyone benefits.

Here's how it works:
- You have to set the PlayOnLinux setting ALLOW_FUNCTION_OVERRIDES to TRUE, so open the PlayOnLinux console and type
[code=console]
> POL_Config_Write ALLOW_FUNCTION_OVERRIDES TRUE
[/code]
You can use POL_Config_Delete or change its value anytime and PlayOnLinux will revert to standard behavior.
- Then you can put modified version(s) of function script(s) into the directory ~/.PlayOnLinux/configurations/function_overrides they have to be called like the original one, eg POL_Install_dotnet35, etc. Functions can call other functions, so you may need more than one during experimentation
- Under those conditions, PlayOnLinux will use your script instead of the repository implementation
- When an override is used, you'll get a message reminding you that you're not installing under the same conditions as other users. This will also disable bug reporting. Again this feature is not meant as a permanent fix for standard users issues.

xplicit Friday 10 January 2014 at 16:40
xplicitAnonymous

Thanks guys,

I updated playonlinux to version 4.2.2 and was able to install dotnet35 on wine 1.5.18 and than switched to wine 1.7.6.
petch:
I followed your guide, fixed the script and could install dotnet35 at least on pure wine 1.7.6.

I want to make pull request, but could not find appropriate repository on github. I found this one (maybe it's yours) https://github.com/petchema/playonlinux/tree/master/functions, but POL_Install_dotnet35 in repository differs from http://www.playonmac.com/en/source_ajax-822-POL_Install_dotnet35.html.
How should I do share changed script? Is there an official public source code repository for functions?

petch Friday 10 January 2014 at 18:04
petch
Developer

I followed your guide, fixed the script and could install dotnet35 at least on pure wine 1.7.6.

Quote from xplicit

I suppose the version test has some purpose though, and that installation fails for some versions?
If so, it'd be great to narrow down what versions are problematic and adjust the test

How should I do share changed script? Is there an official public source code repository for functions?

Quote from xplicit

Scripts are stored in a MySQL database, not a git repository.
There has been some plans to have some kind of bridge, but nothing like that exists right now.

Best way is currently to post the modified script on "Your creations" forum, so that changes can be discussed with maintainers. We'll take care of updating the repository when done.

xplicit Friday 10 January 2014 at 21:18
xplicitAnonymous

I did not remove version test, I just added msxml3 dependency for higher versions of wine (>=1.5.28), because they have an issue with built-in xml parser. I checked installation of dotnet35 package for 1.5.28 version, 1.6 and 1.7.6 versions - .net 3.5 is installed.

Also I found an issue: current version of msxml3 package does not install msxml3.dll correctly, it creates zero-byte dll file. It's looking strange, the command:
POL_Wine msiexec /i msxml3.msi /q - creates zero-byte msxml3.dll
POL_Wine msiexec /i msxml3.msi - (without quite option) installs msxml3.dll correctly, but shows accept licence and other installation windows
msiexec /i msxml3.msi /q - from playonlinux wine command prompt again installs file correctly

Maybe something wrong with POL_Wine command?

I'll post modified scripts to the forum.