- Silver, 250 points or more
CCA 2.1 actually fails to launch if User Account Control is enabled on Windows Vista. A program actually should not refuse to launch if User Account Control is enabled. This is actually incorrect behavior for the following reasons:
- CCA 1.8, 1.9, and 2.0 will run correctly on Windows Vista with User Account Control enabled
- CCA 2.1 will break on Windows 7 with its User Account Control detection code
- Elevating the process (by right-clicking on the CCA icon, and selecting Run As Administrator) in an administrator user account will have the same effect as running the program with User Account Control disabled
- The CCA installer can create folders that are writable by all users on the machine by having the appropriate entries in the access control list. This will ensure that CCA can write files to the special folders, even with User Account Control enabled.
- The CCA executable should have the appropriate manifest added to it so that it will run correctly with User Account Control enabled and so that files are written to the correct locations.
- It violates the software design guidelines for Windows Vista and Windows 7
- Windows Logo guidelines for Windows Vista and Windows 7 require that applications run properly with User Account Control enabled
- The user experience is not very good if you have to disable User Account Control just to get CCA running
- Other Cisco applications, such as the Cisco VPN Client or the Cisco IP Communicator softphone, do not require you to enable you to disable User Account Control
The correct behavior on Windows Vista and later is not to detect if UAC is enabled, but to detect if elevation is necessary and to elevate the process if it is really necessary. A program should be designed such that it runs correctly with UAC enabled.
CCA 2.2 should be launchable with User Account Control enabled, and should behave correctly on Windows XP, Windows Vista (with the default UAC settings), and Windows 7 (with the default UAC settings). The UAC detection should really be removed in CCA 2.2, particularly because it breaks Windows 7 compatibility and provides a poor end user experience.