Error 0x8002801C
Autor: Fileas Borja | Publicado: 2010-07-27T13:42:00-03:00

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">









Recently some of my applications started to fail install. They are a set of
aged applications made with Visual Basic 6 and the setup was built with Inno
Setup (an excellent tool, by the way). The error was the following:


      0x8002801C: Error accessing the OLE registry


Searching by the possible causes I found that in Windows Vista not even the
Administrator user has write access to some registry keys. Which lead to the
above error when my setup tried to register some OLE/COM libraries.


This, to me, was a shock. How Microsoft can think that the Administrator user
cannot have privileged access to the local registry? This is a security
absurd! If the Administrator do not have privileged access to the registry,
who has it?


But, this is not the end. I searched the WEB to a workable solution and,
surprisingly, no Microsoft BLOG nor Microsoft forum had the answer. I found
the answer, off course, in a completely away forum. But the only solution that
I found was to the Administrator rewrite the permissions in the registry key.
Well, this is funny. The Administrator does not have default write access to
some registry keys but you can reach there changing the default privileges.


Off course that the security of a system is always an issue. And you, as a
user of that system, should be aware of it. But the system cannot think that it
is smarter than the user and try to do all the stuff to protect you. You,
as an user, needs to know the you must never access your system as an
Administrator, or with an user in a group with administrator privileges. This
is the philosophy take in *NIX systems. You never log on as root. But in
the *NIX systems if you need to run a tool or application with root
privileges you can simply start it with sudo or another alike tool.


In Windows world this is, some times, complicated since the Windows philosophy
was to take you away from the shell. The average user does not even know
what a shell is. So, if you need to run an application with administrator
privileges you need to find it in the first place. Using Windows Explorer, you
need to open "My Computer" window, then navigate to the drive, the folder, find
the right file (if your Windows is hiding the file extensions this can be
hard), click on it with the right mouse button, open the "properties" dialog,
find the appropriate tab and set the "run as" option. Then you need to find
a user with administrator privileges or use the default Administrator user
that may not be listed if you are running a Home edition. Then you type
the password an everything is Ok.


It could be much more simpler if Windows had a tool like sudo. Or better,
let just think that Windows has an "Admin Explorer" tool, that let you access
all your system with Administrator privileges without login as Administrator.
Everything that you open or run through this "Admin Explorer Window" will be
opened or ran with administrator privileges. That would be a hell of a tool,
don't you think?


<!-- html code generated by txt2tags 2.5 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags 8002801C.t2t -->