Hi Jesper,
Thanks for your reply. Sorry to re-ask a FAQ.
Please note that this is not _my_ app and I don't want to distribute it.
This install.exe is part of cygwin, which is used by the make process of
Wavecom embedded wireless modems applications (together with the GCC
compiler). The app I'm writing is not Windows-based. It's compiled on my
Windows machine using and intended to run inside a Wavecom GSM chip, which
uses their own proprietary OS. The app is sent to the modem using X-Modem.
I certainly don't want to distribute an app that would turn off UAC! I may
be stupid but not that much ;-)
All I want is to tell MY computer that C:\OpenAT\....\install.exe is safe
and should not pop up a UAC check. I'm not sure why being able to do that
would defeat UAC as long as there is no public API to access this exception
list. ok, ok, even if it's not public, one can imagine that it wouldn't be
long before some smarty finds out and throws the info out in the wild.
And why something which is not an installer is called install.exe is beyond
my understanding. Damn, I don't even know what it does.
I just don't have any control over that.
I'll investigate the manifest route but I confess I'm not very confident: If
I can simply write a manifest to say "hey, UAC, don't be scared", this is
soon going to be a feature of all InstallShield, Wise, InnoSetup et al. Or
did I miss a boat?
Regards,
Serge.
A comment, Serge: (sorry to butt in)
If the filename "install.exe" is hard-wired into the code of the
installer itself somehow, and the installer won't install without the
installer having the hard-wired file name (as was the case many years
ago), the installer must be named on disk what the internal name is."
But this is an old, old method, and is rarely used today.
Otherwise, it is just a "convention" to name the installer
"install.exe", because it is more descriptive of its function. But
it's really not necessary.
I know that in Windows (or OS X), the installer name can be changed
with no hit to the installation process, as long as the file type is
correct (an executable), making it unnecessary to name the installer
"install.exe". It could be named "my blue ribbon is nifty.exe", and
it would still work normally to install the program it was designed
for..
Using the name "install.exe" was an old DOS "convention", not a hard
and fast rule.
Windows programmers "usually" use the filename "setup.exe" for the
name of a program's installer, but again, it is a"convention", rather
than a hard and fast rule.
This is possible because every executable file compiled for Windows
has a special header which tells the OS that the file is an
executable, rather than a data file, along with other necessary
information, such a pointer to the location of the first byte, and the
length of the program, making it unnecessary to hardwire the program's
name in its own code in order to be reentrant.