School Assignment? Project Due Tomorrow? Chat LIVE With A Programming Expert!

Welcome to Dream.In.Code
Become an Expert!

Join 300,430 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,483 people online right now. Registration is fast and FREE... Join Now!




UAC

 

UAC, Why do people say its VISTA's fault.

AdamSpeight2008

13 May, 2009 - 01:58 PM
Post #1

The Bandido Coder
Group Icon

Joined: 29 May, 2008
Posts: 2,686



Thanked: 155 times
Dream Kudos: 3925
Expert In: vb.net, LINQ

My Contributions
I sick to death of people complaining about UAC.
Any program that doesn't take UAC into account, or wrote before vista could have problem with vista.
It's not vista's fault, it the program's programmer's fault.

QUOTE

But it works when I run it as administrator on XP


When will people learn that An Administrator Group user on Vista not the same as an XP Adminstrator.

Most of the time their problems arise because they are using old way doing things. (95 98)
Or keep assuming things are in the same place, so hard code file locations into their program.

User is offlineProfile CardPM
+Quote Post


Core

RE: UAC

13 May, 2009 - 02:14 PM
Post #2

Den The Developer
Group Icon

Joined: 8 Dec, 2008
Posts: 2,944



Thanked: 214 times
Dream Kudos: 900
Expert In: C#, VB.NET, .NET Framework

My Contributions
Probably this topic should be in Software Development. Moved. smile.gif

And I would agree that since Vista is pretty well established, UAC should be taken in the account. And it is actually not that hard to do that - embedding a manifest that will grant the needed privilegies depending on the situation.
User is offlineProfile CardPM
+Quote Post

Bort

RE: UAC

14 May, 2009 - 12:18 AM
Post #3

VBort.NET
Group Icon

Joined: 18 Sep, 2006
Posts: 1,353



Thanked: 27 times
Dream Kudos: 350
My Contributions
The main problem I have with Vista is it's lack of backwards-compatibility. Why will ActiveX controls only work with Vista if they were created using ATL 8.0 or later? This is going to screw up a lot of legacy applications.

If someone created a program before Vista came out, why is it the programmers fault that it doesn't work with Vista? Surely Microsoft bear some of the responisbility there?
User is offlineProfile CardPM
+Quote Post

janotte

RE: UAC

14 May, 2009 - 03:12 AM
Post #4

code > sword
Group Icon

Joined: 28 Sep, 2006
Posts: 2,157



Thanked: 152 times
Expert In: C/C++

My Contributions
QUOTE(Bort @ 14 May, 2009 - 12:18 AM) *

If someone created a program before Vista came out, why is it the programmers fault that it doesn't work with Vista? Surely Microsoft bear some of the responisbility there?


It's a good question.

How far should backwards compatibility be required of M$?

M$ has to drag around a huge amount of old code to keep enterprise environments happy. That's why they are the premier workplace OS provider. And it's why the enterprise take-up of Vista has been minimal (in relative comparison to the move to XP).

Whether home users should expect their very old code to run on their new machine is an open question. At some point people have to let history be history and move on. Where that cut-off point is is an interesting question.

Anyway, it will all be over soon and the whinging and whining about Windows 7 can start the game again.

Happily, I get to just watch it all from the sidelines with a wry smile while I happily use OS X at home and leave the hassles of getting Windows to run to the network admins at work.

Not saying there is anything "wrong" with Windows. Just that I am glad to be able to avoid the boring "UAC sux" / "Vista sux" / etc conversations with a simple "Get a Mac" response and move on with my day.



User is offlineProfile CardPM
+Quote Post

PsychoCoder

RE: UAC

14 May, 2009 - 10:00 AM
Post #5

Dyslexics Untie!
Group Icon

Joined: 26 Jul, 2007
Posts: 14,714



Thanked: 501 times
Dream Kudos: 11450
Expert In: VB, VB.Net, C#, SQL, ASP, ASP.Net, Web Development, HTML, CSS, Win32 API, Javascript, mySQL, J#, Boo.Net, jQuery

My Contributions
QUOTE(Bort @ 13 May, 2009 - 11:18 PM) *

Surely Microsoft bear some of the responisbility there?


