On Fri, 14 Dec 2012, Jeremy Visser <jeremy(a)visser.name> wrote:
On 14/12/12 12:55, Russell Coker wrote:
Do they support dependencies and versioned
dependencies? In past times
when I've been forced to deal with Windows systems there were all sorts
of nasty problems with ordering of installation. For example installing
IE and installing MS-Office would both write some shared libraries so
you had to make sure you installed them in the correct order. The
correct solution to that problem is to have them both depend on a
package that provides the library.
This is a problem that has been solved since Windows XP, i.e. the year
2001:
<https://en.wikipedia.org/wiki/Side-by-side_assembly>
https://en.wikipedia.org/wiki/Side-by-side_assembly#Disadvantages
# Only supported on Windows XP and later. In Windows XP, a bug in sxs.dll
# causes heap corruption, leading to application crashes. This issue is not
# fixed by any XP service packs. Users must manually install a QFE (Quick Fix
# Engineering).[11]
#
# Considerably higher disk space consumption. The winsxs directory typically
# starts at several gigabytes in size and continues to grow as applications
# are installed. Further, there is currently no supported way to significantly
# reduce the size of the winsxs directory.
That's not a solved problem. It doesn't have anywhere near the features that
dpkg had in the mid 90's.
Also the top of the Wikipedia page in question has the following:
# However, runtime libraries in Visual C++ 2010 no longer use this technology;
# instead, they include the version number of a DLL in its file name, which
# means that different versions of one DLL will technically be completely
# different DLLs now.
So Visual C++ 2010 finally got features that are similar to what every Linux
user had been familiar with since at least the mid 90's (maybe early 90's, I
can't remember).
But if they actually do what the Wikipedia page says then it's not good
enough. What you would actually want is the ability to update a DLL to fix a
bug while having it regarded as a minor update so that old programs can still
run with it.
Basically the same thing that Linux does:
<https://en.wikipedia.org/wiki/Dynamic_linker#ELF-based_Unix-like_systems>
That doesn't have anything to do with the issue of managing versions of
libraries etc.
So either you last encountered the problem before
2001, or the people
who wrote the software coded it to pre-2001/pre-WinSxS standards. Either
way, that's way too long ago to continue holding a grudge. It would be
wise to consider that a solved problem.
http://en.wikipedia.org/wiki/Windows_xp
Windows XP is apparently the second most popular version of Windows and it
only supports SxS which doesn't give the features we are all used to on Linux.
--
My Main Blog
http://etbe.coker.com.au/
My Documents Blog
http://doc.coker.com.au/