libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Repost: [PATCH] [cygwin|mingw] Create UAC manifest files.


From: Ralf Wildenhues
Subject: Re: Repost: [PATCH] [cygwin|mingw] Create UAC manifest files.
Date: Tue, 16 Mar 2010 07:17:50 +0100
User-agent: Mutt/1.5.20 (2009-10-28)

This issue is complex enough that it warrants some explanation.
We should help our users on that front.

I'm not the w32 expert in any measure, so here's a chunk of texinfo
text that I've just run down now, without much integration, and by
stealing some of the explanations of others.

I was going to finish it first, but given that it already took me this
long to come up with this, maybe it's better to go ahead and post it.
(I hope to get a suggestion for intended libtool semantics posted RSN).

Thanks, and sorry for the delay,
Ralf



@node Windows pecularities
@chapter Windows pecularities

Autotools strive to provide some level of support for the various
Microsoft @sc{dos} and Windows systems.  The @sc{gnu}
@command{config.guess} command recognizes and names few different
environments built upon this operating system and suitable for autotools
usage, such as Cygwin, MinGW, DJGPP, Interix.  Besides the GCC ports for
these systems, other compilers may be supported to varying degree.

Compared to most Unix-like systems, these operating systems differ in
several respects.  Some of them may be handled transparently by the
autotools, but many of them require adaptation by the developer.


@node UAC
@section User Account Control (UAC)

The Microsoft Vista version of Windows provides increased default
privilege control for certain operations such as the installation
and updating of system-wide software.  The level of privileges required
for some executable program to accomplish its task may be designated by
the program developer by means of a manifest file (@pxref{Manifest
Files}) or a compiled-in Windows resource file (@pxref{Resource Files}),
among other possibilities, and among many other system-specific metadata
that may be added to these files, such as program icons.

Now, there exists a large amount of legacy software built for older
versions of this operating system, which is not aware of these privilege
controls.  In order to allow these older programs to continue to work on
the newer system without failing due to lack of privileges, a special
compatibility hack was devised that lets the operating system assume
programs with names containing the substrings @code{instal},
@code{setup}, @code{update}, or @code{patch} would deal with system
program installation and as such should prompt for super-user
(Administrator) privileges.

Now, unfortunately, this hack applies to all software, not just old
legacy programs.  This means, if your executable happens to match any of
those strings, even if it has no need for elevated privileges otherwise,
will needlessly prompt for a password, and if granted, work under
super-user access.  It is possible to turn off this hack by means of a
manifest file or compiled-in resource.

Now, @command{libtool} ...


@node Manifest Files
@subsection Manifest Files

...

@node Resource Files
@subsection Resource Files

...




reply via email to

[Prev in Thread] Current Thread [Next in Thread]