Actually I believe software developers (and hardware for that matter) hold 100% responsibility to make something work with the OS. Why should Microsoft hold responsibility for each and every software (and hardware developer) on the planet? It's not like Apple where their OS and hardware are all created and worked on by the same company. Microsoft offers an OS, and people who want their software out there should be the ones responsible for making it work with the current OS.

Just my 2¢ smile.gif
User is offlineProfile CardPM
+Quote Post

Bort

RE: UAC

18 May, 2009 - 01:20 AM
Post #6

VBort.NET
Group Icon

Joined: 18 Sep, 2006
Posts: 1,353



Thanked: 27 times
Dream Kudos: 350
My Contributions
So, what if someone writes a program that is too advanced for Windows? By your definition, Microsoft should upgrade Vista to support it? What if the programmer cannot get access to newer versions of controls that are compatible with Vista?

Personally, I think that Microsoft should have put more backwards compatibility into Vista. Surely allowing ActiveX controls created using ATL 7.1 or earlier would not cause any harm.
User is offlineProfile CardPM
+Quote Post

AdaHacker

RE: UAC

18 May, 2009 - 12:29 PM
Post #7

D.I.C Regular
***

Joined: 17 Jun, 2008
Posts: 378



Thanked: 83 times
My Contributions
QUOTE(AdamSpeight2008 @ 13 May, 2009 - 03:58 PM) *
I sick to death of people complaining about UAC.

Amen to that. UAC is a great feature. If you don't agree, try running Windows XP as a regular, non-admin user for a couple of months. After that, UAC seems like a real user-friendly convenience feature. At least, that's how I felt.

QUOTE(Bort @ 18 May, 2009 - 03:20 AM) *
What if the programmer cannot get access to newer versions of controls that are compatible with Vista?

That's PsychoCoder's whole point, though. It's the control vendor's job to update their stuff for the new OS. If they refuse to do that, or they've gone out of business, well... sorry, but you backed the wrong horse and you're just going to have to find another set of controls. Yeah, it stinks, but it's not Microsoft's fault.

QUOTE
Surely allowing ActiveX controls created using ATL 7.1 or earlier would not cause any harm.

I'm not so sure of that. I wasn't familiar with this issue, so I did a little reading. As I understand it, it's not that pre-8.0 ATL controls don't work at all, it's that they don't work with DEP in certain circumstances. Apparently, Windows will actually recognize and account for this when the components is run in a program that is not marked as NX compatible, so old programs should continue to work just fine. The issue comes when a program is recompiled with the flag to enable NX compatibility or when the old component is loaded into a program that is NX compatible. In those cases, DEP kicks in and things crash. There are ways around this (like disabling DEP for that process), but the recommended fix is just to get NX compatible components.

To me, this actually seems like the correct way to do things. With thunk emulation, old programs that are totally oblivious to DEP should be able to work correctly, which seems like a good solution. But when it comes to NX compatible programs loading controls that aren't NX compatible, why should that work? If an NX compatible process can still run code from non-executable memory segments, doesn't that completely defeat the purpose of DEP?
User is offlineProfile CardPM
+Quote Post

Bort

RE: UAC

19 May, 2009 - 04:37 AM
Post #8

VBort.NET
Group Icon

Joined: 18 Sep, 2006
Posts: 1,353



Thanked: 27 times
Dream Kudos: 350
My Contributions
QUOTE(AdaHacker @ 18 May, 2009 - 12:29 PM) *

QUOTE
Surely allowing ActiveX controls created using ATL 7.1 or earlier would not cause any harm.

I'm not so sure of that. I wasn't familiar with this issue, so I did a little reading. As I understand it, it's not that pre-8.0 ATL controls don't work at all, it's that they don't work with DEP in certain circumstances. Apparently, Windows will actually recognize and account for this when the components is run in a program that is not marked as NX compatible, so old programs should continue to work just fine. The issue comes when a program is recompiled with the flag to enable NX compatibility or when the old component is loaded into a program that is NX compatible. In those cases, DEP kicks in and things crash. There are ways around this (like disabling DEP for that process), but the recommended fix is just to get NX compatible components.

