kornelpal at gmail.com
Tue Sep 21 14:10:07 EDT 2010
Nicholas Salerno wrote:
> With respect to compatibility with Microsoft's behavior, I have found two bugs in Mono's implementation of installutil:
Mono aims to be compatible with MS.NET so you are welcome to fix
compatibility issues. Note that if you also provide unit tests that
prove that your implementation is corrent and ensure that there will be
no regression later, your patches are more likely to be accepted.
> Both of these bugs I would like to fix because they really break the "write once, run everwhere" model and I (and company) do not want to maintain two code bases for dealing with Microsoft's way and Mono's way of installers.
Mono itself has the same goals.
> What I am still undecided about is if ManagedInstallerClass uses AssemblyInstaller to get some of the work done. Right now both of these classes are not implemented in Mono and I am wondering if the code in installutil.exe is split amongst the two classes.
I have never used AssemblyInstaller but based on the documentation I
agree that ManagedInstallerClass should be the core of a command line
tool around AssemblyInstaller. Note that this is an implementation
detail invisible to the outside world so you don't have to guess how
MS.NET does it, you can just implement it the way that makes sense.
> To summarize:
> installutil.exe --uses--> ManagedInstallerClass --uses--> AssemblyInstaller
> Provides command line user interface for ManagedInstallerClass.
I think that this is a good design.
More information about the Mono-devel-list