Bug#912057: getting winehq's wine-mono to work

2018-10-28 Thread Alexandre Viau
Hello Jens and Austin,

On 2018-10-28 2:36 p.m., Jens Reyer wrote:
>>> On 28.10.18 01:22, Alexandre Viau wrote:
>> Can you reproduce this?
>>
>>  - rm -rf ~/wine
>>  - wine explorer
>>  - browse c:\\windows\mono
> 
> Tested: No, no mono folder at all.

>> It could be that wine picks-up wine-mono from an unknown location on my
>> system without me noticing...
> 
> Check for ~/.cache/wine/wine-mono-4.7.1.msi.  That will be installed
> automatically and result in a full c:\\windows\mono folder.  You might
> have downloaded it accidentally if you used another Wine (not from
> Debian, where we removed the installer download).

AHH! I did compile wine from upsteam's sources a few times. It must have
downloaded wine-gecko and wine-mono the first time I ran it and
/usr/bin/wine must have picked it up from the cache.

This definitely explains why I couldn't find apps that didn't run
without wine-mono and that ran with it. I **always** has wine-mono
installed when testing.

Thank you!

>>> btw, the command is always "wine" (not wine64 or wine32), e.g. "wine
>>> msiexec /i winemono.msi".  Wine will then figure out internally which
>>> Wine loader to use.  This is true both upstream and in Debian.
>>
>> Sure, I specified wine64 because this is what WineHQ's wiki specifically
>> says so, for 64bit prefixes:
>>  - https://wiki.winehq.org/Mono
>>
>> It also yields totally different results, if we trust wine uninstaller.
>> Note that the .msi is supposed to install both 32 and 64bit versions of
>> mono. It could be that installing it with just wine will install only
>> the 32bit version and skip the 64bit version.
> 
> Ok, that's new to me.  I'd need to look into that more deeply (no
> promise, tell me if you need more help).

Will do. I'll need to re-evaluate these findings since I might get
totally different results now that I removed the wine-mono msi from the
cache. I'll also get back to you on whether or not we need to extend the
addon patch.

On 2018-10-28 2:53 p.m., Austin English wrote:> On Sat, Oct 27, 2018 at
6:22 PM Alexandre Viau  wrote:
>> Does one of you have happen to know an example of a program that does
>> not work using Debian's wine but works when installing the wine-mono
>> .msi at:
>>  - https://dl.winehq.org/wine/wine-mono/ ?
>
> For testing, using a C# hello world is easy:
> austin@debian-desktop:~/debian-mono$ cat hello.cs
> // A Hello World! program in C#.
> using System;
> namespace HelloWorld
> {
> class Hello
> {
> static void Main()
> {
> Console.WriteLine("Hello World!");
> }
> }
> }
>
> # Compile it (needs mono-mcs package):
> $ mcs hello.cs
>
> # Then run it. Without mono:
> austin@debian-desktop:~/debian-mono$ wine-development hello.exe
> 0009:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed
>
> # With mono:
> $ msiexec /i ~/.cache/wine/wine-mono-4.7.1.msi
> ...
> $ austin@debian-desktop:~/debian-mono$ wine-development hello.exe
> Hello World!

This will be helpful, thank you! I had been looking for such an
application for a while, but the fact that wine-mono was installed by
default in my prefixes must have made my research impossible.

