Windows

I'm not breaking up with Windows, but we're seeing other people

For a number of reasons, which I explain in this article, I've decided to avoid Windows 7 and spend more time with Mac and Linux.

For many enterprises, 2010 is going to be the year they decide whether or not to jump on board with Windows 7, or stick with Windows XP indefinitely until there's a compelling reason to migrate to something new. As TechRepublic's CIO Jury showed, it's still a 50/50 tossup.

Personally, I'm going through the same thing, albeit, on a much smaller scale. While our company (CBS) is still officially standardized on Windows XP, in my work for TechRepublic I test lots of different machines and use multiple operating systems. Last week, for example, I used five different operating systems on eight different computers.

For updates on the latest tech news you can also follow me on Twitter at http://twitter.com/jasonhiner.

Nevertheless, I also tend to have a primary laptop and a primary desktop. On both of those machines I also run virtualization software that allows me to test even more operating systems and software.

For a decade, all of my primary computers have run Windows. While I regularly experimented with Macs and various flavors of Linux at times, when I wanted to get my work done I always went back to a Windows system. That's about to change.

I've decided to avoid Windows 7, whenever possible, and rely on Mac and Linux to power my primary systems (you may have seen ).

My systems

After running Windows 7 on my desktop since its beta release at the beginning of 2009, I'm going to migrate my Core i7 desktop machine to Ubuntu Linux and then virtualize a version of Windows 7 and several other operating systems.

For my laptop, right now I'm relying on a 17-inch MacBook Pro, with virtualized versions of Windows XP, Windows 7, and Ubuntu.

Since a lot of what we do at CBS Interactive is run through Web applications, I can do nearly all of my daily work on Mac or Linux. The only things I occasionally still need Windows for are Microsoft Outlook (for heavy mail and calendaring), a few complicated Excel spreadsheets, and a few Web sites that rely on Internet Explorer (usually because of ActiveX).

And, with Outlook coming to Mac in 2010, more reports moving from Excel to the Web, and many companies phasing out ActiveX in favor of open platform technologies, the reasons to stick with Windows will shrink even further in 2010.

The reasons

So, a lot of you are probably wondering why I'm stepping away from Windows at this point. From a technological standpoint, Windows 7 isn't too bad. As I've said before, the best thing you can say about Windows 7 is that it does a better job of getting itself out of the way.

My issues with Windows 7 are mostly bigger concerns with Microsoft

  • Microsoft still badly overcharges for Windows
  • Microsoft should have made Windows 7 a free upgrade for Vista owners
  • Windows 7 does very little to innovate on the OS
  • Microsoft refuses to change the default installation of Windows for better reliability
  • After so many versions, Windows 7 feels like the Weasley's house in Harry Potter, with stuff bolted on all over the place

Even though I get free copies of Windows software through MSDN, I can't keep supporting Windows when Microsoft is overcharging consumers and business for the OS and still failing to deliver anything innovative with its flagship product.

Final word

I also don't want to overstate the breakup. This is not quite as dramatic as when my CBSi colleague Molly Wood publicly broke up with the iPhone in order to hook up with the Motorola Droid. Mine is not a "take your cat and leave my sweater" breakup. For now, Windows and I are just seeing other people, so to speak.

I'll still be using Windows (usually virtualized) almost every day in some capacity. However, Windows will no longer be the primary OS that powers most of my systems and I will not be making the jump to Windows 7.

About

Jason Hiner is Editor in Chief of TechRepublic and Long Form Editor of ZDNet. He writes about the people, products, and ideas changing how we live and work in the 21st century. He's co-author of the upcoming book, Follow the Geeks (bit.ly/ftgeeks).

474 comments
kayten
kayten

Jason - Kudos to you!!! Very well written blog....i simply loved it and re-read it thrice...! I do share your feelings and the only thing that holds me on to Windows is the huge array of games. However i've overcome even that, with PS2 and i am also on the verge of a tech breakup with this OS. Keep writing such good stuff....!

jdr_03
jdr_03

Yeah, Apple doesn't over charge for their OS. Have you seen the cost of a Mac? What hog-wash that is. Atleast be honest. You just don't like Microsoft.

trusake
trusake

Why would you possible think that Win7 should be a free upgrade? When has that EVER happened? Did anyone got a free upgrade from Win95 to Win98? or Win98 to ME or 2000? or 2000 to XP? or XP to Vista? Never. This is a new OS version not a service pack. Plus as far as overcharging, it's like $200 from scratch or $120 for an upgrade, is not THAT much, it still half of what a PS3 is worth!

jfreedle2
jfreedle2

I feel sorry that you feel that way, but it is something that you can do. You can migrate to lessor operating systems like Linux and Macintosh OS X if you really want to spite yourself. Enjoy.

vucliriel
vucliriel

I never cease to be amazed by the rhetoric of people taking sides, especially the stale old Apple versus 'Wintel' cold-war rhetoric, still believing one is better than the other... It's like saying Stalin is better than Hitler... If you had been using computers long enough, you would have actually witnessed the loss of user rights and freedoms that the PC revolution gave us and understood that the problem is much deeper than which side to chose and is a perfect symptom of the fascist times we are living in. The classic Apple versus Microsoft debate belongs to the dusty shelves of history. This war is about the free flow of ideas and the right for users to chose. It is about saying NO to a system that has, on both sides, managed to almost imperceptibly strip user rights and impose restrictions under the guise of safety, solely to maintain corporate giants' hegemony and its world view. One has simply to look at the DMCA and UAC, among others, to realize these measures have been taken solely to control what users can and cannot do and for corporations to gain back the control they used to have on users prior to the computer revolution. If you follow the history of the development of Microsoft and Apple, you cannot dismiss the fact that these two corporations have become much more monstrous and tentacular than the 'Big bad IBM' they were decrying at the time. No other companies have gained such a deep control of what people do in their every day lives than these two companies. Back in 1991, it took me just a few days to take charge of Windows 3.11 and make my computer work the way my brain works. It took me just a few weeks to get Windows 95 and maybe a month or so to gain control of Windows 98 to make it work the way I naturally do. On the other hand, I am practically fighting Vista on a daily basis because it is simply impossible to get rid of the deep, parasitic overlord control this OS has gained on its users. This war should be about reclaiming full control of our environment, making the PC personal again and getting rid of everything that would want to dictate what we can and cannot do with our computers. It should not be a war on operating systems, we just can't win it, but on exchanging ideas on how to force existing OSes to work FOR THE USER instead of dictating what we should be able to do and how we should work. As for security... Those who claim these controls are for our own good are the same people who have sent countless millions to the slaughterhouse in previous wars. Windows 98 can be made rock solid and immune to any attack. There are much better, more powerful and often completely free third party solutions out there than don't require you to sign your soul to the MS or Apple. For those who have worked too long in the Windows environment to switch and who must have choice in software applications, I strongly suggest you take a look at the "Lite" and "Micro" OS rebuilding movement. There is yet hope we can actually get back what we lost. People that are amused by my 'dramatic rhetoric' and dismiss it as such should perhaps read some history and go watch a few movies to understand the real problem we are facing. Let me suggest the classic movies Brazil and TRON among others, the classic 1984 and maybe look up Proudhon and Kropotkin.

mbm29414
mbm29414

This isn't your real opinion, right? You ARE able to dissociate the cost of the OS from the cost of the machine, right? Point 1: Cost of the OS A full copy of Mac OS X costs $129 (Leopard) and the upgrade to Snow Leopard costs $29. Even though you aren't supposed to do it, Snow Leopard is actually a full copy on its own. So, no, that's not an enormous price for the OS. Think what you will about the price of their machines; the cost of the OS isn't governed by that number. Point 2: Cost of Apple machines Secondly, on the issue of machine cost, a lot of people (including me) think that Apple products are really well built. (Full disclosure: I'm a Windows fan. I'm happily running Windows 7 professional on my 2010 MacBook Pro 17" Core i7.) I'm the IT manager for a small document management company. With the exception of my MacBook Pro (purchased to allow me to develop for the iPhone), ALL of the rest of our machines are PCs. I've built all of the desktops by hand and am very happy with the quality of the components. Since it's much more difficult to build your own laptop, we've purchased ours from a variety of manufacturers, including HP, Dell, Asus, Sony, eMachines, etc. While the price has been lower on all of these than a MacBook/MacBook Pro, so has the quality and generally, the speed of the components has been lower. I have had exactly ZERO hardware problems with my 17" MacBook Pro. The elegant design is robust, sturdy and easy-to-use. The Dell netbook ($330) we had was so poorly designed that the trackpad was almost unusable due to integrated buttons. The Asus netbooks ($300) were decent but were also very cheap-feeling. The HP consumer-grade laptops (~$600) were the worst of the bunch (except maybe for the Sony: $1300 ), being cheap and slooooooow. Even the Dell Latitude/Precision notebooks ($1000-$2500), which were fairly sturdy, had their problems and just didn't feel as solid. So, yeah, you can get a PC laptop for $600 with a ?big? screen (how?s that resolution, though?) and ?fast? components. Funny how SLOW those ?fast? components can be in a poorly built/designed machine, though. I've purchased two 17" MacBook Pro machines in the past eight months. The first retailed for $2499. The second, which included massive upgrades to the CPU and GPU as well as incremental upgrades elsewhere, most notably the battery, retailed for $2299. So, in less than a year, Apple substantially upgraded their product yet REDUCED THE PRICE BY $200. Think what you will about the price of their machines; I feel that the value represented is high.

g0dFather
g0dFather

When Vista came out, Microsoft pushed to make sure new OEM machines were loaded with Vista without the option to "downgrade" to XP. Many who wanted to wipe their drives and install XP couldn't find drivers. DirectX10 was Vista-only and not available for XP. In other words, Windows users were strong-armed into Vista. This is why I believe Vista owners should get a free 7 upgrade, or at least a service pack that brings it up to Win7's level.

Deadly Ernest
Deadly Ernest

to fix the massive mistakes in Vista - and, if you check the kernel version numbers, you find that the Win 7 kernel is a number that should have been issued to Vista SP1 - so an upgrade from Vista to Win 7 should have been free for those who bought Vista, since it was correcting the MS mistakes. And the fact the PS 3 is over priced doesn't justify over pricing other software.

Sensor Guy
Sensor Guy

Are both matters of opinion based on individual needs and past experiences, not facts. Let's not allow ourselves to be controlled by any one particular technology or their adherents to the point that tragically close our eyes to all other alternatives. We as humans and especially as IT professionals ought to know better than that.

HAL 9000
HAL 9000

Now that is interesting particularly when only once has a Windows Platform been in the top ten Super Computers list. Every OS has it's place and is ideal for what it is being used for but you are entitled to believe that Windows is best if you want to spite yourself. :D Col

Neon Samurai
Neon Samurai

For some tasks, a Linux based system is anything but the less capable platform. I'd be crippled if I was limited to Windows as a pen-testing platform. It has it's uses but for that task, it's the lessor platform. I also have a load more trust in my public facing *nix servers than my public facing Windows servers. I do go to Windows for playing games though; it's still the more capable platform for that particular activity if latest blockbuster titles are one's goal.

NickNielsen
NickNielsen

You're [u]leasing[/u] Linux and OS X? You are definitely being ripped off.

vucliriel
vucliriel

Macs have always (or almost always) been very well built and are tough to beat design wise. But other machines in their price range have proven just as reliable. I seriously considered a MacBook Pro before settling on the HP EliteBook 8730w (I just couldn?t live without a pointing stick at the time) Hardware wise, Asus, HP, Toshiba, Dell and Lenovo have a lot to learn from Apple in these respects. There is no reason for laptops not to be spill proof, water resistant and shock resistant. For example, having cases that are made of cheap plastic instead or the smooth aluminum armor of the MacBook Pro makes you understand why Macs are so expensive: they actually thought about that instead of simply putting parts together. Two thumbs up for Mac design, but two thumbs down for its limited software and restrictive business practices.

Neon Samurai
Neon Samurai

Apple is a hardware vendor who happens to produce there own embedded OS for there devices. Microsoft is a software vendor who sells directly to end users though primarily does business with manufacturers and big business service contracts. As a result, the OS can not be directly compared based on retail price as a solitary product. For confirmation, look at Apple's policy; you can run any OS on the Apple PC hardware you like; osX, Windows, BSD, Linux based platforms because, that still sells Apple hardware which is there primary goal. They then apply a double standard; you can not legally run osX on any non-Apple hardware because, that still sells Apple hardware. As an embedded OS designed and licensed to only run on Apple hardware; it's essentially a firmware. Either you get it embedded in your new Apple hardware purchase or you buy an upgrade firmware to "re-flash" into your hardware later. If you purchase osX separately you can't legally run it unless you already own Apple hardware to put it on; legally, it's useless without being embedded into Apple's hardware. (hackintosh outside scope since it's not technically legal or intended by Apple) So.. the price of osX + Hardware is a combined price and you'll still need to pay the hardware portion even if you buy later software portions separately. The cost of using osX legally is buying the hardware from Apple to run it on. Personally my problem with Apple is company policy more than product quality. They produce a solid PC and a good embedded OS to go with it. Really what it comes down to is that any discussion of osX as a stand alone product and especially in relationship to true stand alone products is bunk.

carlsf
carlsf

