| |
| |
| VistaUACMaker |
| Make your application UAC compliant for
Vista/Win7 |
|
|
| |
|
|
| |
| |
|
|
| |
| |
|
Vista has introduced new feature
called UAC (User Account Control). In short it basically controls
the way in which applications are executed by different users. Due
to enforcement of this UAC, by default any application on Vista will
run under the context of standard user instead of administrator. As
a result the application which requires administrator privilege will
fail to work properly on Vista.
So VistaUACMaker is designed to address this problem by making any
Windows XP based application compatible with Vista as well as
Windows 7. |
| |
| |
|
To make any application Vista UAC
compliant one has to embed a manifest file specifying the privilege
required by the application. Manifest file mainly contain 2
important information, privilege required by the application and UI
interaction of application with other windows.
|
There are 3 types of privileges that can be mentioned in the
manifest file.
|
- requireAdministrator : Run as administrator
- asInvoker : Run as same privilege as parent process
- highestAvailable : Run with highest privilege available for user
|
Other than this, one has to specify
if the application interacts with user interface of other high
privilege applications. For example your application may send the
message to modify the UI of other high privilege application. This
is specified through following parameter
|
| uiAccess : TRUE/FALSE |
| |
| |
|
Manifest file is generally put into
the resource section of the application. Typical manifest file with
administrator privilege and with no "uiAccess" appears like this. |
| |
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" processorArchitecture="*"
version="1.0.0.0"
name="MyApplication.exe"></assemblyIdentity>
<description>Vista Application</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" language="*" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"></assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"
uiAccess="FALSE"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
|
| |
|
| |
|
| VistaUACMaker has both console and GUI version. Here is the
screenshot of the GUI version |
| |
 |
| |
| Here is the screenshot of the Console version... |
|
|
| |
| |
|
In just 3 steps, your application will be ready to run on Vista/Win7
|
-
Select the application using browse button.
- Set one of the privilege required for your application from
selection box.
- Check the "Yes" button if your application interacts with high
privilege applications.
|
Once you have made the settings,
click on "Make It" button. Now your application will automatically
run as per the privilege set rather than usual "standard user"
account. |
| |
| |
|
Console tool makes it easy to
automate the process. For example you can use it as post build step
to make the application Vista/Win7 UAC compliant. Here is the
typical usage information. |
| |
VistaUACMakerConsole [-d <description>] [-p <priv
level>] [-ui] {exe_path}
Options:
-d Description of the project ( Default : My project )
-p Privilege level required. possible values : admin, invoker,
highest
admin = administrator
invoker = same as parent process
highest = Highest possible level for the user
-ui Specify if the executable interacts with higher windows.
(Default action is not to set this flag)
Example:
VistaUACMakerConsole -d "Vista project" -p admin "c:\project.exe" |
| |
|
| |
|
| Support for Windows 7. New attractive GUI with cool look &
feel. |
| |
| Enhanced user interface with improved about dialog. |
| |
| First public release of VistaUACMaker |
| |
|
| |
|
|
|
|
|
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |