<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7638.1">
<TITLE>AW: [Mono-list] Application installation on Windows</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<BR>

<P><FONT SIZE=2>Hello Robert and also Andreas,<BR>
<BR>
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 &lt;app&gt;|&lt;path with app&gt;).<BR>
<BR>
regards<BR>
Alex<BR>
<BR>
<BR>
<BR>
-----Ursprüngliche Nachricht-----<BR>
Von: mono-list-bounces@lists.ximian.com im Auftrag von Robert Jordan<BR>
Gesendet: Do 31.08.2006 15:12<BR>
An: Mono-list@lists.ximian.com<BR>
Betreff: Re: [Mono-list] Application installation on Windows<BR>
<BR>
Hi Andreas,<BR>
<BR>
Andreas Färber wrote:<BR>
&gt; I asked a similar question some time ago, and this issue is simply&nbsp;<BR>
&gt; being ignored. The point is how to detect a Mono installation from a&nbsp;<BR>
&gt; Windows Installer package. For Microsoft .NET this can be determined&nbsp;<BR>
&gt; using the Windows Installer technology itself, and the shortcuts&nbsp;<BR>
&gt; point directly to the .exe, the CLR being integrated into Windows.&nbsp;<BR>
&gt; Both is impossible with Mono.<BR>
&gt;<BR>
&gt; a) How does one determine whether Mono is installed somewhere on the&nbsp;<BR>
&gt; system? (registry?)<BR>
<BR>
That's quite easy:<BR>
<BR>
1) lookup the string value<BR>
<BR>
&nbsp;&nbsp;&nbsp; $version = HKLM_LOCAL_MACHINE\Software\Novell\Mono\DefaultCLR<BR>
<BR>
2) lookup the string value<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp; $monoprefix =<BR>
<BR>
HKLM_LOCAL_MACHINE\Software\Novell\Mono\$version\SdkInstallRoot<BR>
<BR>
<BR>
3) (optional) detect whether $mono-prefix\bin\mono.exe exists.<BR>
<BR>
If one of the steps above failed, Mono is not properly<BR>
installed or too old.<BR>
<BR>
<BR>
&gt; b) How should the shortcut be constructed? (assume Mono will be on&nbsp;<BR>
&gt; the user's path? or determine absolute Mono path somehow?)<BR>
<BR>
Usually the tool (1) which generates the MSI is able to create<BR>
icons almost automagically.<BR>
<BR>
The shortcut target is<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $monopath\bin\mono.exe<BR>
<BR>
The shortcut's command line<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $installdir\yourapp.exe<BR>
<BR>
The shortcut's icon<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $installdir\yourapp.exe<BR>
<BR>
<BR>
(1) I can't really recommend one, but have a look at WiX:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="http://wix.sourceforge.net/">http://wix.sourceforge.net/</A><BR>
<BR>
Despite of its very misleading name (for Germans ;-),<BR>
it's a nice toolkit.<BR>
<BR>
&gt; This lack of information is keeping me from providing a Mono version&nbsp;<BR>
&gt; of my Windows software.<BR>
&gt;<BR>
&gt; Another thing is that with Microsoft .NET there's a library&nbsp;<BR>
&gt; InstallUtilLib.dll that can be used as part of a Windows Installer&nbsp;<BR>
&gt; package to run managed Installer classes (e.g. for Firewall&nbsp;<BR>
&gt; configuration) - Installer classes are apparently not available in&nbsp;<BR>
&gt; Mono, no equivalent to InstallUtilLib provided and no workaround&nbsp;<BR>
&gt; published.<BR>
<BR>
This can't be provided, because this would require that<BR>
MS.NET is installed on the machine. Otherwise the MSI engine<BR>
won't be able to execute the custom actions implemented<BR>
by your assemblies.<BR>
<BR>
Robert<BR>
<BR>
_______________________________________________<BR>
Mono-list maillist&nbsp; -&nbsp; Mono-list@lists.ximian.com<BR>
<A HREF="http://lists.ximian.com/mailman/listinfo/mono-list">http://lists.ximian.com/mailman/listinfo/mono-list</A><BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>