They are already phasing out VISTA again forced. They (Microsoft) have removed the "CLASSIC" option and again made to many change's for change's sake. We (115) have a standard and that includes using the "CLASSIC" option as MS has just removed this, and we will not be moving to WIN7. We will be staying with VISTA and XP (32 and 64bit. Microsofts LOSS.

dougogd
dougogd

You also don't have many options in 7 you do in vista like the classic start menu. And yes I know there is a classic theme but that has nothing to do with the way the start menu functions.

bitdoctor
bitdoctor

If you buy an OEM box, with Windows installed, you CANNOT normally upgrade/replace, without FULL PAYMENT for a retail, non-OEM version! That's what I call "overcharging;" and at least one person has started a class action against MS for that very practice; AND, if you recall, MS, Compaq and Intel were all slapped for these very types of things; i.e., being "too close together in the bed;" (LOL) - they were "tying" unethical restrictions to the hardware platforms and requiring vendors to do certain things (basically forgo using competitors' products), in order to keep doing business with Microsoft - this was one of the monopolostic/"unethically coercive" practices Microsoft was found guilty of. So, here they are STILL tying you down to the EXACT hardware platform you bought, with no options except to BUY "brand new retail, non-OEM" software that you ALREADY BOUGHT WHEN YOU INITIALLY BOUGHT THE SYSTEM! That's my #1 major gripe! NOTHING - AND I MEAN *NOTHING* **EVER** SHOULD BE TIED TO A SPECIFIC PIECE OF 'IRON' (I.E., H/W)! Do we have options - yes, in some cases, we can buy "bare iron" (barebones or just basic system with no O/S); BUT, if you buy system PLUS o/s, you should be able to put that o/s on any other system of your choosing, if the specific original hardware dies! And you CANNOT do that! I am licensed for Windows XP on my HP-specific system, but ONLY on that SPECIFIC, EXACT system! When that system died, I could not legally nor technically re-install the OEM Windows XP onto a Dell system (I mean, I could, by slipstreaming it, blah blah, but that's illegal). Since they (MS and re-sellers) sell retail, non-OEM versions of the O/S, then there is no real added cost for them to do the same for ALL (even pre-built) systems, but... their FEAR of piracy or whatever else they will quote you - will be the reason they say they will not do that.

jfreedle2
jfreedle2

For me, the lessor operating systems are Linux and Macintosh OS, neither of which would provide me the functionality that I require. If I wanted constantly work with the system to just try to get something done, then Linux is definately up to the task there. If I wanted an operating system that could run on a system that costs three times as much as neccessary, then Macintosh OS is the operating system of choice. Personally I use Windows because it provides the functionality that I need and it just works!

carlsf
carlsf

Who brought in Apple.... SORRY I thought this was a Micrososft discussion..... MS have screwed their users and Ripped us off for years. We the MS users want in the short term for MS to listen to what we require and NOT what MS think we need.

Neon Samurai
Neon Samurai

"supporting my claim but putting forth that Apple's strategy isn't software sales but hardware sales" Pretty much. Apple's software development demonstrates much more intention towards selling hardware and services than selling software as the product. The are at the same level as Dell, HP and other vendors who provide the software and hardware combined as the final retail product. At that level, you have to compare equal hardware qualities; a 400$ Dell is not the same quality of hardware as an Apple though a business class 1500$ notebook probably has parts of comparable quality to a 1500$ Apple. Now, for expansion components, they do charge a premium if your buying through the Apple Store. I looked at ram around a year or so ago. Apple certified ram from the store down the street was double the price of Apple certified ram from the licensed reseller a few blocks west. But.. it's not about personal computers for Apple these days; phones and media consumption devices seem to be there big product push right now. Sell the hardware and make it lock the consumer into services which Apple also provides; the software on the device is only there because it makes the hardware function. (I bounced around a bit in your comment and spilled out the rest of this before the above. I'm going to leave it bellow since it's already drafted up and may be of interest) osX, as an embedded os, is subsidized by the hardware sales. The hardware is the product and software provided to make it usable. They sell the boxed osX because they want the updated version with new features out there. Apple doesn't want stale versions of osX lingering to be supported give there hardware an aging look. They rely heavily on marketing and public image in adition to hardware design to support there business model. Windows is the key profit driver. Microsoft does not sell hardware that happens to include Windows to make it usable. Windows is the product that end users and computer retailers purchase to make there own products or prior purchase hardware usable. I can see it being a pears to pears comparison if we're discussing user interface. We can compare size of installation on the hard drive and other features or attributes in and of the OS themselves. I just can't equally consider non-OS attributes like retail price tag. We can't even directly compare Microsoft and Apple as companies in retail terms because they sell to completely different layers of the supply chain. Now that I think of it though, there may be an equal base for comparison. If we minimize the retail related attributes and reduce them down to what is common. Windows becomes an embedded OS at the computer assembly stage in the same way that osX is an embedded OS at the computer assembly. Windows is not being priced to maximize profits from end user consumers as a stand alone retail product in the same way that osX is not being priced to maximize profits from existing Apple hardware owners. Cost of a single lisence for the current version of Windows as an embedded OS in the final prebuilt product from Dell, HP, MSI or similar computer producers; 30$ or there abouts. Based on the refund amount that users who decline the EULA and press the manufacturer for the promised refund can expect to get. Cost of a single license for the current version of osX as an embedded OS in the final prebuilt product from Apple; 30$ or there abouts. Based on the only retail data that Apple is going to give us; the amount charged for existing Apple owners who want to replace the older version shipped with there hardware. Even then, we're making a lot of guesses to try and crop out the differences that make them incomparable in retail terms. This is much like an analyst who has to provide a comparison of two incomparable data sets out of two different database systems and somehow deliver "accurate" figures. This is in the desktop/workstation category though also. Server OS are a different ballpark all together. The amount of money that they demand for enough licenses to make a server usable is staggering; and with a strait face no less. It's like the freaking phone company; "that service plan with the monthly data plan added on will be this much sir" but when it comes time to pay the bill - "oh.. and there is this little fee, and this little fee and that little fee.." or "oh.. and you'll also need this software license and this software license and will it be just you using Windows/Exchange/AV/Firewall or will you be needing a license for each additional user?" (I don't have experience with osX Server else I'd have a satirical jab in there for it along side the Win Server and phone bill.)

vucliriel
vucliriel

I couldn't agree with you more. Very well said. Kudos!

mbm29414
mbm29414

I?ll grant you that a stand-alone purchase of OS X is not quite the same thing as a stand-alone purchase of Windows. There are a few times, however, when the comparison can be made ?apples to apples.? One of these is when a user already owns a machine that they want to keep and a copy of the OS that they want to upgrade. In this case, going from Windows on a PC -> Windows on a PC or OS X on a Mac -> OS X on a Mac seems to be a fair comparison. OS X provides 1 version of their software, effectively equivalent to the ?Ultimate? version of Windows. Upgrading OS X 10.4 to 10.5 cost $129. List price of Vista Ultimate upgrade? $259.95. Upgrading OS X 10.5 to 10.6 cost $29. List price of Win7 Ultimate upgrade? $219.99. If you?re trying to tease out the relative cost of Apple?s OS in order to judge whether they ?overcharge? for their OS, this seems to be the best way to compare that specific item. (I still think the term ?overcharge? is silly, since the price is published and the purchase is voluntary, but I digress). I agree that my cost on OS X was immaterial since it came with my system. That?s also true, though, for most PC users. Very few people actually purchase a full copy of Windows by itself. My entire comment was in response to the silly claim that Apple ?overcharges? for their OS because their machines are expensive. You seem to be supporting my claim by putting forth that Apple?s main strategy isn?t software sales, but hardware sales. From that perspective, the OS cost is probably a ?loss leader.? If anything, the best example of Apple not ?overcharging? for their OS is the price differential between a standard Mac Mini and a Mac Mini with their server OS. As of today, the bottom of the line Mac Mini is $699. For $300 more, you get a faster processor, double the RAM, triple the hard drive space and lose the optical drive. Oh, yeah, and the server OS to boot. Stand-alone copy of OS X Server? $499. Edit: If you price a non-server version with the same CPU, RAM and 1 500 GB hard drive (keeping the optical), you get to $1,049, $50 MORE than the server version. Only difference then is swapping an optical drive for a hard drive (what's worth more?) and the OS. So, is OS X Server worth LESS than the client? Weird... Yeah, you?re probably right about the inability to tease all of this out by itself, but compared to Microsoft pricing, it?s obvious that Apple?s not trying the same strategy. So, jdr_03?s point is blown up from two different angles. Now, just wait, someone will comment that Apple?s machines are ?overpriced.? :)

vucliriel
vucliriel

Took a note of that and will get back with my results when I get the time to experiment. Thanks a million!

Slayer_
Slayer_

Though I suspect you can stick 2000''s in XP's easily, maybe Vista's in Win7's. But you would likely need to change some DLL's. For sure User32 and that graphics one... Advapi32.dll, OLE32.dll, oleaut32.dll, shell32.dll, gdi32.dll, nt.dll, crypt32.dll, rpcrt4.dll

vucliriel
vucliriel

So I tried XP and 2000 and both come up with "The application failed to initilize properly (0xc0000142)" Oh well, I guess it won't be that easy... Time to get back to work and earn some money now, thanks for your help!!!

vucliriel
vucliriel

Well, it was worth a first try. I can confirm that using Windows 98 explorer.exe in Vista simply doesn't work (I wasn't surprised - it's non-NT), you end up with no shell at all (completely black screen, no GUI at all). CTRL_ALT_DELETE lets you run task manager, from which you can run "c:\users\username\appdata\local\explorer.exe" That should get your desktop back the way it was ;) Don't forget to regedit your mod out ;) Running to test Windows 2000 version ;)

vucliriel
vucliriel