On 2018-10-28 3:03 p.m., Jens Reyer wrote:> On 28.10.18 19:53, Austin
English wrote:
>> For testing, using a C# hello world is easy:
> [...]
>
> For completeness, someone else from winehq just told me (and it seems
> they would really be happy to see wine-mono packaged as that would
> ease their support burden

Oh, I'll definitely get this done. It find it very impressive that we
can run dotnet apps without Microsoft's implementation, in Wine. Even if
the number of apps that work with this are limited, I am happy that we
can run them with less proprietary software.

> .NET apps that work with wine-mono are mostly older ones (v2.0). The
> MS Office 2007 and 2010 installers come to mind. (Note that the Office
> 2010 installer doesn't work in current Wine for other reasons.)

I might try them out to confirm that Debian's wine-mono build works fine.

Cheers,

-- 
Alexandre Viau
av...@debian.org



signature.asc
Description: OpenPGP digital signature


Bug#912057: getting winehq's wine-mono to work

2018-10-28 Thread Jens Reyer
On 28.10.18 19:53, Austin English wrote:
> For testing, using a C# hello world is easy:
[...]

For completeness, someone else from winehq just told me (and it seems
they would really be happy to see wine-mono packaged as that would ease
their support burden):

.NET apps that work with wine-mono are mostly older ones (v2.0). The MS
Office 2007 and 2010 installers come to mind. (Note that the Office 2010
installer doesn't work in current Wine for other reasons.)



Bug#912057: getting winehq's wine-mono to work

2018-10-28 Thread Austin English
On Sat, Oct 27, 2018 at 6:22 PM Alexandre Viau  wrote:
>
> Hello,
>
> Before further work on packaging wine-mono, I wanted to get winehq's
> wine-mono build to work.

Great!

> Does one of you have happen to know an example of a program that does
> not work using Debian's wine but works when installing the wine-mono
> .msi at:
>  - https://dl.winehq.org/wine/wine-mono/ ?

For testing, using a C# hello world is easy:
austin@debian-desktop:~/debian-mono$ cat hello.cs
// A Hello World! program in C#.
using System;
namespace HelloWorld
{
class Hello
{
static void Main()
{
Console.WriteLine("Hello World!");
}
}
}

# Compile it (needs mono-mcs package):
$ mcs hello.cs

# Then run it. Without mono:
austin@debian-desktop:~/debian-mono$ wine-development hello.exe
0009:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed

# With mono:
$ msiexec /i ~/.cache/wine/wine-mono-4.7.1.msi
...
$ austin@debian-desktop:~/debian-mono$ wine-development hello.exe
Hello World!

I do know that there are some mono apps that works, but I don't have a
list handy. Keep in mind though that if the app is moderately complex,
it likely will run into a mono limitation.

> I have been trying to find an example for a while now, without success.
> Most installers that I have tried do not detect dotnet as already
> installed and claim it is missing.

Yeah, it's missing a lot of functionality compared to native..

> Also, I notice that C:\\windows\mono exists in prefixes by default, even
> when wine-mono is not installed. That is expected?

I don't think so. I just tried in a self compiled wine upstream, then
I cancelled the gecko/mono installs. There's no C:\windows\mono.

-- 
-Austin
GPG: 267B CC1F 053F 0749 (expires 2021/02/18)



Bug#912057: getting winehq's wine-mono to work

2018-10-28 Thread Jens Reyer
On 28.10.18 18:45, Alexandre Viau wrote:
> On 2018-10-28 12:49 p.m., Jens Reyer wrote:
>> great to see you working on wine-mono (although personally I never
>> needed it).
> 
> Is this because you use Microsoft's proprietary implementation?

I don't use Wine very often, and the apps that I use it for, just don't
require it.  Last time I needed it, it was for Adobe Digital Editions -
back then I used the proprietary solution (iirc wine-mono didn't work
for it, not sure).


>> On 28.10.18 01:22, Alexandre Viau wrote:
>>> Also, I notice that C:\\windows\mono exists in prefixes by default, even
>>> when wine-mono is not installed. That is expected?
>>
>> I've seen empty gecko/mono folders before, but didn't worry/investigate.
> 
> Mono's folder is full, however. It contains many .exes and .dlls.
> 
> Can you reproduce this?
> 
>  - rm -rf ~/wine
>  - wine explorer
>  - browse c:\\windows\mono

Tested: No, no mono folder at all.


> It could be that wine picks-up wine-mono from an unknown location on my
> system without me noticing...

Check for ~/.cache/wine/wine-mono-4.7.1.msi.  That will be installed
automatically and result in a full c:\\windows\mono folder.  You might
have downloaded it accidentally if you used another Wine (not from
Debian, where we removed the installer download).

All search paths (see the gecko and mono entries in our Debian.readme):
- /usr/share/wine-mono/
- /usr/share/wine-development/mono/ (only if you are using wine-development)
- /usr/share/wine/mono
- $XDG_CACHE_HOME/wine/
- $HOME/.cache/wine/ (if XDG_CACHE_HOME is not set)



>>> On a side note, Wine has a feature that installs mono automatically when
>>> it is in /usr/share/wine-development/mono. However it checks for shasums
>>> and exact filenames so we will probably have to patch it in Debian.
>>> (dlls/appwiz.cpl/addons.c). That said, it shouldn't prevent us from
>>> installing it manually with ``wine64 msiexec /i winemono.msi``.
>>
>> When I worked on disable/addons-download.patch I figured that the
>> checksums are only checked if the wine-gecko/mono installer is loaded
>> from home, but not when loaded from /usr/share.  That's what I put into
>> README.debian.  Please verify.
> 
> I'll verify when I get to that. I read it quickly and never really
> managed to get it installed from /usr/share, but before I jump to the
> conclusion that it didn't work, I want to find a reliable way to test
> whether or not wine-mono is installed.
> 
> Looking at wine uninstaller isn't enough as it produces results that are
> hard to explain, like mono/gecko showing as present even when they were
> not installed.

Ok, I haven't looked into this more deeply.  Make sure you don't have
mono/gecko installed accidentally, see above.
Which Wine are you using?



>> btw, the command is always "wine" (not wine64 or wine32), e.g. "wine
>> msiexec /i winemono.msi".  Wine will then figure out internally which
>> Wine loader to use.  This is true both upstream and in Debian.
> 
> Sure, I specified wine64 because this is what WineHQ's wiki specifically
> says so, for 64bit prefixes:
>  - https://wiki.winehq.org/Mono
> 
> It also yields totally different results, if we trust wine uninstaller.
> Note that the .msi is supposed to install both 32 and 64bit versions of
> mono. It could be that installing it with just wine will install only
> the 32bit version and skip the 64bit version.

Ok, that's new to me.  I'd need to look into that more deeply (no
promise, tell me if you need more help).

Greets
jre



Bug#912057: getting winehq's wine-mono to work

2018-10-28 Thread Alexandre Viau
On 2018-10-28 12:49 p.m., Jens Reyer wrote:
> great to see you working on wine-mono (although personally I never
> needed it).

Is this because you use Microsoft's proprietary implementation?

> I guess you'll put this under the wine-team umbrella?

That would be my plan, yes.

> On 28.10.18 01:22, Alexandre Viau wrote:
>> Also, I notice that C:\\windows\mono exists in prefixes by default, even
>> when wine-mono is not installed. That is expected?
> 
> I've seen empty gecko/mono folders before, but didn't worry/investigate.

Mono's folder is full, however. It contains many .exes and .dlls.

Can you reproduce this?

 - rm -rf ~/wine
 - wine explorer
 - browse c:\\windows\mono

It could be that wine picks-up wine-mono from an unknown location on my
system without me noticing...

>> On a side note, Wine has a feature that installs mono automatically when
>> it is in /usr/share/wine-development/mono. However it checks for shasums
>> and exact filenames so we will probably have to patch it in Debian.
>> (dlls/appwiz.cpl/addons.c). That said, it shouldn't prevent us from
>> installing it manually with ``wine64 msiexec /i winemono.msi``.
> 
> When I worked on disable/addons-download.patch I figured that the
> checksums are only checked if the wine-gecko/mono installer is loaded
> from home, but not when loaded from /usr/share.  That's what I put into
> README.debian.  Please verify.

I'll verify when I get to that. I read it quickly and never really
managed to get it installed from /usr/share, but before I jump to the
conclusion that it didn't work, I want to find a reliable way to test
whether or not wine-mono is installed.

Looking at wine uninstaller isn't enough as it produces results that are
hard to explain, like mono/gecko showing as present even when they were
not installed.

> btw, the command is always "wine" (not wine64 or wine32), e.g. "wine
> msiexec /i winemono.msi".  Wine will then figure out internally which
> Wine loader to use.  This is true both upstream and in Debian.

Sure, I specified wine64 because this is what WineHQ's wiki specifically
says so, for 64bit prefixes:
 - https://wiki.winehq.org/Mono

It also yields totally different results, if we trust wine uninstaller.
Note that the .msi is supposed to install both 32 and 64bit versions of
mono. It could be that installing it with just wine will install only
the 32bit version and skip the 64bit version.

-- 
Alexandre Viau
av...@debian.org



signature.asc
Description: OpenPGP digital signature


Bug#912057: getting winehq's wine-mono to work

2018-10-28 Thread Jens Reyer
[ Dropping debian-wine (=maintainer, gets bugreports anyway), and skitt
  (member of debian-wine) from CC ]

Hi Alexandre

great to see you working on wine-mono (although personally I never
needed it).  I guess you'll put this under the wine-team umbrella?


On 28.10.18 01:22, Alexandre Viau wrote:
> Also, I notice that C:\\windows\mono exists in prefixes by default, even
> when wine-mono is not installed. That is expected?

I've seen empty gecko/mono folders before, but didn't worry/investigate.


> On a side note, Wine has a feature that installs mono automatically when
> it is in /usr/share/wine-development/mono. However it checks for shasums
> and exact filenames so we will probably have to patch it in Debian.
> (dlls/appwiz.cpl/addons.c). That said, it shouldn't prevent us from
> installing it manually with ``wine64 msiexec /i winemono.msi``.

When I worked on disable/addons-download.patch I figured that the
checksums are only checked if the wine-gecko/mono installer is loaded
from home, but not when loaded from /usr/share.  That's what I put into
README.debian.  Please verify.

btw, the command is always "wine" (not wine64 or wine32), e.g. "wine
msiexec /i winemono.msi".  Wine will then figure out internally which
Wine loader to use.  This is true both upstream and in Debian.

Greets
jre



Bug#912057: getting winehq's wine-mono to work

2018-10-27 Thread Alexandre Viau
Hello,

Before further work on packaging wine-mono, I wanted to get winehq's
wine-mono build to work.

Does one of you have happen to know an example of a program that does
not work using Debian's wine but works when installing the wine-mono
.msi at:
 - https://dl.winehq.org/wine/wine-mono/ ?

I have been trying to find an example for a while now, without success.
Most installers that I have tried do not detect dotnet as already
installed and claim it is missing.

Also, I notice that C:\\windows\mono exists in prefixes by default, even
when wine-mono is not installed. That is expected?

On a side note, Wine has a feature that installs mono automatically when
it is in /usr/share/wine-development/mono. However it checks for shasums
and exact filenames so we will probably have to patch it in Debian.
(dlls/appwiz.cpl/addons.c). That said, it shouldn't prevent us from
installing it manually with ``wine64 msiexec /i winemono.msi``.

Cheers,

-- 
Alexandre Viau
av...@debian.org



signature.asc
Description: OpenPGP digital signature