[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] installer/common/uninstall/platform/win/res
From: dcollins () helixcommunity ! org
Date: 2011-02-22 23:57:23
Message-ID: 201102222357.p1MNvC0S018376 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/installer/common/uninstall/platform/win/res
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv21950
Modified Files:
Tag: SERVER_14_2
servuninst.rc
Log Message:
Synopsis
========
Fixes PR 269355: 64 bit Server and proxy fail to install as NT services on 64 bit win2k8
Branches: HEAD, SERVER_14_2_RN
Reviewer: Chytanya
Description
===========
Windows Vista and later heuristically determines whether an executable
requires UAC elevation. If so, you can see this from the application
icon, which will have a UAC shield superimposed over it. When run,
it will ask the user for permission to continue.
The thing is, it only does this for 32-bit executables. For 64-bit
builds, your binary needs to explicitly state that it requires UAC
elevation using an application manifest. Please reference:
http://msdn.microsoft.com/en-us/library/aa905330.aspx
Because of this, the 32-bit installers were successfully installing the
service, while the 64-bit builds were not.
The solution is to create a .manifest file for the installer, and update
the instshell builds to reference it. Similarly, the uninstaller needs
to explicitly request UAC elevation as well and also needs a similar
.manifest file.
With these changes, the installer and uninstaller both now show the UAC
shield as part of their icon. When run, they each ask the user for
permission.
These changes were made for both the 32-bit and 64-bit builds for
more consistent behavior. The default heuristics for 32-bits were not
guaranteed to work, whereas explicitly stating in the manifest
that UAC elevation is required is the documented approach.
We should document that installation/uninstallation requires Administrator
rights.
Files Affected
==============
server-restricted/installer/common/platform/win/res/instshell.manifest [new]
server-restricted/installer/common/platform/win/res/instshell.rc
server/installer/common/uninstall/platform/win/res/servuninst.manifest [new]
server/installer/common/uninstall/platform/win/res/servuninst.rc
Testing Performed
=================
Unit Tests:
- N/A
Integration Tests:
-
Leak Tests:
- N/A
Performance Tests:
- N/A
Platforms Tested: win-x86_64-vc10, win-x86-vc10
Builds Verified: win-x86_64-vc10, win-x86-vc10
QA Hints
========
- Fix affects both 32-bit and 64-bit Server and Proxy installers and
uninstallers.
- Does not affect other platforms.
- Verify standard users (without Administrator rights) are prompted for
an admin username/password to install and uninstall.
----------------------------
revision 1.1.2.2
date: 2011/02/22 20:02:21; author: dcollins; state: Exp; lines: +18 -0
Synopsis
========
Fixes PR 269355: 64 bit Server and proxy fail to install as NT services on 64 bit win2k8
Branches: HEAD, SERVER_14_2_RN
Reviewer: Chytanya
Description
===========
Windows Vista and later heuristically determines whether an executable
requires UAC elevation. If so, you can see this from the application
icon, which will have a UAC shield superimposed over it. When run,
it will ask the user for permission to continue.
The thing is, it only does this for 32-bit executables. For 64-bit
builds, your binary needs to explicitly state that it requires UAC
elevation using an application manifest. Please reference:
http://msdn.microsoft.com/en-us/library/aa905330.aspx
Because of this, the 32-bit installers were successfully installing the
service, while the 64-bit builds were not.
The solution is to create a .manifest file for the installer, and update
the instshell builds to reference it. Similarly, the uninstaller needs
to explicitly request UAC elevation as well and also needs a similar
.manifest file.
With these changes, the installer and uninstaller both now show the UAC
shield as part of their icon. When run, they each ask the user for
permission.
These changes were made for both the 32-bit and 64-bit builds for
more consistent behavior. The default heuristics for 32-bits were not
guaranteed to work, whereas explicitly stating in the manifest
that UAC elevation is required is the documented approach.
We should document that installation/uninstallation requires Administrator
rights.
Files Affected
==============
server-restricted/installer/common/platform/win/res/instshell.manifest [new]
server-restricted/installer/common/platform/win/res/instshell.rc
server/installer/common/uninstall/platform/win/res/servuninst.manifest [new]
server/installer/common/uninstall/platform/win/res/servuninst.rc
Testing Performed
=================
Unit Tests:
- N/A
Integration Tests:
-
Leak Tests:
- N/A
Performance Tests:
- N/A
Platforms Tested: win-x86_64-vc10, win-x86-vc10
Builds Verified: win-x86_64-vc10, win-x86-vc10
QA Hints
========
- Fix affects both 32-bit and 64-bit Server and Proxy installers and
uninstallers.
- Does not affect other platforms.
- Verify standard users (without Administrator rights) are prompted for
an admin username/password to install and uninstall.
Index: servuninst.rc
===================================================================
RCS file: /cvsroot/server/installer/common/uninstall/platform/win/res/servuninst.rc,v
retrieving revision 1.3
retrieving revision 1.3.280.1
diff -u -d -r1.3 -r1.3.280.1
--- servuninst.rc 23 Jan 2003 23:43:00 -0000 1.3
+++ servuninst.rc 22 Feb 2011 23:57:21 -0000 1.3.280.1
@@ -131,6 +131,15 @@
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+//
+// Manifest
+//
+// Used for the uninstaller to request UAC elevation
+//
+#define MANIFEST_RESOURCE_ID 1
+MANIFEST_RESOURCE_ID RT_MANIFEST "servuninst.manifest"
+
#ifndef APSTUDIO_INVOKED
_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic