An MSI file is basically a database containing tables with
relationships (reference:
http://msdn.microsoft.com/en-us/library/Aa372860), so that means
handling it is more complex than a ZIP. But since the installer (msiexe)
is part of the OS it seems like the most natural way to install software
on Windows though, especially when the installer implements a lot of
functionality (i.e. transactional install /w rollback capability, delta
compression for patches, restart manager integration, etc.) which one
gets basically for free when using MSIs. There are tools to convert
to/from MSIs (i.e. WiX's Light.exe and Dark.exe, see
http://wix.sourceforge.net/) and they are presumably included in CoApp
as dependency.
In absence of an installer executable on the target box, you'd have to
create an EXE. For that I have used NSIS in the past
(http://nsis.sourceforge.net) and must say I've liked it, mostly because
the final installers are very compact and the scripting system fit my
"coder" mentality. But to quote their documentation "To create a NSIS
installer, you first have to write a NSIS script." which may not be much
easier than dealing with MSIs.
My 2 cents.
--Andreas
On 9/26/10 7:54 AM, Olaf van der Spek wrote:
> On Sun, Sep 26, 2010 at 4:23 AM, John McNamee<jpm@xxxxxxxxxxxx> wrote:
>> Does anybody outside of Microsoft really like MSI? Wouldn’t a package
>> format based on ZIP archives be a better cultural fit for open source
>> software? I know MSI is the supported method for installing SxS
>> assemblies. For the sake of discussion, let’s assume that isn’t an issue.
>> What other advantages do you see in MSI? Are those advantages worth it?
> IMO MSI is just an implementation 'detail'.
>
>> (2) Shallow forks vs. upstream support
>>
>> I understand that shallow forks are needed to get started, but I hope the
>> ultimate goal is getting CoApp adopted by as many upstream packages as
>> possible. I have a dream that some day, I'll be able to grab the latest
>> code for random open source projects and build them on Windows as easily as
>> on Unix.
> There's no reason not to get upstream support.
>
>> (3) CMake
>>
>> Have you looked at CMake (http://www.cmake.org)? There are several
>> cross-platform build systems out there, and none has emerged as a clear
>> standard. However, my observation is that CMake has gained the greatest
>> acceptance. Could CoApp leverage CMake?
> IMO it's ok but not good.
>
> Olaf