This is perhaps one of the best suggestions I have read in a long time. Although I understand it is untested and may not even work, your suggestion has truly opened doors of possibilities. I was just reading about shells elsewhere (for example how aggravating the windows 7 version of windows explorer is - http://social.answers.microsoft.com/Forums/en-US/w7files/thread/087d9106-e846-4869-b0a0-7ca92d872a86)) and I can now see hope that it is indeed possible to separate the Windows kernel from the shell :)

Slayer_
Slayer_

Kind of reminds me of how the Linux repository looks :D. Anyways, though there is some strange errors in the kernel message tables, such as invalid PIN number entered. I don't see anything relating to internet explorer. Also, many many exploits are done by overflowing memory. Which does affect the kernel. I think though that more often than not, the exploits come from the fact that most windows component, run at the highest admin levels possible. Hijack any one of those components and your in. RunDLL is one that always annoyed me. Did they even think that idea through before they did it?

Neon Samurai
Neon Samurai

Mind you, a list of kernel modules isn't short either on a *nix system unless the admin has taken the time to make a truly custom kernel with just hardware and module support needed for the system. Those are the types that recompile ssh to remove the banner text though. First, your "partially possible" comment reminds me of mucking with alternative window managers back in the day with that entry was in the win.ini. I hosed at least one system with the popular window manager one-off of the time and had to edit explorer back into the win.ini. It also made me think of the hubbub over IE that the EU stirred up last year or the year before. When Microsoft had there first go at an IE uninstaller, it removed the desktop icons and some other upper layer stuff for the most part but left much of it in place. Microsoft's claim was that it couldn't fully remove IE though because the system depended on it. What makes me think it's reaching further into the kernel space than it has justification for is that above bit plus issues like ActiveX vulnerabilities using IE to jump through privilege escalation through kernel space. If ActiveX or IE is exploited, it should only be ActiveX sandboxed inside IE that are affected. (granted, I do need to go read the deeper details of those exploits to speak in detail from more than speculation). Those are nice lists you posted though. I've not seen them in a nice three piece suite kind of presentation before.

Slayer_
Slayer_

You would have to hunt down the DLL's, unregister them all, and re-register the older ones. But the primary thing to change is this. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell Change the value from Explorer.exe to something else. A renamed Windows 98 explorer.exe in theory should work.

vucliriel
vucliriel

"Let's have a good look at the windows kernel, see if IE is imbeded I was under the impression that explorer.exe is what has IE integrated, not the kernel." If your impression is correct, it proves that we can indeed use a recent Windows kernel WITHOUT being forced to use the lame IE and WE versions that come with it! Although I did not look at your extended list, your statement brings hope that it is indeed possible to run Windows and not be forced to use the Windows Explore interface. In practical terms, without looking at details, one could assume that with some work, one could replace Windows Explorer with a previous, less aggravating version and still enjoy the advantages of the latest kernel and system components that allow us to use modern hardware efficiently. I would be more than happy with that!

Slayer_
Slayer_

The last few errors are kind of funny. 1 MESSAGETABLE { 0, "The operation completed successfully." 1, "Incorrect function." 2, "The system cannot find the file specified." 3, "The system cannot find the path specified." 4, "The system cannot open the file." 5, "Access is denied." 6, "The handle is invalid." 7, "The storage control blocks were destroyed." 8, "Not enough storage is available to process this command." 9, "The storage control block address is invalid." 10, "The environment is incorrect." 11, "An attempt was made to load a program with an incorrect format." 12, "The access code is invalid." 13, "The data is invalid." 14, "Not enough storage is available to complete this operation." 15, "The system cannot find the drive specified." 16, "The directory cannot be removed." 17, "The system cannot move the file to a different disk drive." 18, "There are no more files." 19, "The media is write protected." 20, "The system cannot find the device specified." 21, "The device is not ready." 22, "The device does not recognize the command." 23, "Data error (cyclic redundancy check)." 24, "The program issued a command but the command length is incorrect." 25, "The drive cannot locate a specific area or track on the disk." 26, "The specified disk or diskette cannot be accessed." 27, "The drive cannot find the sector requested." 28, "The printer is out of paper." 29, "The system cannot write to the specified device." 30, "The system cannot read from the specified device." 31, "A device attached to the system is not functioning." 32, "The process cannot access the file because it is being used by another process." 33, "The process cannot access the file because another process has locked a portion of the file." 34, "The wrong diskette is in the drive.\nInsert %2 (Volume Serial Number: %3) into drive %1." 36, "Too many files opened for sharing." 38, "Reached the end of the file." 39, "The disk is full." 50, "The request is not supported." 51, "Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator." 52, "You were not connected because a duplicate name exists on the network. Go to System in Control Panel to change the computer name and try again." 53, "The network path was not found." 54, "The network is busy." 55, "The specified network resource or device is no longer available." 56, "The network BIOS command limit has been reached." 57, "A network adapter hardware error occurred." 58, "The specified server cannot perform the requested operation." 59, "An unexpected network error occurred." 60, "The remote adapter is not compatible." 61, "The printer queue is full." 62, "Space to store the file waiting to be printed is not available on the server." 63, "Your file waiting to be printed was deleted." 64, "The specified network name is no longer available." 65, "Network access is denied." 66, "The network resource type is not correct." 67, "The network name cannot be found." 68, "The name limit for the local computer network adapter card was exceeded." 69, "The network BIOS session limit was exceeded." 70, "The remote server has been paused or is in the process of being started." 71, "No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept." 72, "The specified printer or disk device has been paused." 80, "The file exists." 82, "The directory or file cannot be created." 83, "Fail on INT 24." 84, "Storage to process this request is not available." 85, "The local device name is already in use." 86, "The specified network password is not correct." 87, "The parameter is incorrect." 88, "A write fault occurred on the network." 89, "The system cannot start another process at this time." 100, "Cannot create another system semaphore." 101, "The exclusive semaphore is owned by another process." 102, "The semaphore is set and cannot be closed." 103, "The semaphore cannot be set again." 104, "Cannot request exclusive semaphores at interrupt time." 105, "The previous ownership of this semaphore has ended." 106, "Insert the diskette for drive %1." 107, "The program stopped because an alternate diskette was not inserted." 108, "The disk is in use or locked by another process." 109, "The pipe has been ended." 110, "The system cannot open the device or file specified." 111, "The file name is too long." 112, "There is not enough space on the disk." 113, "No more internal file identifiers available." 114, "The target internal file identifier is incorrect." 117, "The IOCTL call made by the application program is not correct." 118, "The verify-on-write switch parameter value is not correct." 119, "The system does not support the command requested." 120, "This function is not supported on this system." 121, "The semaphore timeout period has expired." 122, "The data area passed to a system call is too small." 123, "The filename, directory name, or volume label syntax is incorrect." 124, "The system call level is not correct." 125, "The disk has no volume label." 126, "The specified module could not be found." 127, "The specified procedure could not be found." 128, "There are no child processes to wait for." 129, "The %1 application cannot be run in Win32 mode." 130, "Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O." 131, "An attempt was made to move the file pointer before the beginning of the file." 132, "The file pointer cannot be set on the specified device or file." 133, "A JOIN or SUBST command cannot be used for a drive that contains previously joined drives." 134, "An attempt was made to use a JOIN or SUBST command on a drive that has already been joined." 135, "An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted." 136, "The system tried to delete the JOIN of a drive that is not joined." 137, "The system tried to delete the substitution of a drive that is not substituted." 138, "The system tried to join a drive to a directory on a joined drive." 139, "The system tried to substitute a drive to a directory on a substituted drive." 140, "The system tried to join a drive to a directory on a substituted drive." 141, "The system tried to SUBST a drive to a directory on a joined drive." 142, "The system cannot perform a JOIN or SUBST at this time." 143, "The system cannot join or substitute a drive to or for a directory on the same drive." 144, "The directory is not a subdirectory of the root directory." 145, "The directory is not empty." 146, "The path specified is being used in a substitute." 147, "Not enough resources are available to process this command." 148, "The path specified cannot be used at this time." 149, "An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute." 150, "System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed." 151, "The number of specified semaphore events for DosMuxSemWait is not correct." 152, "DosMuxSemWait did not execute; too many semaphores are already set." 153, "The DosMuxSemWait list is not correct." 154, "The volume label you entered exceeds the label character limit of the target file system." 155, "Cannot create another thread." 156, "The recipient process has refused the signal." 157, "The segment is already discarded and cannot be locked." 158, "The segment is already unlocked." 159, "The address for the thread ID is not correct." 160, "One or more arguments are not correct." 161, "The specified path is invalid." 162, "A signal is already pending." 164, "No more threads can be created in the system." 167, "Unable to lock a region of a file." 170, "The requested resource is in use." 173, "A lock request was not outstanding for the supplied cancel region." 174, "The file system does not support atomic changes to the lock type." 180, "The system detected a segment number that was not correct." 182, "The operating system cannot run %1." 183, "Cannot create a file when that file already exists." 186, "The flag passed is not correct." 187, "The specified system semaphore name was not found." 188, "The operating system cannot run %1." 189, "The operating system cannot run %1." 190, "The operating system cannot run %1." 191, "Cannot run %1 in Win32 mode." 192, "The operating system cannot run %1." 193, "%1 is not a valid Win32 application." 194, "The operating system cannot run %1." 195, "The operating system cannot run %1." 196, "The operating system cannot run this application program." 197, "The operating system is not presently configured to run this application." 198, "The operating system cannot run %1." 199, "The operating system cannot run this application program." 200, "The code segment cannot be greater than or equal to 64K." 201, "The operating system cannot run %1." 202, "The operating system cannot run %1." 203, "The system could not find the environment option that was entered." 205, "No process in the command subtree has a signal handler." 206, "The filename or extension is too long." 207, "The ring 2 stack is in use." 208, "The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified." 209, "The signal being posted is not correct." 210, "The signal handler cannot be set." 212, "The segment is locked and cannot be reallocated." 214, "Too many dynamic-link modules are attached to this program or dynamic-link module." 215, "Cannot nest calls to LoadModule." 216, "The image file %1 is valid, but is for a machine type other than the current machine." 230, "The pipe state is invalid." 231, "All pipe instances are busy." 232, "The pipe is being closed." 233, "No process is on the other end of the pipe." 234, "More data is available." 240, "The session was canceled." 254, "The specified extended attribute name was invalid." 255, "The extended attributes are inconsistent." 258, "The wait operation timed out." 259, "No more data is available." 266, "The copy functions cannot be used." 267, "The directory name is invalid." 275, "The extended attributes did not fit in the buffer." 276, "The extended attribute file on the mounted file system is corrupt." 277, "The extended attribute table file is full." 278, "The specified extended attribute handle is invalid." 282, "The mounted file system does not support extended attributes." 288, "Attempt to release mutex not owned by caller." 298, "Too many posts were made to a semaphore." 299, "Only part of a ReadProcessMemory or WriteProcessMemory request was completed." 300, "The oplock request is denied." 301, "An invalid oplock acknowledgment was received by the system." 302, "The volume is too fragmented to complete this operation." 303, "The file cannot be opened because it is in the process of being deleted." 317, "The system cannot find message text for message number 0x%1 in the message file for %2." 487, "Attempt to access invalid address." 534, "Arithmetic result exceeded 32 bits." 535, "There is a process on other end of the pipe." 536, "Waiting for a process to open the other end of the pipe." 994, "Access to the extended attribute was denied." 995, "The I/O operation has been aborted because of either a thread exit or an application request." 996, "Overlapped I/O event is not in a signaled state." 997, "Overlapped I/O operation is in progress." 998, "Invalid access to memory location." 999, "Error performing inpage operation." 1001, "Recursion too deep; the stack overflowed." 1002, "The window cannot act on the sent message." 1003, "Cannot complete this function." 1004, "Invalid flags." 1005, "The volume does not contain a recognized file system.\nPlease make sure that all required file system drivers are loaded and that the volume is not corrupted." 1006, "The volume for a file has been externally altered so that the opened file is no longer valid." 1007, "The requested operation cannot be performed in full-screen mode." 1008, "An attempt was made to reference a token that does not exist." 1009, "The configuration registry database is corrupt." 1010, "The configuration registry key is invalid." 1011, "The configuration registry key could not be opened." 1012, "The configuration registry key could not be read." 1013, "The configuration registry key could not be written." 1014, "One of the files in the registry database had to be recovered by use of a log or alternate copy. The recovery was successful." 1015, "The registry is corrupted. The structure of one of the files containing registry data is corrupted, or the system's memory image of the file is corrupted, or the file could not be recovered because the alternate copy or log was absent or corrupted." 1016, "An I/O operation initiated by the registry failed unrecoverably. The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry." 1017, "The system has attempted to load or restore a file into the registry, but the specified file is not in a registry file format." 1018, "Illegal operation attempted on a registry key that has been marked for deletion." 1019, "System could not allocate the required space in a registry log." 1020, "Cannot create a symbolic link in a registry key that already has subkeys or values." 1021, "Cannot create a stable subkey under a volatile parent key." 1022, "A notify change request is being completed and the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes." 1051, "A stop control has been sent to a service that other running services are dependent on." 1052, "The requested control is not valid for this service." 1053, "The service did not respond to the start or control request in a timely fashion." 1054, "A thread could not be created for the service." 1055, "The service database is locked." 1056, "An instance of the service is already running." 1057, "The account name is invalid or does not exist, or the password is invalid for the account name specified." 1058, "The service cannot be started, either because it is disabled or because it has no enabled devices associated with it." 1059, "Circular service dependency was specified." 1060, "The specified service does not exist as an installed service." 1061, "The service cannot accept control messages at this time." 1062, "The service has not been started." 1063, "The service process could not connect to the service controller." 1064, "An exception occurred in the service when handling the control request." 1065, "The database specified does not exist." 1066, "The service has returned a service-specific error code." 1067, "The process terminated unexpectedly." 1068, "The dependency service or group failed to start." 1069, "The service did not start due to a logon failure." 1070, "After starting, the service hung in a start-pending state." 1071, "The specified service database lock is invalid." 1072, "The specified service has been marked for deletion." 1073, "The specified service already exists." 1074, "The system is currently running with the last-known-good configuration." 1075, "The dependency service does not exist or has been marked for deletion." 1076, "The current boot has already been accepted for use as the last-known-good control set." 1077, "No attempts to start the service have been made since the last boot." 1078, "The name is already in use as either a service name or a service display name." 1079, "The account specified for this service is different from the account specified for other services running in the same process." 1080, "Failure actions can only be set for Win32 services, not for drivers." 1081, "This service runs in the same process as the service control manager.\nTherefore, the service control manager cannot take action if this service's process terminates unexpectedly." 1082, "No recovery program has been configured for this service." 1083, "The executable program that this service is configured to run in does not implement the service." 1084, "This service cannot be started in Safe Mode" 1100, "The physical end of the tape has been reached." 1101, "A tape access reached a filemark." 1102, "The beginning of the tape or a partition was encountered." 1103, "A tape access reached the end of a set of files." 1104, "No more data is on the tape." 1105, "Tape could not be partitioned." 1106, "When accessing a new tape of a multivolume partition, the current block size is incorrect." 1107, "Tape partition information could not be found when loading a tape." 1108, "Unable to lock the media eject mechanism." 1109, "Unable to unload the media." 1110, "The media in the drive may have changed." 1111, "The I/O bus was reset." 1112, "No media in drive." 1113, "No mapping for the Unicode character exists in the target multi-byte code page." 1114, "A dynamic link library (DLL) initialization routine failed." 1115, "A system shutdown is in progress." 1116, "Unable to abort the system shutdown because no shutdown was in progress." 1117, "The request could not be performed because of an I/O device error." 1118, "No serial device was successfully initialized. The serial driver will unload." 1119, "Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened." 1120, "A serial I/O operation was completed by another write to the serial port.\n(The IOCTL_SERIAL_XOFF_COUNTER reached zero.)" 1121, "A serial I/O operation completed because the timeout period expired.\n(The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.)" 1122, "No ID address mark was found on the floppy disk." 1123, "Mismatch between the floppy disk sector ID field and the floppy disk controller track address." 1124, "The floppy disk controller reported an error that is not recognized by the floppy disk driver." 1125, "The floppy disk controller returned inconsistent results in its registers." 1126, "While accessing the hard disk, a recalibrate operation failed, even after retries." 1127, "While accessing the hard disk, a disk operation failed even after retries." 1128, "While accessing the hard disk, a disk controller reset was needed, but even that failed." 1129, "Physical end of tape encountered." 1130, "Not enough server storage is available to process this command." 1131, "A potential deadlock condition has been detected." 1132, "The base address or the file offset specified does not have the proper alignment." 1140, "An attempt to change the system power state was vetoed by another application or driver." 1141, "The system BIOS failed an attempt to change the system power state." 1142, "An attempt was made to create more links on a file than the file system supports." 1150, "The specified program requires a newer version of Windows." 1151, "The specified program is not a Windows or MS-DOS program." 1152, "Cannot start more than one instance of the specified program." 1153, "The specified program was written for an earlier version of Windows." 1154, "One of the library files needed to run this application is damaged." 1155, "No application is associated with the specified file for this operation." 1156, "An error occurred in sending the command to the application." 1157, "One of the library files needed to run this application cannot be found." 1158, "The current process has used all of its system allowance of handles for Window Manager objects." 1159, "The message can be used only with synchronous operations." 1160, "The indicated source element has no media." 1161, "The indicated destination element already contains media." 1162, "The indicated element does not exist." 1163, "The indicated element is part of a magazine that is not present." 1164, "The indicated device requires reinitialization due to hardware errors." 1165, "The device has indicated that cleaning is required before further operations are attempted." 1166, "The device has indicated that its door is open." 1167, "The device is not connected." 1168, "Element not found." 1169, "There was no match for the specified key in the index." 1170, "The property set specified does not exist on the object." 1171, "The point passed to GetMouseMovePoints is not in the buffer." 1172, "The tracking (workstation) service is not running." 1173, "The Volume ID could not be found." 1175, "Unable to remove the file to be replaced." 1176, "Unable to move the replacement file to the file to be replaced. The file to be replaced has retained its original name." 1177, "Unable to move the replacement file to the file to be replaced. The file to be replaced has been renamed using the backup name." 1178, "The volume change journal is being deleted." 1179, "The volume change journal is not active." 1180, "A file was found, but it may not be the correct file." 1181, "The journal entry has been deleted from the journal." 1200, "The specified device name is invalid." 1201, "The device is not currently connected but it is a remembered connection." 1202, "The local device name has a remembered connection to another network resource." 1203, "No network provider accepted the given network path." 1204, "The specified network provider name is invalid." 1205, "Unable to open the network connection profile." 1206, "The network connection profile is corrupted." 1207, "Cannot enumerate a noncontainer." 1208, "An extended error has occurred." 1209, "The format of the specified group name is invalid." 1210, "The format of the specified computer name is invalid." 1211, "The format of the specified event name is invalid." 1212, "The format of the specified domain name is invalid." 1213, "The format of the specified service name is invalid." 1214, "The format of the specified network name is invalid." 1215, "The format of the specified share name is invalid." 1216, "The format of the specified password is invalid." 1217, "The format of the specified message name is invalid." 1218, "The format of the specified message destination is invalid." 1219, "Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.." 1220, "An attempt was made to establish a session to a network server, but there are already too many sessions established to that server." 1221, "The workgroup or domain name is already in use by another computer on the network." 1222, "The network is not present or not started." 1223, "The operation was canceled by the user." 1224, "The requested operation cannot be performed on a file with a user-mapped section open." 1225, "The remote system refused the network connection." 1226, "The network connection was gracefully closed." 1227, "The network transport endpoint already has an address associated with it." 1228, "An address has not yet been associated with the network endpoint." 1229, "An operation was attempted on a nonexistent network connection." 1230, "An invalid operation was attempted on an active network connection." 1231, "The network location cannot be reached. For information about network troubleshooting, see Windows Help." 1232, "The network location cannot be reached. For information about network troubleshooting, see Windows Help." 1233, "The network location cannot be reached. For information about network troubleshooting, see Windows Help." 1234, "No service is operating at the destination network endpoint on the remote system." 1235, "The request was aborted." 1236, "The network connection was aborted by the local system." 1237, "The operation could not be completed. A retry should be performed." 1238, "A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached." 1239, "Attempting to log in during an unauthorized time of day for this account." 1240, "The account is not authorized to log in from this station." 1241, "The network address could not be used for the operation requested." 1242, "The service is already registered." 1243, "The specified service does not exist." 1244, "The operation being requested was not performed because the user has not been authenticated." 1245, "The operation being requested was not performed because the user has not logged on to the network.\nThe specified service does not exist." 1246, "Continue with work in progress." 1247, "An attempt was made to perform an initialization operation when initialization has already been completed." 1248, "No more local devices." 1249, "The specified site does not exist." 1250, "A domain controller with the specified name already exists." 1251, "This operation is supported only when you are connected to the server." 1252, "The group policy framework should call the extension even if there are no changes." 1253, "The specified user does not have a valid profile." 1254, "This operation is not supported on a Microsoft Small Business Server" 1255, "The server machine is shutting down." 1256, "The remote system is not available. For information about network troubleshooting, see Windows Help." 1257, "The security identifier provided is not from an account domain." 1258, "The security identifier provided does not have a domain component." 1259, "AppHelp dialog canceled thus preventing the application from starting." 1260, "Windows cannot open this program because it has been prevented by a software restriction policy. For more information, open Event Viewer or contact your system administrator." 1261, "A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific." 1262, "The share is currently offline or does not exist." 1263, "The kerberos protocol encountered an error while validating the\nKDC certificate during smartcard logon." 1264, "The kerberos protocol encountered an error while attempting to utilize\nthe smartcard subsystem." 1265, "The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you." 1266, "The smartcard certificate used for authentication has been revoked. \nPlease contact your system administrator. There may be additional information in the \nevent log." 1267, "An untrusted certificate authority was detected While processing the \nsmartcard certificate used for authentication. Please contact your system \nadministrator. " 1268, "The revocation status of the smartcard certificate used for \nauthentication could not be determined. Please contact your system administrator." 1269, "The smartcard certificate used for authentication was not trusted. Please \ncontact your system administrator." 1270, "The smartcard certificate used for authentication has expired. Please \ncontact your system administrator." 1271, "The machine is locked and can not be shut down without the force option." 1273, "An application-defined callback gave invalid data when called." 1274, "The group policy framework should call the extension in the synchronous foreground policy refresh." 1275, "This driver has been blocked from loading" 1276, "A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image." 1300, "Not all privileges referenced are assigned to the caller." 1301, "Some mapping between account names and security IDs was not done." 1302, "No system quota limits are specifically set for this account." 1303, "No encryption key is available. A well-known encryption key was returned." 1304, "The password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a NULL string." 1305, "The revision level is unknown." 1306, "Indicates two revision levels are incompatible." 1307, "This security ID may not be assigned as the owner of this object." 1308, "This security ID may not be assigned as the primary group of an object." 1309, "An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client." 1310, "The group may not be disabled." 1311, "There are currently no logon servers available to service the logon request." 1312, "A specified logon session does not exist. It may already have been terminated." 1313, "A specified privilege does not exist." 1314, "A required privilege is not held by the client." 1315, "The name provided is not a properly formed account name." 1316, "The specified user already exists." 1317, "The specified user does not exist." 1318, "The specified group already exists." 1319, "The specified group does not exist." 1320, "Either the specified user account is already a member of the specified group, or the specified group cannot be deleted because it contains a member." 1321, "The specified user account is not a member of the specified group account." 1322, "The last remaining administration account cannot be disabled or deleted." 1323, "Unable to update the password. The value provided as the current password is incorrect." 1324, "Unable to update the password. The value provided for the new password contains values that are not allowed in passwords." 1325, "Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirement of the domain." 1326, "Logon failure: unknown user name or bad password." 1327, "Logon failure: user account restriction. Possible reasons are blank passwords not allowed, logon hour restrictions, or a policy restriction has been enforced." 1328, "Logon failure: account logon time restriction violation." 1329, "Logon failure: user not allowed to log on to this computer." 1330, "Logon failure: the specified account password has expired." 1331, "Logon failure: account currently disabled." 1332, "No mapping between account names and security IDs was done." 1333, "Too many local user identifiers (LUIDs) were requested at one time." 1334, "No more local user identifiers (LUIDs) are available." 1335, "The subauthority part of a security ID is invalid for this particular use." 1336, "The access control list (ACL) structure is invalid." 1337, "The security ID structure is invalid." 1338, "The security descriptor structure is invalid." 1340, "The inherited access control list (ACL) or access control entry (ACE) could not be built." 1341, "The server is currently disabled." 1342, "The server is currently enabled." 1343, "The value provided was an invalid value for an identifier authority." 1344, "No more memory is available for security information updates." 1345, "The specified attributes are invalid, or incompatible with the attributes for the group as a whole." 1346, "Either a required impersonation level was not provided, or the provided impersonation level is invalid." 1347, "Cannot open an anonymous level security token." 1348, "The validation information class requested was invalid." 1349, "The type of the token is inappropriate for its attempted use." 1350, "Unable to perform a security operation on an object that has no associated security." 1351, "Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied." 1352, "The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation." 1353, "The domain was in the wrong state to perform the security operation." 1354, "This operation is only allowed for the Primary Domain Controller of the domain." 1355, "The specified domain either does not exist or could not be contacted." 1356, "The specified domain already exists." 1357, "An attempt was made to exceed the limit on the number of domains per server." 1358, "Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk." 1359, "An internal error occurred." 1360, "Generic access types were contained in an access mask which should already be mapped to nongeneric types." 1361, "A security descriptor is not in the right format (absolute or self-relative)." 1362, "The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process." 1363, "Cannot start a new logon session with an ID that is already in use." 1364, "A specified authentication package is unknown." 1365, "The logon session is not in a state that is consistent with the requested operation." 1366, "The logon session ID is already in use." 1367, "A logon request contained an invalid logon type value." 1368, "Unable to impersonate using a named pipe until data has been read from that pipe." 1369, "The transaction state of a registry subtree is incompatible with the requested operation." 1370, "An internal security database corruption has been encountered." 1371, "Cannot perform this operation on built-in accounts." 1372, "Cannot perform this operation on this built-in special group." 1373, "Cannot perform this operation on this built-in special user." 1374, "The user cannot be removed from a group because the group is currently the user's primary group." 1375, "The token is already in use as a primary token." 1376, "The specified local group does not exist." 1377, "The specified account name is not a member of the local group." 1378, "The specified account name is already a member of the local group." 1379, "The specified local group already exists." 1380, "Logon failure: the user has not been granted the requested logon type at this computer." 1381, "The maximum number of secrets that may be stored in a single system has been exceeded." 1382, "The length of a secret exceeds the maximum length allowed." 1383, "The local security authority database contains an internal inconsistency." 1384, "During a logon attempt, the user's security context accumulated too many security IDs." 1385, "Logon failure: the user has not been granted the requested logon type at this computer." 1386, "A cross-encrypted password is necessary to change a user password." 1387, "A member could not be added to or removed from the local group because the member does not exist." 1388, "A new member could not be added to a local group because the member has the wrong account type." 1389, "Too many security IDs have been specified." 1390, "A cross-encrypted password is necessary to change this user password." 1391, "Indicates an ACL contains no inheritable components." 1392, "The file or directory is corrupted and unreadable." 1393, "The disk structure is corrupted and unreadable." 1394, "There is no user session key for the specified logon session." 1395, "The service being accessed is licensed for a particular number of connections.\nNo more connections can be made to the service at this time because there are already as many connections as the service can accept." 1396, "Logon Failure: The target account name is incorrect." 1397, "Mutual Authentication failed. The server's password is out of date at the domain controller." 1398, "There is a time and/or date difference between the client and server." 1399, "This operation can not be performed on the current domain." 1400, "Invalid window handle." 1401, "Invalid menu handle." 1402, "Invalid cursor handle." 1403, "Invalid accelerator table handle." 1404, "Invalid hook handle." 1405, "Invalid handle to a multiple-window position structure." 1406, "Cannot create a top-level child window." 1407, "Cannot find window class." 1408, "Invalid window; it belongs to other thread." 1409, "Hot key is already registered." 1410, "Class already exists." 1411, "Class does not exist." 1412, "Class still has open windows." 1413, "Invalid index." 1414, "Invalid icon handle." 1415, "Using private DIALOG window words." 1416, "The list box identifier was not found." 1417, "No wildcards were found." 1418, "Thread does not have a clipboard open." 1419, "Hot key is not registered." 1420, "The window is not a valid dialog window." 1421, "Control ID not found." 1422, "Invalid message for a combo box because it does not have an edit control." 1423, "The window is not a combo box." 1424, "Height must be less than 256." 1425, "Invalid device context (DC) handle." 1426, "Invalid hook procedure type." 1427, "Invalid hook procedure." 1428, "Cannot set nonlocal hook without a module handle." 1429, "This hook procedure can only be set globally." 1430, "The journal hook procedure is already installed." 1431, "The hook procedure is not installed." 1432, "Invalid message for single-selection list box." 1433, "LB_SETCOUNT sent to non-lazy list box." 1434, "This list box does not support tab stops." 1435, "Cannot destroy object created by another thread." 1436, "Child windows cannot have menus." 1437, "The window does not have a system menu." 1438, "Invalid message box style." 1439, "Invalid system-wide (SPI_*) parameter." 1440, "Screen already locked." 1441, "All handles to windows in a multiple-window position structure must have the same parent." 1442, "The window is not a child window." 1443, "Invalid GW_* command." 1444, "Invalid thread identifier." 1445, "Cannot process a message from a window that is not a multiple document interface (MDI) window." 1446, "Popup menu already active." 1447, "The window does not have scroll bars." 1448, "Scroll bar range cannot be greater than MAXLONG." 1449, "Cannot show or remove the window in the way specified." 1450, "Insufficient system resources exist to complete the requested service." 1451, "Insufficient system resources exist to complete the requested service." 1452, "Insufficient system resources exist to complete the requested service." 1453, "Insufficient quota to complete the requested service." 1454, "Insufficient quota to complete the requested service." 1455, "The paging file is too small for this operation to complete." 1456, "A menu item was not found." 1457, "Invalid keyboard layout handle." 1458, "Hook type not allowed." 1459, "This operation requires an interactive window station." 1460, "This operation returned because the timeout period expired." 1461, "Invalid monitor handle." 1500, "The event log file is corrupted." 1501, "No event log file could be opened, so the event logging service did not start." 1502, "The event log file is full." 1503, "The event log file has changed between read operations." 1601, "The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance." 1602, "User cancelled installation." 1603, "Fatal error during installation." 1604, "Installation suspended, incomplete." 1605, "This action is only valid for products that are currently installed." 1606, "Feature ID not registered." 1607, "Component ID not registered." 1608, "Unknown property." 1609, "Handle is in an invalid state." 1610, "The configuration data for this product is corrupt. Contact your support personnel." 1611, "Component qualifier not present." 1612, "The installation source for this product is not available. Verify that the source exists and that you can access it." 1613, "This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service." 1614, "Product is uninstalled." 1615, "SQL query syntax invalid or unsupported." 1616, "Record field does not exist." 1617, "The device has been removed." 1618, "Another installation is already in progress. Complete that installation before proceeding with this install." 1619, "This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package." 1620, "This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package." 1621, "There was an error starting the Windows Installer service user interface. Contact your support personnel." 1622, "Error opening installation log file. Verify that the specified log file location exists and that you can write to it." 1623, "The language of this installation package is not supported by your system." 1624, "Error applying transforms. Verify that the specified transform paths are valid." 1625, "This installation is forbidden by system policy. Contact your system administrator." 1626, "Function could not be executed." 1627, "Function failed during execution." 1628, "Invalid or unknown table specified." 1629, "Data supplied is of wrong type." 1630, "Data of this type is not supported." 1631, "The Windows Installer service failed to start. Contact your support personnel." 1632, "The Temp folder is on a drive that is full or is inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder." 1633, "This installation package is not supported by this processor type. Contact your product vendor." 1634, "Component not used on this computer." 1635, "This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package." 1636, "This patch package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer patch package." 1637, "This patch package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service." 1638, "Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel." 1639, "Invalid command line argument. Consult the Windows Installer SDK for detailed command line help." 1640, "Only administrators have permission to add, remove, or configure server software during a Terminal services remote session. If you want to install or configure software on the server, contact your network administrator." 1641, "The requested operation completed successfully. The system will be restarted so the changes can take effect." 1642, "The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program. Verify that the program to be upgraded exists on your computer an\nd that you have the correct upgrade patch." 1643, "The patch package is not permitted by software restriction policy." 1644, "One or more customizations are not permitted by software restriction policy." 1700, "The string binding is invalid." 1701, "The binding handle is not the correct type." 1702, "The binding handle is invalid." 1703, "The RPC protocol sequence is not supported." 1704, "The RPC protocol sequence is invalid." 1705, "The string universal unique identifier (UUID) is invalid." 1706, "The endpoint format is invalid." 1707, "The network address is invalid." 1708, "No endpoint was found." 1709, "The timeout value is invalid." 1710, "The object universal unique identifier (UUID) was not found." 1711, "The object universal unique identifier (UUID) has already been registered." 1712, "The type universal unique identifier (UUID) has already been registered." 1713, "The RPC server is already listening." 1714, "No protocol sequences have been registered." 1715, "The RPC server is not listening." 1716, "The manager type is unknown." 1717, "The interface is unknown." 1718, "There are no bindings." 1719, "There are no protocol sequences." 1720, "The endpoint cannot be created." 1721, "Not enough resources are available to complete this operation." 1722, "The RPC server is unavailable." 1723, "The RPC server is too busy to complete this operation." 1724, "The network options are invalid." 1725, "There are no remote procedure calls active on this thread." 1726, "The remote procedure call failed." 1727, "The remote procedure call failed and did not execute." 1728, "A remote procedure call (RPC) protocol error occurred." 1730, "The transfer syntax is not supported by the RPC server." 1732, "The universal unique identifier (UUID) type is not supported." 1733, "The tag is invalid." 1734, "The array bounds are invalid." 1735, "The binding does not contain an entry name." 1736, "The name syntax is invalid." 1737, "The name syntax is not supported." 1739, "No network address is available to use to construct a universal unique identifier (UUID)." 1740, "The endpoint is a duplicate." 1741, "The authentication type is unknown." 1742, "The maximum number of calls is too small." 1743, "The string is too long." 1744, "The RPC protocol sequence was not found." 1745, "The procedure number is out of range." 1746, "The binding does not contain any authentication information." 1747, "The authentication service is unknown." 1748, "The authentication level is unknown." 1749, "The security context is invalid." 1750, "The authorization service is unknown." 1751, "The entry is invalid." 1752, "The server endpoint cannot perform the operation." 1753, "There are no more endpoints available from the endpoint mapper." 1754, "No interfaces have been exported." 1755, "The entry name is incomplete." 1756, "The version option is invalid." 1757, "There are no more members." 1758, "There is nothing to unexport." 1759, "The interface was not found." 1760, "The entry already exists." 1761, "The entry is not found." 1762, "The name service is unavailable." 1763, "The network address family is invalid." 1764, "The requested operation is not supported." 1765, "No security context is available to allow impersonation." 1766, "An internal error occurred in a remote procedure call (RPC)." 1767, "The RPC server attempted an integer division by zero." 1768, "An addressing error occurred in the RPC server." 1769, "A floating-point operation at the RPC server caused a division by zero." 1770, "A floating-point underflow occurred at the RPC server." 1771, "A floating-point overflow occurred at the RPC server." 1772, "The list of RPC servers available for the binding of auto handles has been exhausted." 1773, "Unable to open the character translation table file." 1774, "The file containing the character translation table has fewer than 512 bytes." 1775, "A null context handle was passed from the client to the host during a remote procedure call." 1777, "The context handle changed during a remote procedure call." 1778, "The binding handles passed to a remote procedure call do not match." 1779, "The stub is unable to get the remote procedure call handle." 1780, "A null reference pointer was passed to the stub." 1781, "The enumeration value is out of range." 1782, "The byte count is too small." 1783, "The stub received bad data." 1784, "The supplied user buffer is not valid for the requested operation." 1785, "The disk media is not recognized. It may not be formatted." 1786, "The workstation does not have a trust secret." 1787, "The security database on the server does not have a computer account for this workstation trust relationship." 1788, "The trust relationship between the primary domain and the trusted domain failed." 1789, "The trust relationship between this workstation and the primary domain failed." 1790, "The network logon failed." 1791, "A remote procedure call is already in progress for this thread." 1792, "An attempt was made to logon, but the network logon service was not started." 1793, "The user's account has expired." 1794, "The redirector is in use and cannot be unloaded." 1795, "The specified printer driver is already installed." 1796, "The specified port is unknown." 1797, "The printer driver is unknown." 1798, "The print processor is unknown." 1799, "The specified separator file is invalid." 1800, "The specified priority is invalid." 1801, "The printer name is invalid." 1802, "The printer already exists." 1803, "The printer command is invalid." 1804, "The specified datatype is invalid." 1805, "The environment specified is invalid." 1806, "There are no more bindings." 1807, "The account used is an interdomain trust account. Use your global user account or local user account to access this server." 1808, "The account used is a computer account. Use your global user account or local user account to access this server." 1809, "The account used is a server trust account. Use your global user account or local user account to access this server." 1810, "The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain." 1811, "The server is in use and cannot be unloaded." 1812, "The specified image file did not contain a resource section." 1813, "The specified resource type cannot be found in the image file." 1814, "The specified resource name cannot be found in the image file." 1815, "The specified resource language ID cannot be found in the image file." 1816, "Not enough quota is available to process this command." 1817, "No interfaces have been registered." 1818, "The remote procedure call was cancelled." 1819, "The binding handle does not contain all required information." 1820, "A communications failure occurred during a remote procedure call." 1821, "The requested authentication level is not supported." 1822, "No principal name registered." 1823, "The error specified is not a valid Windows RPC error code." 1824, "A UUID that is valid only on this computer has been allocated." 1825, "A security package specific error occurred." 1826, "Thread is not canceled." 1827, "Invalid operation on the encoding/decoding handle." 1828, "Incompatible version of the serializing package." 1829, "Incompatible version of the RPC stub." 1830, "The RPC pipe object is invalid or corrupted." 1831, "An invalid operation was attempted on an RPC pipe object." 1832, "Unsupported RPC pipe version." 1898, "The group member was not found." 1899, "The endpoint mapper database entry could not be created." 1900, "The object universal unique identifier (UUID) is the nil UUID." 1901, "The specified time is invalid." 1902, "The specified form name is invalid." 1903, "The specified form size is invalid." 1904, "The specified printer handle is already being waited on" 1905, "The specified printer has been deleted." 1906, "The state of the printer is invalid." 1907, "The user's password must be changed before logging on the first time." 1908, "Could not find the domain controller for this domain." 1909, "The referenced account is currently locked out and may not be logged on to." 1910, "The object exporter specified was not found." 1911, "The object specified was not found." 1912, "The object resolver set specified was not found." 1913, "Some data remains to be sent in the request buffer." 1914, "Invalid asynchronous remote procedure call handle." 1915, "Invalid asynchronous RPC call handle for this operation." 1916, "The RPC pipe object has already been closed." 1917, "The RPC call completed before all pipes were processed." 1918, "No more data is available from the RPC pipe." 1919, "No site name is available for this machine." 1920, "The file can not be accessed by the system." 1921, "The name of the file cannot be resolved by the system." 1922, "The entry is not of the expected type." 1923, "Not all object UUIDs could be exported to the specified entry." 1924, "Interface could not be exported to the specified entry." 1925, "The specified profile entry could not be added." 1926, "The specified profile element could not be added." 1927, "The specified profile element could not be removed." 1928, "The group element could not be added." 1929, "The group element could not be removed." 1930, "The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers." 1931, "The context has expired and can no longer be used." 2000, "The pixel format is invalid." 2001, "The specified driver is invalid." 2002, "The window style or class attribute is invalid for this operation." 2003, "The requested metafile operation is not supported." 2004, "The requested transformation operation is not supported." 2005, "The requested clipping operation is not supported." 2010, "The specified color management module is invalid." 2011, "The specified color profile is invalid." 2012, "The specified tag was not found." 2013, "A required tag is not present." 2014, "The specified tag is already present." 2015, "The specified color profile is not associated with any device." 2016, "The specified color profile was not found." 2017, "The specified color space is invalid." 2018, "Image Color Management is not enabled." 2019, "There was an error while deleting the color transform." 2020, "The specified color transform is invalid." 2021, "The specified transform does not match the bitmap's color space." 2022, "The specified named color index is not present in the profile." 2108, "The network connection was made successfully, but the user had to be prompted for a password other than the one originally specified." 2109, "The network connection was made successfully using default credentials." 2202, "The specified username is invalid." 2250, "This network connection does not exist." 2401, "This network connection has files open or requests pending." 2402, "Active connections still exist." 2404, "The device is in use by an active process and cannot be disconnected." 3000, "The specified print monitor is unknown." 3001, "The specified printer driver is currently in use." 3002, "The spool file was not found." 3003, "A StartDocPrinter call was not issued." 3004, "An AddJob call was not issued." 3005, "The specified print processor has already been installed." 3006, "The specified print monitor has already been installed." 3007, "The specified print monitor does not have the required functions." 3008, "The specified print monitor is currently in use." 3009, "The requested operation is not allowed when there are jobs queued to the printer." 3010, "The requested operation is successful. Changes will not be effective until the system is rebooted." 3011, "The requested operation is successful. Changes will not be effective until the service is restarted." 3012, "No printers were found." 3013, "The printer driver is known to be unreliable." 3014, "The printer driver is known to harm the system." 4000, "WINS encountered an error while processing the command." 4001, "The local WINS can not be deleted." 4002, "The importation from the file failed." 4003, "The backup failed. Was a full backup done before?" 4004, "The backup failed. Check the directory to which you are backing the database." 4005, "The name does not exist in the WINS database." 4006, "Replication with a nonconfigured partner is not allowed." 4100, "The DHCP client has obtained an IP address that is already in use on the network. The local interface will be disabled until the DHCP client can obtain a new address." 4200, "The GUID passed was not recognized as valid by a WMI data provider." 4201, "The instance name passed was not recognized as valid by a WMI data provider." 4202, "The data item ID passed was not recognized as valid by a WMI data provider." 4203, "The WMI request could not be completed and should be retried." 4204, "The WMI data provider could not be located." 4205, "The WMI data provider references an instance set that has not been registered." 4206, "The WMI data block or event notification has already been enabled." 4207, "The WMI data block is no longer available." 4208, "The WMI data service is not available." 4209, "The WMI data provider failed to carry out the request." 4210, "The WMI MOF information is not valid." 4211, "The WMI registration information is not valid." 4212, "The WMI data block or event notification has already been disabled." 4213, "The WMI data item or data block is read only." 4214, "The WMI data item or data block could not be changed." 4300, "The media identifier does not represent a valid medium." 4301, "The library identifier does not represent a valid library." 4302, "The media pool identifier does not represent a valid media pool." 4303, "The drive and medium are not compatible or exist in different libraries." 4304, "The medium currently exists in an offline library and must be online to perform this operation." 4305, "The operation cannot be performed on an offline library." 4306, "The library, drive, or media pool is empty." 4307, "The library, drive, or media pool must be empty to perform this operation." 4308, "No media is currently available in this media pool or library." 4309, "A resource required for this operation is disabled." 4310, "The media identifier does not represent a valid cleaner." 4311, "The drive cannot be cleaned or does not support cleaning." 4312, "The object identifier does not represent a valid object." 4313, "Unable to read from or write to the database." 4314, "The database is full." 4315, "The medium is not compatible with the device or media pool." 4316, "The resource required for this operation does not exist." 4317, "The operation identifier is not valid." 4318, "The media is not mounted or ready for use." 4319, "The device is not ready for use." 4320, "The operator or administrator has refused the request." 4321, "The drive identifier does not represent a valid drive." 4322, "Library is full. No slot is available for use." 4323, "The transport cannot access the medium." 4324, "Unable to load the medium into the drive." 4325, "Unable to retrieve the drive status." 4326, "Unable to retrieve the slot status." 4327, "Unable to retrieve status about the transport." 4328, "Cannot use the transport because it is already in use." 4329, "Unable to open or close the inject/eject port." 4330, "Unable to eject the medium because it is in a drive." 4331, "A cleaner slot is already reserved." 4332, "A cleaner slot is not reserved." 4333, "The cleaner cartridge has performed the maximum number of drive cleanings." 4334, "Unexpected on-medium identifier." 4335, "The last remaining item in this group or resource cannot be deleted." 4336, "The message provided exceeds the maximum size allowed for this parameter." 4337, "The volume contains system or paging files." 4338, "The media type cannot be removed from this library since at least one drive in the library reports it can support this media type." 4339, "This offline media cannot be mounted on this system since no enabled drives are present which can be used." 4340, "A cleaner cartridge is present in the tape library." 4350, "The remote storage service was not able to recall the file." 4351, "The remote storage service is not operational at this time." 4352, "The remote storage service encountered a media error." 4390, "The file or directory is not a reparse point." 4391, "The reparse point attribute cannot be set because it conflicts with an existing attribute." 4392, "The data present in the reparse point buffer is invalid." 4393, "The tag present in the reparse point buffer is invalid." 4394, "There is a mismatch between the tag specified in the request and the tag present in the reparse point.\n" 4500, "Single Instance Storage is not available on this volume." 5001, "The cluster resource cannot be moved to another group because other resources are dependent on it." 5002, "The cluster resource dependency cannot be found." 5003, "The cluster resource cannot be made dependent on the specified resource because it is already dependent." 5004, "The cluster resource is not online." 5005, "A cluster node is not available for this operation." 5006, "The cluster resource is not available." 5007, "The cluster resource could not be found." 5008, "The cluster is being shut down." 5009, "A cluster node cannot be evicted from the cluster unless the node is down or it is the last node." 5010, "The object already exists." 5011, "The object is already in the list." 5012, "The cluster group is not available for any new requests." 5013, "The cluster group could not be found." 5014, "The operation could not be completed because the cluster group is not online." 5015, "The cluster node is not the owner of the resource." 5016, "The cluster node is not the owner of the group." 5017, "The cluster resource could not be created in the specified resource monitor." 5018, "The cluster resource could not be brought online by the resource monitor." 5019, "The operation could not be completed because the cluster resource is online." 5020, "The cluster resource could not be deleted or brought offline because it is the quorum resource." 5021, "The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource." 5022, "The cluster software is shutting down." 5023, "The group or resource is not in the correct state to perform the requested operation." 5024, "The properties were stored but not all changes will take effect until the next time the resource is brought online." 5025, "The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class." 5026, "The cluster resource could not be deleted since it is a core resource." 5027, "The quorum resource failed to come online." 5028, "The quorum log could not be created or mounted successfully." 5029, "The cluster log is corrupt." 5030, "The record could not be written to the cluster log since it exceeds the maximum size." 5031, "The cluster log exceeds its maximum size." 5032, "No checkpoint record was found in the cluster log." 5033, "The minimum required disk space needed for logging is not available." 5034, "The cluster node failed to take control of the quorum resource because the resource is owned by another active node." 5035, "A cluster network is not available for this operation." 5036, "A cluster node is not available for this operation." 5037, "All cluster nodes must be running to perform this operation." 5038, "A cluster resource failed." 5039, "The cluster node is not valid." 5040, "The cluster node already exists." 5041, "A node is in the process of joining the cluster." 5042, "The cluster node was not found." 5043, "The cluster local node information was not found." 5044, "The cluster network already exists." 5045, "The cluster network was not found." 5046, "The cluster network interface already exists." 5047, "The cluster network interface was not found." 5048, "The cluster request is not valid for this object." 5049, "The cluster network provider is not va

Slayer_
Slayer_

That shows integration with IE. If it is Integrated with IE, how does IE run from this DLL?

vucliriel
vucliriel

"Really, it's a macro-kernel versus micro-kernel versus hybrid-kernel topic rather than a "Linux" versus "Windows" debate and it's raged on between system architect geeks for a long time now" EXACTLY my point. And thanks for educating me on the fundamental differences between Linux and Windows at the kernel level. If I had more time to play around with computers (hey, I have to earn a living), I would definitely play with Linux. You made an excellent 'selling pitch' here ;)

Slayer_
Slayer_

CsrAllocateCaptureBuffer CsrAllocateMessagePointer CsrCaptureMessageBuffer CsrCaptureMessageMultiUnicodeStringsInPlace CsrCaptureMessageString CsrClientCallServer CsrClientConnectToServer CsrFreeCaptureBuffer CsrGetProcessId CsrIdentifyAlertableThread CsrNewThread DbgBreakPoint DbgPrint DbgPrintEx DbgUiConnectToDbg DbgUiContinue DbgUiConvertStateChangeStructure DbgUiDebugActiveProcess DbgUiGetThreadDebugObject DbgUiIssueRemoteBreakin DbgUiStopDebugging DbgUiWaitStateChange LdrAccessOutOfProcessResource LdrAccessResource LdrAddRefDll LdrCreateOutOfProcessImage LdrDestroyOutOfProcessImage LdrDisableThreadCalloutsForDll LdrEnumerateLoadedModules LdrFindCreateProcessManifest LdrFindResourceDirectory_U LdrFindResource_U LdrGetDllHandle LdrGetProcedureAddress LdrLoadAlternateResourceModule LdrLoadDll LdrLockLoaderLock LdrQueryImageFileExecutionOptions LdrSetDllManifestProber LdrShutdownProcess LdrShutdownThread LdrUnloadAlternateResourceModule LdrUnloadDll LdrUnlockLoaderLock NlsMbCodePageTag NlsMbOemCodePageTag NtAddAtom NtAdjustPrivilegesToken NtAllocateUserPhysicalPages NtAllocateVirtualMemory NtAssignProcessToJobObject NtCancelDeviceWakeupRequest NtCancelIoFile NtCancelTimer NtClearEvent NtClose NtCreateDirectoryObject NtCreateEvent NtCreateFile NtCreateIoCompletion NtCreateJobObject NtCreateJobSet NtCreateKey NtCreateMailslotFile NtCreateMutant

Slayer_
Slayer_

I was under the impression that explorer.exe is what has IE integrated, not the kernel. This is a large list, but this is the public interface to kernel32.dll. There is also a reference in it to NTdll.dll ActivateActCtx AddAtomA AddAtomW AddConsoleAliasA AddConsoleAliasW AddLocalAlternateComputerNameA AddLocalAlternateComputerNameW AddRefActCtx AddVectoredExceptionHandler AllocConsole AllocateUserPhysicalPages AreFileApisANSI AssignProcessToJobObject AttachConsole BackupRead BackupSeek BackupWrite BaseCheckAppcompatCache BaseCleanupAppcompatCache BaseCleanupAppcompatCacheSupport BaseDumpAppcompatCache BaseFlushAppcompatCache BaseInitAppcompatCache BaseInitAppcompatCacheSupport BaseProcessInitPostImport BaseQueryModuleData BaseUpdateAppcompatCache BasepCheckWinSaferRestrictions Beep BeginUpdateResourceA BeginUpdateResourceW BindIoCompletionCallback BuildCommDCBA BuildCommDCBAndTimeoutsA BuildCommDCBAndTimeoutsW BuildCommDCBW CallNamedPipeA CallNamedPipeW CancelDeviceWakeupRequest CancelIo CancelTimerQueueTimer CancelWaitableTimer ChangeTimerQueueTimer CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3W CheckRemoteDebuggerPresent ClearCommBreak ClearCommError CloseConsoleHandle CloseHandle CloseProfileUserMapping CmdBatNotification CommConfigDialogA CommConfigDialogW CompareFileTime CompareStringA CompareStringW ConnectNamedPipe ConsoleMenuControl ContinueDebugEvent ConvertDefaultLocale ConvertFiberToThread ConvertThreadToFiber CopyFileA CopyFileExA CopyFileExW CopyFileW CopyLZFile CreateActCtxA CreateActCtxW CreateConsoleScreenBuffer CreateDirectoryA CreateDirectoryExA CreateDirectoryExW CreateDirectoryW CreateEventA CreateEventW CreateFiber CreateFiberEx CreateFileA CreateFileMappingA CreateFileMappingW CreateFileW CreateHardLinkA CreateHardLinkW CreateIoCompletionPort CreateJobObjectA CreateJobObjectW CreateJobSet CreateMailslotA CreateMailslotW CreateMemoryResourceNotification CreateMutexA CreateMutexW CreateNamedPipeA CreateNamedPipeW CreateNlsSecurityDescriptor CreatePipe CreateProcessA CreateProcessInternalA CreateProcessInternalW CreateProcessInternalWSecure CreateProcessW CreateRemoteThread CreateSemaphoreA CreateSemaphoreW CreateSocketHandle CreateTapePartition CreateThread CreateTimerQueue CreateTimerQueueTimer CreateToolhelp32Snapshot CreateVirtualBuffer CreateWaitableTimerA CreateWaitableTimerW DeactivateActCtx DebugActiveProcess DebugActiveProcessStop DebugBreak DebugBreakProcess DebugSetProcessKillOnExit DecodePointer DecodeSystemPointer DefineDosDeviceA DefineDosDeviceW DelayLoadFailureHook DeleteAtom DeleteCriticalSection DeleteFiber DeleteFileA DeleteFileW DeleteTimerQueue DeleteTimerQueueEx DeleteTimerQueueTimer DeleteVolumeMountPointA DeleteVolumeMountPointW DeviceIoControl DisableThreadLibraryCalls DisconnectNamedPipe DnsHostnameToComputerNameA DnsHostnameToComputerNameW DosDateTimeToFileTime DosPathToSessionPathA DosPathToSessionPathW DuplicateConsoleHandle DuplicateHandle EncodePointer EncodeSystemPointer EndUpdateResourceA EndUpdateResourceW EnterCriticalSection EnumCalendarInfoA EnumCalendarInfoExA EnumCalendarInfoExW EnumCalendarInfoW EnumDateFormatsA EnumDateFormatsExA EnumDateFormatsExW EnumDateFormatsW EnumLanguageGroupLocalesA EnumLanguageGroupLocalesW EnumResourceLanguagesA EnumResourceLanguagesW EnumResourceNamesA EnumResourceNamesW EnumResourceTypesA EnumResourceTypesW EnumSystemCodePagesA EnumSystemCodePagesW EnumSystemGeoID EnumSystemLanguageGroupsA EnumSystemLanguageGroupsW EnumSystemLocalesA EnumSystemLocalesW EnumTimeFormatsA EnumTimeFormatsW EnumUILanguagesA EnumUILanguagesW EnumerateLocalComputerNamesA EnumerateLocalComputerNamesW EraseTape EscapeCommFunction ExitProcess ExitThread ExitVDM ExpandEnvironmentStringsA ExpandEnvironmentStringsW ExpungeConsoleCommandHistoryA ExpungeConsoleCommandHistoryW ExtendVirtualBuffer FatalAppExitA FatalAppExitW FatalExit FileTimeToDosDateTime FileTimeToLocalFileTime FileTimeToSystemTime FillConsoleOutputAttribute FillConsoleOutputCharacterA FillConsoleOutputCharacterW FindActCtxSectionGuid FindActCtxSectionStringA FindActCtxSectionStringW FindAtomA FindAtomW FindClose FindCloseChangeNotification FindFirstChangeNotificationA FindFirstChangeNotificationW FindFirstFileA FindFirstFileExA FindFirstFileExW FindFirstFileW FindFirstVolumeA FindFirstVolumeMountPointA FindFirstVolumeMountPointW FindFirstVolumeW FindNextChangeNotification FindNextFileA FindNextFileW FindNextVolumeA FindNextVolumeMountPointA FindNextVolumeMountPointW FindNextVolumeW FindResourceA FindResourceExA FindResourceExW FindResourceW FindVolumeClose FindVolumeMountPointClose FlushConsoleInputBuffer FlushFileBuffers FlushInstructionCache FlushViewOfFile FoldStringA FoldStringW FormatMessageA FormatMessageW FreeConsole FreeEnvironmentStringsA FreeEnvironmentStringsW FreeLibrary FreeLibraryAndExitThread FreeResource FreeUserPhysicalPages FreeVirtualBuffer GenerateConsoleCtrlEvent GetACP GetAtomNameA GetAtomNameW GetBinaryType GetBinaryTypeA GetBinaryTypeW GetCPFileNameFromRegistry GetCPInfo GetCPInfoExA GetCPInfoExW GetCalendarInfoA GetCalendarInfoW GetComPlusPackageInstallStatus GetCommConfig GetCommMask GetCommModemStatus GetCommProperties GetCommState GetCommTimeouts GetCommandLineA GetCommandLineW GetCompressedFileSizeA GetCompressedFileSizeW GetComputerNameA GetComputerNameExA GetComputerNameExW GetComputerNameW GetConsoleAliasA GetConsoleAliasExesA GetConsoleAliasExesLengthA GetConsoleAliasExesLengthW GetConsoleAliasExesW GetConsoleAliasW GetConsoleAliasesA GetConsoleAliasesLengthA GetConsoleAliasesLengthW GetConsoleAliasesW GetConsoleCP GetConsoleCharType GetConsoleCommandHistoryA GetConsoleCommandHistoryLengthA GetConsoleCommandHistoryLengthW GetConsoleCommandHistoryW GetConsoleCursorInfo GetConsoleCursorMode GetConsoleDisplayMode GetConsoleFontInfo GetConsoleFontSize GetConsoleHardwareState GetConsoleInputExeNameA GetConsoleInputExeNameW GetConsoleInputWaitHandle GetConsoleKeyboardLayoutNameA GetConsoleKeyboardLayoutNameW GetConsoleMode GetConsoleNlsMode GetConsoleOutputCP GetConsoleProcessList GetConsoleScreenBufferInfo GetConsoleSelectionInfo GetConsoleTitleA GetConsoleTitleW GetConsoleWindow GetCurrencyFormatA GetCurrencyFormatW GetCurrentActCtx GetCurrentConsoleFont GetCurrentDirectoryA GetCurrentDirectoryW GetCurrentProcess GetCurrentProcessId GetCurrentThread GetCurrentThreadId GetDateFormatA GetDateFormatW GetDefaultCommConfigA GetDefaultCommConfigW GetDefaultSortkeySize GetDevicePowerState GetDiskFreeSpaceA GetDiskFreeSpaceExA GetDiskFreeSpaceExW GetDiskFreeSpaceW GetDllDirectoryA GetDllDirectoryW GetDriveTypeA GetDriveTypeW GetEnvironmentStrings GetEnvironmentStringsA GetEnvironmentStringsW GetEnvironmentVariableA GetEnvironmentVariableW GetExitCodeProcess GetExitCodeThread GetExpandedNameA GetExpandedNameW GetFileAttributesA GetFileAttributesExA GetFileAttributesExW GetFileAttributesW GetFileInformationByHandle GetFileSize GetFileSizeEx GetFileTime GetFileType GetFirmwareEnvironmentVariableA GetFirmwareEnvironmentVariableW GetFullPathNameA GetFullPathNameW GetGeoInfoA GetGeoInfoW GetHandleContext GetHandleInformation GetLargestConsoleWindowSize GetLastError GetLinguistLangSize GetLocalTime GetLocaleInfoA GetLocaleInfoW GetLogicalDriveStringsA GetLogicalDriveStringsW GetLogicalDrives GetLogicalProcessorInformation GetLongPathNameA GetLongPathNameW GetMailslotInfo GetModuleFileNameA GetModuleFileNameW GetModuleHandleA GetModuleHandleExA GetModuleHandleExW GetModuleHandleW GetNamedPipeHandleStateA GetNamedPipeHandleStateW GetNamedPipeInfo GetNativeSystemInfo GetNextVDMCommand GetNlsSectionName GetNumaAvailableMemory GetNumaAvailableMemoryNode GetNumaHighestNodeNumber GetNumaNodeProcessorMask GetNumaProcessorMap GetNumaProcessorNode GetNumberFormatA GetNumberFormatW GetNumberOfConsoleFonts GetNumberOfConsoleInputEvents GetNumberOfConsoleMouseButtons GetOEMCP GetOverlappedResult GetPriorityClass GetPrivateProfileIntA GetPrivateProfileIntW GetPrivateProfileSectionA GetPrivateProfileSectionNamesA GetPrivateProfileSectionNamesW GetPrivateProfileSectionW GetPrivateProfileStringA GetPrivateProfileStringW GetPrivateProfileStructA GetPrivateProfileStructW GetProcAddress GetProcessAffinityMask GetProcessDEPPolicy GetProcessHandleCount GetProcessHeap GetProcessHeaps GetProcessId GetProcessIoCounters GetProcessPriorityBoost GetProcessShutdownParameters GetProcessTimes GetProcessVersion GetProcessWorkingSetSize GetProfileIntA GetProfileIntW GetProfileSectionA GetProfileSectionW GetProfileStringA GetProfileStringW GetQueuedCompletionStatus GetShortPathNameA GetShortPathNameW GetStartupInfoA GetStartupInfoW GetStdHandle GetStringTypeA GetStringTypeExA GetStringTypeExW GetStringTypeW GetSystemDEPPolicy GetSystemDefaultLCID GetSystemDefaultLangID GetSystemDefaultUILanguage GetSystemDirectoryA GetSystemDirectoryW GetSystemInfo GetSystemPowerStatus GetSystemRegistryQuota GetSystemTime GetSystemTimeAdjustment GetSystemTimeAsFileTime GetSystemTimes GetSystemWindowsDirectoryA GetSystemWindowsDirectoryW GetSystemWow64DirectoryA GetSystemWow64DirectoryW GetTapeParameters GetTapePosition GetTapeStatus GetTempFileNameA GetTempFileNameW GetTempPathA GetTempPathW GetThreadContext GetThreadIOPendingFlag GetThreadLocale GetThreadPriority GetThreadPriorityBoost GetThreadSelectorEntry GetThreadTimes GetTickCount GetTimeFormatA GetTimeFormatW GetTimeZoneInformation GetUserDefaultLCID GetUserDefaultLangID GetUserDefaultUILanguage GetUserGeoID GetVDMCurrentDirectories GetVersion GetVersionExA GetVersionExW GetVolumeInformationA GetVolumeInformationW GetVolumeNameForVolumeMountPointA GetVolumeNameForVolumeMountPointW GetVolumePathNameA GetVolumePathNameW GetVolumePathNamesForVolumeNameA GetVolumePathNamesForVolumeNameW GetWindowsDirectoryA GetWindowsDirectoryW GetWriteWatch GlobalAddAtomA GlobalAddAtomW GlobalAlloc GlobalCompact GlobalDeleteAtom GlobalFindAtomA GlobalFindAtomW GlobalFix GlobalFlags GlobalFree GlobalGetAtomNameA GlobalGetAtomNameW GlobalHandle GlobalLock GlobalMemoryStatus GlobalMemoryStatusEx GlobalReAlloc GlobalSize GlobalUnWire GlobalUnfix GlobalUnlock GlobalWire Heap32First Heap32ListFirst Heap32ListNext Heap32Next HeapAlloc HeapCompact HeapCreate HeapCreateTagsW HeapDestroy HeapExtend HeapFree HeapLock HeapQueryInformation HeapQueryTagW HeapReAlloc HeapSetInformation HeapSize HeapSummary HeapUnlock HeapUsage HeapValidate HeapWalk InitAtomTable InitializeCriticalSection InitializeCriticalSectionAndSpinCount InitializeSListHead InterlockedCompareExchange InterlockedDecrement InterlockedExchange InterlockedExchangeAdd InterlockedFlushSList InterlockedIncrement InterlockedPopEntrySList InterlockedPushEntrySList InvalidateConsoleDIBits IsBadCodePtr IsBadHugeReadPtr IsBadHugeWritePtr IsBadReadPtr IsBadStringPtrA IsBadStringPtrW IsBadWritePtr IsDBCSLeadByte IsDBCSLeadByteEx IsDebuggerPresent IsProcessInJob IsProcessorFeaturePresent IsSystemResumeAutomatic IsValidCodePage IsValidLanguageGroup IsValidLocale IsValidUILanguage IsWow64Process LCMapStringA LCMapStringW LZClose LZCloseFile LZCopy LZCreateFileW LZDone LZInit LZOpenFileA LZOpenFileW LZRead LZSeek LZStart LeaveCriticalSection LoadLibraryA LoadLibraryExA LoadLibraryExW LoadLibraryW LoadModule LoadResource LocalAlloc LocalCompact LocalFileTimeToFileTime LocalFlags LocalFree LocalHandle LocalLock LocalReAlloc LocalShrink LocalSize LocalUnlock LockFile LockFileEx LockResource MapUserPhysicalPages MapUserPhysicalPagesScatter MapViewOfFile MapViewOfFileEx Module32First Module32FirstW Module32Next Module32NextW MoveFileA MoveFileExA MoveFileExW MoveFileW MoveFileWithProgressA MoveFileWithProgressW MulDiv MultiByteToWideChar NlsConvertIntegerToString NlsGetCacheUpdateCount NlsResetProcessLocale NumaVirtualQueryNode OpenConsoleW OpenDataFile OpenEventA OpenEventW OpenFile OpenFileMappingA OpenFileMappingW OpenJobObjectA OpenJobObjectW OpenMutexA OpenMutexW OpenProcess OpenProfileUserMapping OpenSemaphoreA OpenSemaphoreW OpenThread OpenWaitableTimerA OpenWaitableTimerW OutputDebugStringA OutputDebugStringW PeekConsoleInputA PeekConsoleInputW PeekNamedPipe PostQueuedCompletionStatus PrepareTape PrivCopyFileExW PrivMoveFileIdentityW Process32First Process32FirstW Process32Next Process32NextW ProcessIdToSessionId PulseEvent PurgeComm QueryActCtxW QueryDepthSList QueryDosDeviceA QueryDosDeviceW QueryInformationJobObject QueryMemoryResourceNotification QueryPerformanceCounter QueryPerformanceFrequency QueryWin31IniFilesMappedToRegistry QueueUserAPC QueueUserWorkItem RaiseException ReadConsoleA ReadConsoleInputA ReadConsoleInputExA ReadConsoleInputExW ReadConsoleInputW ReadConsoleOutputA ReadConsoleOutputAttribute ReadConsoleOutputCharacterA ReadConsoleOutputCharacterW ReadConsoleOutputW ReadConsoleW ReadDirectoryChangesW ReadFile ReadFileEx ReadFileScatter ReadProcessMemory RegisterConsoleIME RegisterConsoleOS2 RegisterConsoleVDM RegisterWaitForInputIdle RegisterWaitForSingleObject RegisterWaitForSingleObjectEx RegisterWowBaseHandlers RegisterWowExec ReleaseActCtx ReleaseMutex ReleaseSemaphore RemoveDirectoryA RemoveDirectoryW RemoveLocalAlternateComputerNameA RemoveLocalAlternateComputerNameW RemoveVectoredExceptionHandler ReplaceFile ReplaceFileA ReplaceFileW RequestDeviceWakeup RequestWakeupLatency ResetEvent ResetWriteWatch RestoreLastError ResumeThread RtlCaptureContext RtlCaptureStackBackTrace RtlFillMemory RtlMoveMemory RtlUnwind RtlZeroMemory ScrollConsoleScreenBufferA ScrollConsoleScreenBufferW SearchPathA SearchPathW SetCPGlobal SetCalendarInfoA SetCalendarInfoW SetClientTimeZoneInformation SetComPlusPackageInstallStatus SetCommBreak SetCommConfig SetCommMask SetCommState SetCommTimeouts SetComputerNameA SetComputerNameExA SetComputerNameExW SetComputerNameW SetConsoleActiveScreenBuffer SetConsoleCP SetConsoleCommandHistoryMode SetConsoleCtrlHandler SetConsoleCursor SetConsoleCursorInfo SetConsoleCursorMode SetConsoleCursorPosition SetConsoleDisplayMode SetConsoleFont SetConsoleHardwareState SetConsoleIcon SetConsoleInputExeNameA SetConsoleInputExeNameW SetConsoleKeyShortcuts SetConsoleLocalEUDC SetConsoleMaximumWindowSize SetConsoleMenuClose SetConsoleMode SetConsoleNlsMode SetConsoleNumberOfCommandsA SetConsoleNumberOfCommandsW SetConsoleOS2OemFormat SetConsoleOutputCP SetConsolePalette SetConsoleScreenBufferSize SetConsoleTextAttribute SetConsoleTitleA SetConsoleTitleW SetConsoleWindowInfo SetCriticalSectionSpinCount SetCurrentDirectoryA SetCurrentDirectoryW SetDefaultCommConfigA SetDefaultCommConfigW SetDllDirectoryA SetDllDirectoryW SetEndOfFile SetEnvironmentVariableA SetEnvironmentVariableW SetErrorMode SetEvent SetFileApisToANSI SetFileApisToOEM SetFileAttributesA SetFileAttributesW SetFilePointer SetFilePointerEx SetFileShortNameA SetFileShortNameW SetFileTime SetFileValidData SetFirmwareEnvironmentVariableA SetFirmwareEnvironmentVariableW SetHandleContext SetHandleCount SetHandleInformation SetInformationJobObject SetLastConsoleEventActive SetLastError SetLocalPrimaryComputerNameA SetLocalPrimaryComputerNameW SetLocalTime SetLocaleInfoA SetLocaleInfoW SetMailslotInfo SetMessageWaitingIndicator SetNamedPipeHandleState SetPriorityClass SetProcessAffinityMask SetProcessDEPPolicy SetProcessPriorityBoost SetProcessShutdownParameters SetProcessWorkingSetSize SetSearchPathMode SetStdHandle SetSystemPowerState SetSystemTime SetSystemTimeAdjustment SetTapeParameters SetTapePosition SetTermsrvAppInstallMode SetThreadAffinityMask SetThreadContext SetThreadExecutionState SetThreadIdealProcessor SetThreadLocale SetThreadPriority SetThreadPriorityBoost SetThreadUILanguage SetTimeZoneInformation SetTimerQueueTimer SetUnhandledExceptionFilter SetUserGeoID SetVDMCurrentDirectories SetVolumeLabelA SetVolumeLabelW SetVolumeMountPointA SetVolumeMountPointW SetWaitableTimer SetupComm ShowConsoleCursor SignalObjectAndWait SizeofResource Sleep SleepEx SuspendThread SwitchToFiber SwitchToThread SystemTimeToFileTime SystemTimeToTzSpecificLocalTime TerminateJobObject TerminateProcess TerminateThread TermsrvAppInstallMode Thread32First Thread32Next TlsAlloc TlsFree TlsGetValue TlsSetValue Toolhelp32ReadProcessMemory TransactNamedPipe TransmitCommChar TrimVirtualBuffer TryEnterCriticalSection TzSpecificLocalTimeToSystemTime UTRegister UTUnRegister UnhandledExceptionFilter UnlockFile UnlockFileEx UnmapViewOfFile UnregisterConsoleIME UnregisterWait UnregisterWaitEx UpdateResourceA UpdateResourceW VDMConsoleOperation VDMOperationStarted ValidateLCType ValidateLocale VerLanguageNameA VerLanguageNameW VerSetConditionMask VerifyConsoleIoHandle VerifyVersionInfoA VerifyVersionInfoW VirtualAlloc VirtualAllocEx VirtualBufferExceptionHandler VirtualFree VirtualFreeEx VirtualLock VirtualProtect VirtualProtectEx VirtualQuery VirtualQueryEx VirtualUnlock WTSGetActiveConsoleSessionId WaitCommEvent WaitForDebugEvent WaitForMultipleObjects WaitForMultipleObjectsEx WaitForSingleObject WaitForSingleObjectEx WaitNamedPipeA WaitNamedPipeW WideCharToMultiByte WinExec WriteConsoleA WriteConsoleInputA WriteConsoleInputVDMA WriteConsoleInputVDMW WriteConsoleInputW WriteConsoleOutputA WriteConsoleOutputAttribute WriteConsoleOutputCharacterA WriteConsoleOutputCharacterW WriteConsoleOutputW WriteConsoleW WriteFile WriteFileEx WriteFileGather WritePrivateProfileSectionA WritePrivateProfileSectionW WritePrivateProfileStringA WritePrivateProfileStringW WritePrivateProfileStructA WritePrivateProfileStructW WriteProcessMemory WriteProfileSectionA WriteProfileSectionW WriteProfileStringA WriteProfileStringW WriteTapemark ZombifyActCtx _hread _hwrite _lclose _lcreat _llseek _lopen _lread _lwrite lstrcat lstrcatA lstrcatW lstrcmp lstrcmpA lstrcmpW lstrcmpi lstrcmpiA lstrcmpiW lstrcpy lstrcpyA lstrcpyW lstrcpyn lstrcpynA lstrcpynW lstrlen lstrlenA lstrlenW

vucliriel
vucliriel

I'm sorry if we don't seem to be on the same wavelength here. What exactly am I not getting? I have NO opinions on Linux whatsoever. What's your point? I understand that the original post is saying that people are starting to look at other options. i am simply stating the fact that we don't need to be limited with orthodox choices and that we can live with Windows, a severely pared down and deeply overhauled Windows that bypasses all its nastiness. My main argument is that in reality, comparison between Windows and Linux or Mac OS is completely pointless IMO, because the problem is MUCH deeper than that. I've been hacking since the days of the PDP-11 and have always found user-friendly solutions, and these have mostly NOT come from Microsoft. And the best thing is, these solutions are mostly freeware! And I profoundly despise Microsoft for trying to impose its laws on everyone! Enough with the tyranny 'If you want to use our products, you have to behave the way we tell you'! Just an example: why should I be forced to interface in a completely new way and not have the choice to work the way I have always been and that suits ME? For example: Who in their right mind would even CONSIDER BUYING 'Office 2007'? ENOUGH WITH THE BS! I seriously RESENT being told that from now on I must think like everyone else, that I must use a 'ribbon', that placing my menus vertically is not kosher, that my documents will be saved as docx... And the list goes on... MS should keep at what it was suposed to do: be an OPERATING SYSTEMS company. Every higher level application it sells is inferior to what is independently produced. And that includes the aggravating "Windows Explorer" (the point has already been made about Internet Explorer). If I had a choice, there would only be low-level, hardware applications built into the OS. The GUI and every application would all be the choice of the user. Remember that seminal scene from TRON, when the MCP gets hit with the data disc... It reverts to what it does best: being a management application, instead of the dictator bent on ruling every aspect of user's daily lives.

Neon Samurai
Neon Samurai

Linux makes use of modular plugins also. For the X-FI driver which is one of the few drivers I don't get with my distribution's kernel, I only need to install the driver module. I don't compile the entire kernel just because I'm adding a new snd.o module. I appreciate that I can recompile my kernel if I wish to customize it but this is far from a requirement. I also apreciate the frequent kernel updates though. Having to reboot because I just updated to a new version of my platform core is no biggy. I've done it around four times in the last two years of Debian Stable on my desktop. It's not like updated kernels are a weekly occurance. I also apreciate being able to select one of multiple kernels through the boot menu. Should I choose to install a newer kernel version (not just an update) or compile my own. I can test it knowing that the working kernel is right there in the boot menu to fall back on. By contrast, so much of the userland with Windows is deeply embedded into kernel space that many updates unrelated to the NT kernel require a system reboot. A vulnerability that should be limited to userland affects the entire system through kernel space. One can remove the links for IE but the back end is still a system dependency in kernel space; why is a web browser a system level dependency? I think what they need to do is get vendor support in writing drivers for hardware. That's not an issue caused by the kernel developers but it is one they have to contend with and get blamed for. Guessing you mean the i7 issue, was that caused by the Linux kernel developers or was it Intel delivering processor documentation to Microsoft's kernel developers ahead of time? The *nix modular design means I can insmod driver modules (potentially in the running kernel without a reboot) or change/update 99% of the platform stacked on top of it without taking my system offline in the process and limits vulnerabilities in non-kernel systems to areas outside the kernel. Really, it's a macro-kernel versus micro-kernel versus hybrid-kernel topic rather than a "Linux" versus "Windows" debate and it's raged on between system architect geeks for a long time now.

vucliriel
vucliriel

This is exactly what I meant by my statement that there are ways to make Windows work for the user. At this point, I just don't see any other real alternatives. And I certainly don't care about legal issues, this is MY computer and I work the way I want. Besides, I have already paid for the Windows version I am using, Microsoft is certainly not going to tell me HOW to use it and force me to use the usless crap it bundles with it and calls 'features', when I already have much better freeware, shareware and abandonware alternatives. As a example, it has been proven that users don't have to accept Microsoft's statement that "Internet Exploder is NECESSARY for Windows to operate properly". Finally, if you look at real life, you will find that the strongest individuals in any population have alweays been the 'bastards' and 'illegitimate' offsprings. Enough with the politically correct, sacro-sanct 'genuine windows' garbage they want users to believe. It's like when they were saying the only genuine DOS to run under windows 3.1 was MSDOS when in reality IBM PCDOS was much better. My point is, we, as users, CAN make Windows work FOR us. But is has become a much more arduous task as before, when Microsoft hadn't parasitized our computers has much as it has now.

Slayer_
Slayer_

I read my post, the next post, then your post... Yours seems very out of place, what are you talking about?

vucliriel
vucliriel

... that I dislike the windows KERNEL? It's EXACTLY the opposite! I'm essentially saying that what I dislike with a passion is its overbearing attitude - Are you telling me now that all the aggravation is actually BUILT-IN into the kernel itself? That the way Windows explorer behaves to insulate the user from what it does is built into the kernel? That the aggravating interface is built into gthe kernel and cannot be changed? I simply cannot believe this is the case. Unless I'm completely beside the track and this behaviour is NOT set by the installation policy into the registry and caused by applications that are called by the kernel itself and could be replaced by earlier, smarter versions, then it's worse that I thought it was, feel free to correct me!!!

Neon Samurai
Neon Samurai

There is BlackXP and a few other illigitimate Windows distributions out there. I wouldn't trust them to get ongoing patches though. You can also do some reduction through a slipstream install I believe but then you have to take responsibility for not using Microsoft's stock setup. Since Windows is a product legally distributed from only one company, you're pretty much limited to what that company provides.

lars_honeytoast
lars_honeytoast

Straight. Clear. I'm glad Windows is getting some defense here. Solid defense too.

Slayer_
Slayer_

At least the windows kernel is modular, even though it has a lot of stupidities like having system fonts built into it. The Linux kernel is just flat out stupid, it has to be frequently changed, even a change as simple as a driver update is compiled into the kernel itself. Every time there is a new type of CPU, it needs to be compiled into it, every time there is a new device, or anything changes, they need to remake the kernel. The Windows modular design is robust enough to allow XP to run on hardware 10 years newer than the kernel, without a recompile. In fact, if you look at the XP kernel, mine anyways shows a last revision date of March 21st, 2009. And a creation date of August 04, 2004.

vucliriel
vucliriel

... someone broke the monolith Windows has become and extract the important stuff (kernel and machine level apps) from the fluff (the way it looks and how it forces users to behave a certain way) The industrial revolution succeeded advancing humanity DESPITE Victorian era absurdities that sought to keep the poor from getting better off. It's just a matter of time for some hacker to take windows apart to its bare bones and make it possible to run another interface on the basic kernel. The existence of Windows Lite and Micro and the utilities to take Windows apart to some of its smallest components is proof it can be done. I for myself would like nothing else but to get back to File Manager and the DOS paradigm where what I do results in actual, physical files on my actual, physical hard drive and my computer is actually a piece of hardware that I own, not some abstract idea that I'm some sort of 'user' on a cloud which my physical computer may or may not be a part of. What aggravates me the most on present day OSes is that Microsoft DELIBERATELY made it difficult to access files and practically impossible for regular users to fix their own problems that inevitably happen when files get corrupted. My mother, who has been using computers since the days of DOS and Windows 3.1, can easily find files on the 486 she still uses for her genealogy software, but is lost on her XP machine and panics when Outlook Express corrupts her emails, because as much as it makes her believe they are actual documents like files in a folder, in reality they are just bits of data in hidden files files compressed in a proprietary format that is easily corrupted. I could go on an on about how difficult it is to trace what really drives applications and their settings with the monster that the Registry has become with its obscure lingo and its multiple levels, instead of the simple and clear textlike INI files that could easily be found in the program install directory instead of some impossible to decipher format such as xml hidden deep in the users\username\appdata... labyrinth (provided you even know WHERE to look for). As a tech savvy user, I say enough is enough, it's high time Windows was rebuilt from the ground up without all the BS that it has collected and sold to users as 'features'. As a bonus, our computers would instantly get into warp speed. Just imagine... Isn't it High Time for a second PC revolution?

Neon Samurai
Neon Samurai

Nah, they'll just wait until they can discontinue updates and sell you whatever is current by then. :D Death and Taxes,.. er, and Microsoft Versions

g0dFather
g0dFather

I'd agree that Vista and 7 are even in some benchmarks, but I see a huge improvement in Win7's file transfer abilities over Vista.

HAL 9000
HAL 9000

So firstly you are not looking at the entire workforce or for that matter even a small % of the Computer Market just what you think is better for your needs. That is very restrictive and closed minded. Not to mention Short Sighted. Just imagine what would happen if your Ideal System was forced on everyone. How well do you think your Banks Back End Server would work running Windows 2008 and M$ SQL Server? Sure it may work but there is a reason why these devices run Unix/Linux and SQL instead of M$ Products. Which most defiantly are not the best option for that environment. :D Remember Hot mail before M$ Bought it? Remember what happened when they did? More importantly remember how many people walked away from Hot Mail when it was hosted on Windows Servers? :^0 [i]Personally I use Windows because it provides the functionality that I need and it just works![/i] This is only true if the hardware that Windows is running on was specifically built for that OS. The argument falls to pieces if you where to attempt to blow away the 32 Bit OS that came installed on your new beaut system and load a 64 Bit Version of a different OS from M$. It stops just working because it's not a Slipstreamed Install Disc for that Hardware only. Way too many people are under the Misapprehension that something just works because they have specially selected Hardware and a Slipstreamed Install Disc that lacks a lot of what should be included with the OS. For instance a Recovery Disc from any of the Big makers doesn't support the Repair Install Option so you have to format and destroy your HDD and it's Data to get the system working again when something goes wrong. Hardly Just Working when things like that happen unless the user doesn't believe that the [b]Important[/b] thing on any computer with any value is the [b]Stored Data[/b] not the actual hardware. I can replace a computer within minutes if need be but once the Users Data is gone there is nothing I can do to recover that anywhere near as cheaply as replacing the computer. Lets see I can supply a top end NB for under 2K but it costs around 40K + to do a Forensic Recovery on a HDD that has been formatted by a Recovery Disc slipped in to fix a simple problem. Windows just works only under certain conditions for the rest of the time it's as nasty to install as any other OS and works even worse than most. ;) Col

Deadly Ernest
Deadly Ernest

equipment designed only for Windows and the installation has been fine tuned for that hardware. Now, if it only ever worked well - that would be a nice change. BTW Over the last four years I've done nothing to keep my SimplyMepis Linux working, just installed and used, but I spend a hell of a lot of time visiting clients to get their systems working again after Microsoft Updates have 'fixed' the drivers for their equipment and they no longer work properly. It seems the Microsoft programmers ALWAYS know what will work better than the actual users - well, that's how they write the wizards. And they always set them to use US based gear, thus making the gear harder to use on no US system, especially modems and similar hardware. edit to add: You may wish to check your dictionary for the difference between meanings of 'lesser' and 'lessor.'

Editor's Picks