To me, this actually seems like the correct way to do things. With thunk emulation, old programs that are totally oblivious to DEP should be able to work correctly, which seems like a good solution. But when it comes to NX compatible programs loading controls that aren't NX compatible, why should that work? If an NX compatible process can still run code from non-executable memory segments, doesn't that completely defeat the purpose of DEP?


Maybe it does, but personally, I think this may have been one of the reasons Vista did not take off. Microsoft announced this wonderful DEP and UAC to help protect the computer and the user, then didn't tell programmers or software engineers about the changes they would have to make until after it was released.

And currently, no I'm not able to get an up-to-date version of the control I've been using, and because it is an item I work with, there is no way I could get a different control (and this is my fault apparently?). And trying to find out why my control wasn't working took months of poring over Microsoft and third party websites and constant frustration until I eventually discovered about ATL and DEP. After that, I had my application completely up and running in a matter of minutes, by flagging it as not compatible with NX. Yes, disabling DEP would have been easier, but I have no guarantee that my application would be used on computers with DEP disabled.

Also, what is the point of writing applications if you need an emulator to run them?
User is offlineProfile CardPM
+Quote Post

TechWar

RE: UAC

2 Jun, 2009 - 05:10 AM
Post #9

D.I.C Regular
***

Joined: 17 Feb, 2009
Posts: 468



Thanked: 7 times
My Contributions
For once, I totally agree with psychoCoder. Making sure your software works with Win is not MS's problem.
If you buy a new car stereo, you don't go to your car dealer complaining that the wiring harness doesn't match.
No, you buy a converter.

There is absolutely NO way that MS can possibly make sure that every program ever created will work with their OS, so
you really can't expect them too.
If you say "Well they should at least go back 2 years."
what about the other guy that wants 5?
or the other one who wants 10?

No, the decision should be up to MS with guarantees past it's lifecycle. It's the only sane way

and you really can't bitch about UAC. Use linux and try su or sudo to get root privliges to do anything. almost the exact same thing?

This post has been edited by TechWar: 2 Jun, 2009 - 07:23 AM
User is offlineProfile CardPM
+Quote Post

PsychoCoder

RE: UAC

2 Jun, 2009 - 05:32 AM
Post #10

Dyslexics Untie!
Group Icon

Joined: 26 Jul, 2007
Posts: 14,714



Thanked: 501 times
Dream Kudos: 11450
Expert In: VB, VB.Net, C#, SQL, ASP, ASP.Net, Web Development, HTML, CSS, Win32 API, Javascript, mySQL, J#, Boo.Net, jQuery

My Contributions
QUOTE(Bort @ 19 May, 2009 - 03:37 AM) *

And currently, no I'm not able to get an up-to-date version of the control I've been using, and because it is an item I work with, there is no way I could get a different control (and this is my fault apparently?).


Well it's certainly not Microsoft's fault that the control vendor doesn't offer a compatible version of their control to work with Vista, now is it? As pointed out by TechWar, if I go buy a new stereo for my Toyota truck, is it Toyota's fault that the wiring harness that came standard with the stock radio doesn't match up to the one on the new stereo, well no it's not.

I get so tired of everyone blaming Microsoft because they application they (the developer) doesn't work with Vista, it's not Microsoft's fault that the developer didn't do their due diligence to find out what they need to do to make it compatible (that information has been available for a long time now).
User is offlineProfile CardPM
+Quote Post

Bort

RE: UAC

2 Jun, 2009 - 07:25 AM
Post #11

VBort.NET
Group Icon

Joined: 18 Sep, 2006
Posts: 1,353



Thanked: 27 times
Dream Kudos: 350
My Contributions
QUOTE(PsychoCoder @ 2 Jun, 2009 - 05:32 AM) *

QUOTE(Bort @ 19 May, 2009 - 03:37 AM) *

And currently, no I'm not able to get an up-to-date version of the control I've been using, and because it is an item I work with, there is no way I could get a different control (and this is my fault apparently?).


Well it's certainly not Microsoft's fault that the control vendor doesn't offer a compatible version of their control to work with Vista, now is it? As pointed out by TechWar, if I go buy a new stereo for my Toyota truck, is it Toyota's fault that the wiring harness that came standard with the stock radio doesn't match up to the one on the new stereo, well no it's not.

