[Mono-list] Application installation on Windows

Alexander.Nolting at Bertelsmann.de Alexander.Nolting at Bertelsmann.de
Thu Aug 31 11:56:08 EDT 2006


Hello Robert and also Andreas,

I took some thoughts since my question and I think you both on the right way. For is interesting to install a .NET app on a linux os. My idea is now to use wine and mono together, in fact using wine to handle the msi packages by installing windows installer under wine and then the needed apps. Then has to be a script in the msi which determines where mono in which version is installed and provide a bash script in the install folder of the msi, which also find out where mono is installed and starts the app in the right way (mono <app>|<path with app>).

regards
Alex



-----Ursprüngliche Nachricht-----
Von: mono-list-bounces at lists.ximian.com im Auftrag von Robert Jordan
Gesendet: Do 31.08.2006 15:12
An: Mono-list at lists.ximian.com
Betreff: Re: [Mono-list] Application installation on Windows
 
Hi Andreas,

Andreas Färber wrote:
> I asked a similar question some time ago, and this issue is simply  
> being ignored. The point is how to detect a Mono installation from a  
> Windows Installer package. For Microsoft .NET this can be determined  
> using the Windows Installer technology itself, and the shortcuts  
> point directly to the .exe, the CLR being integrated into Windows.  
> Both is impossible with Mono.
> 
> a) How does one determine whether Mono is installed somewhere on the  
> system? (registry?)

That's quite easy:

1) lookup the string value

    $version = HKLM_LOCAL_MACHINE\Software\Novell\Mono\DefaultCLR

2) lookup the string value

     $monoprefix =

HKLM_LOCAL_MACHINE\Software\Novell\Mono\$version\SdkInstallRoot


3) (optional) detect whether $mono-prefix\bin\mono.exe exists.

If one of the steps above failed, Mono is not properly
installed or too old.


> b) How should the shortcut be constructed? (assume Mono will be on  
> the user's path? or determine absolute Mono path somehow?)

Usually the tool (1) which generates the MSI is able to create
icons almost automagically.

The shortcut target is

	$monopath\bin\mono.exe

The shortcut's command line

	$installdir\yourapp.exe

The shortcut's icon

	$installdir\yourapp.exe


(1) I can't really recommend one, but have a look at WiX:

	http://wix.sourceforge.net/

Despite of its very misleading name (for Germans ;-),
it's a nice toolkit.

> This lack of information is keeping me from providing a Mono version  
> of my Windows software.
> 
> Another thing is that with Microsoft .NET there's a library  
> InstallUtilLib.dll that can be used as part of a Windows Installer  
> package to run managed Installer classes (e.g. for Firewall  
> configuration) - Installer classes are apparently not available in  
> Mono, no equivalent to InstallUtilLib provided and no workaround  
> published.

This can't be provided, because this would require that
MS.NET is installed on the machine. Otherwise the MSI engine
won't be able to execute the custom actions implemented
by your assemblies.

Robert

_______________________________________________
Mono-list maillist  -  Mono-list at lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20060831/dc3f80dc/attachment-0001.html 


More information about the Mono-list mailing list