I get so tired of everyone blaming Microsoft because they application they (the developer) doesn't work with Vista, it's not Microsoft's fault that the developer didn't do their due diligence to find out what they need to do to make it compatible (that information has been available for a long time now).


I'll agree that it isn't Microsoft's fault if the control vendor does not upgrade their control for Vista, but it's hardly my fault either, is it? Still bloody annoying though.

When Vista was first released, they did not make life easy. In Europe, they had a court case with the EU about making parts of Vista more open so people could release compatible hardware/software. This is why there were so many compatibility issues when Vista came out. Because Microsoft did not offer proper support to people developing for their new OS.

And as for the information being freely available, yes it was. Providing you knew exactly what you were looking for and where to look for it. Trying to trace this problem down from a pop-up box on Vista saying 'This program has encountered an error and needs to close' is a little more tricky. Like I said, I was able to get my program working with Vista within minutes of finding out about this, but it took a long time to get to that piece of information.

Of course, if you had known about it, it would have been nice of you to share the information with the rest of us.
User is offlineProfile CardPM
+Quote Post

papuccino1

RE: UAC

2 Jun, 2009 - 12:33 PM
Post #12

C# Programmer
Group Icon

Joined: 2 Mar, 2008
Posts: 943



Thanked: 33 times
Dream Kudos: 50
My Contributions
I have another simple question: Why do some people insist on writing "M$".

Does it make you feel special? Do you get 2$ from Linus everytime you write it like that?
User is offlineProfile CardPM
+Quote Post

janotte

RE: UAC

4 Jun, 2009 - 04:13 AM
Post #13

code > sword
Group Icon

Joined: 28 Sep, 2006
Posts: 2,157



Thanked: 152 times
Expert In: C/C++

My Contributions
QUOTE(papuccino1 @ 2 Jun, 2009 - 12:33 PM) *

I have another simple question: Why do some people insist on writing "M$".

Does it make you feel special? Do you get 2$ from Linus everytime you write it like that?


Because "MS" is a very horrible disease that was known as such long before Bill Gates started his company.
http://www.faqs.org/health/Sick-V3/Multiple-Sclerosis.html
"MS" is taken.

Does "M$" touch a nerve?
Does it upset you?
Does it make you feel people may think less of you for choosing one of their products?

I can assure you that no-one judges you on your support or otherwise of M$. But getting a little hot under the collar about seeing it does allow judgements to be made.



User is offlineProfile CardPM
+Quote Post

Pwn

RE: UAC

6 Jun, 2009 - 09:33 AM
Post #14

D.I.C Regular
***

Joined: 25 Nov, 2007
Posts: 360



Thanked: 13 times
My Contributions
There was another thread in the C++ forums about this. Basically, the reason Windows is such a security black hole is because of all the backwards compatibility. I think it's great that Microsoft is taking some steps forward.
User is offlineProfile CardPM
+Quote Post

drjoe51

RE: UAC

7 Jun, 2009 - 02:51 PM
Post #15

D.I.C Head
**

Joined: 16 Mar, 2008
Posts: 134



Thanked: 1 times
My Contributions
Of course M$ makes sense for Microsoft. It's a company, it wants to make money like every single kind of companies in the world.
User is offlineProfile CardPM
+Quote Post

RudiVisser

RE: UAC

8 Jun, 2009 - 02:08 AM
Post #16

.. does not guess solutions
Group Icon

Joined: 5 Jun, 2009
Posts: 1,872



Thanked: 137 times
Dream Kudos: 125
Expert In: PHP, MySQL, HTML, CSS, C#

My Contributions
The funny thing I find about most UAC Complainers is that the group contains a hell of alot of linux users, specifically noob ones using Ubuntu or something similar.... Erm hellooooo? `sudo` at command line? The "keyring" at GUI? It's almost the same thing.

I personally believe UAC is a great feature, and it was just made even better in Windows 7 now that it's scaled down a little in the amount of times it requires attention from you (when logged on as an admin account).

To join the off-topicness that's started about backwards compatibility, I don't believe it's Microsoft's fault at all. The way I see Windows is like any other product... Take cars for example. If someone made a body kit for a 1999 VW Golf, would you still expect it to work on a 2009 VW Golf? No.
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic

Time is now: 11/8/09 12:37AM

Live Help!

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter Fan Us On Facebook

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month