Jump to content

CharlotteTheHarlot

Member
  • Posts

    2,051
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United Kingdom

Everything posted by CharlotteTheHarlot

  1. At first glance these may seem off-topic but as Microsoft unifies everything, whatever they do elsewhere will come back around to Windows and bite us all in the butt eventually. Nothing that Nu-Microsoft does is really off-topic these days. Report: U.S. government looking into Microsoft for foreign bribery ( NeoWin 2013-03-19 ) Microsoft reportedly facing SEC and DOJ investigation over foreign bribery claims ( The Verge 2013-03-19 ) Microsoft, Partners Investigated for Bribery in International Markets ( Thurrott 2013-03-20 ) Serious allegations just hitting the news in the past two days. I think we can safely assume that the inexplicable, unseemly, and ill-advised Scroogle campaign is yielding unintended consequences. How Microsoft lets the Chinese government spy on its citizens via Skype ( NeoWin 2013-03-08 ) Microsoft enables China to spy on Skype users via keyword triggers ( TechSpot 2013-03-08 ) This Microsoft betrayal of the people, their customers, is pretty similar to the "arrangement" that Google has with the Chinese government. Extremely distasteful in both cases, but I gotta say that Microsoft's is particularly unsettling. Just read up on what information gets supplied to the regime and then tell me that you would ever use Skype for anything.
  2. Just wanted to mention a short reference I found, by Raymond Chen on his blog ... What is the difference between the Folder and Directory (and other special) progids? ( 2007-08-02 ) The statement: "Directory" is a subset of "Folder" seems to verify something I suggested earlier in this thread about slight differences in what handlers show up when right-clicking either of those two types. I just need to confirm the details of HIDDEN and/or SYSTEM folders being excluded from "Directory".
  3. Microsoft tempts Windows developers with $100 cash for new apps ( The Verge 2013-03-19 ) Microsoft now paying devs to submit Windows 8/Windows Phone apps ( NeoWin 2013-03-19 ) Microsoft: Paying Windows 8 app makers is just a temporary program ( NeoWin 2013-03-20 ) Paying Developers to Support Windows 8 is a Slippery Slope ( Thurrott 2013-03-21 ) How's that Plan-A of Destroying Windows to grab mobile marketshare working out? What is this Plan-B? Oh wait, there is no Plan-B ( Microsoft CFO Says Company Has No Mobile 'Plan B' ) so I guess we're seeing Plan-A.3 or Plan-A.5? Microsoft to support Windows Phone 8 until July 2014, no promise of future OS upgrades yet ( The Verge 2013-03-18 ) Windows Phone 8 support to end in 2014. Sign of Win Phone update or death knell? ( UK Register 2013-03-18 ) The WP End-of-Support debacle ( The Verge 2013-03-18 ) Simple miscommunication or a sign of trouble ahead? The answer cannot be determined yet. But considering recent actions by Microsoft who would automatically give them the benefit of the doubt these days? Here's a few articles from earlier this month that went onto the back burner amidst all the drama in this thread ... Windows 1.0 logo has been copied by HTC ( NeoWin 2013-02-28 ) HTC's Zoe Share and Microsoft's Windows 1.0 logo have a lot in common ( NeoWin 2013-03-03 ) IDC: Windows 8 users want Start menu and booting to desktop ( NeoWin 2013-03-10 ) Four months in, Windows 8 needs help ( CNet 2013-03-09 ) IDC: Lack of Start Button Deflates Windows 8 Interest ( Tom's Hardware 2013-03-13 ) Basically some MicroZealots believe that an HTC design looks something like the old Windows v1.0 logo. Sorry. Of course these same MicroZealots should go back to Post #789 in this thread where we see Microsoft actually ripping off Microsoft, and apparently never realizing they did it to themselves. The other articles are but a small sample of many recent ones describing the general awakening to the fact that Windows 8 Plan-A was ridiculous and full of holes. A fact that was clear as days to many commenters here in this very thread thousands of posts ago. The stories still manage to understate the obvious though. But they seem to be noticing. EDIT: added more articles
  4. Well it's not for the lack of trying hoping, wishing and praying ... Nvidia CEO describes Windows RT as 'disappointing,' says Microsoft can 'get it right' ( The Verge 2013-03-19 ) NVIDIA CEO really wants Outlook on Windows RT; prays to "Outlook God" ( NeoWin 2013-03-19 ) The "Outlook God" (Microsoft) won't speak of Windows RT port ( NeoWin 2013-03-20 ) Inspired by a comment at The Verge Of course as CEO of the ARM supplier for Windows RT devices perhaps he sees the tepid response to it's namesake Windows 8 and common ancestor Windows Phone as warning signs ... Windows 8 adoption at 2.79%, not growing as fast as Windows 7 ( TechSpot 2013-03-01 ) Four months in: Windows 8 adoption is almost at a standstill ( ExtremeTech 2013-03-01 ) Windows 8 uptake slows for third straight month ( PC World 2013-03-01 ) Windows 8 market share up slightly in February to 2.79 percent ( NeoWin 2013-03-01 ) Numbers Show Windows XP Still Rules The World ( Tom's Hardware 2013-03-03 ) Samsung Exec Blames Windows 8 for Declining PC Market ( Tom's Hardware 2013-03-08 ) Samsung puts the burn on Microsoft, disses Windows 8 ( NeoWin 2013-03-08 ) Samsung Electronics exec blames Windows 8 for the decline of the PC ( The Verge 2013-03-08 ) Samsung exec says Windows 8 is 'no better than' Windows Vista ( The Verge 2013-03-08 ) Bloomberg: Surface sells only 1.5 million units, 400K are Pros ( NeoWin 2013-03-14 ) Samsung CEO: "Lackluster demand" for Windows devices ( NeoWin 2013-03-15 ) Only 1.5M Surface Devices Sold Since October 2012 ( Tom's Hardware 2013-03-18 ) AT&T cuts prices in half for HTC Windows Phone 8X ( NeoWin 2013-03-18 ) Analyst: 1 million Windows Phones sold in the US in 2012, seems dubious ( NeoWin 2013-03-19 ) Seriously, that is a SMALL sampling of the bad news during the past few weeks. EDIT: added another article, updated image URL
  5. I honestly don't know how you manage to do it, you must have an extra patience gene! ... Stop calling Windows 8 a failure! Leave Metro alone! How can I block this guy! I don't wanna hear him no more! Here's a peek at those commenters through their webcams ...
  6. Just as the author mentions, its amazing how many Dilbert cartoons accurately describe Windows 8 and/or Metro. This one I used way back in this thread ( when Sinofsky and Harris justifying their destruction of Windows by citing bogus telemetry ) ... EDIT: spacing, changed image URL
  7. Yeah, who knew associating an email address with a local account would be an issue? How Apple and Amazon Security Flaws Led to My Epic Hacking Well, I guess he would. Ouch. Lots of Generation Xbox fanboys are learning a similar lesson, today. ... UPDATED: Xbox Entertainment Awards blighted by security breach ( MCV 2013-03-19 ) Microsoft's Xbox Entertainment Awards website hit with security breach ( NeoWin 2013-03-19 ) Microsoft team members targeted in Xbox Live account attacks ( NeoWin 2013-03-20 ) Microsoft confirms 'high-profile' employee Xbox Live accounts hacked ( The Verge 2013-03-19 ) ScreenCap of the image at the links ... ... looks like that list is something that might be useful to a hacker and/or spammer. I guess a whole lot of people will now be changing email addresses and Xbox tags. Welcome to our Brave New World where your personal data is perfectly safe. EDIT: added more articles, updated image URL
  8. Put Google Reader Into the Public Domain (Dvorak PC Magazine 2013-03-18 ) I love this column. You can literally replace every single reference to Google with Microsoft and it would be even more valid! Here is a small excerpt ,,, I'd say this especially true for Microsoft because of what they have done by maneuvering themselves into being the sole provider for the operating system to 90+% of the world's x86 computers. This is far more than the anti-monopolist concept of "public utility" ( which can justifiably be taken away in the public interest ) it is more like a "planetary utility", whose prisoners now number in the billions, dwarfing Rockefeller's Standard Oil or J.P. Morgan's U.S. Steel. Google Reader is just an optional app. No app or any other software can run without an operating system in place interfacing with the hardware and supplying an API to software. This is the business Microsoft chose, and cashed in on to the tune of billions of dollars. Now for the grand finale they want to abuse the monopoly one last time by steering their customer sheeple away from Windows and x86 and independent software forcing them into their own private shearing pen called the Windows 8 and Metro and the Microsoft Store. Let's rewrite that excerpt ... Yes, I agree. Give it up Microsoft. Free Windows!
  9. I made it. Got stacks of them too. P.S. well I did the text and stuff. Someone else made the visuals, probably this one.
  10. I always get scared when a designer talks about the inevitability of people accepting a change. It's like you're counting on some mystical law of nature to cause a migration, rather than enticing people to move by giving them something that works better than what they have today. That's how the DOS to Windows transition worked -- people could (and did) continue to live in DOS for years until they learned how much more they could get done with Windows. But Microsoft has decided to force the issue. Then it rationalizes the decision with bromides like "we believe in people" and "the DOS users complained a lot too and look how that turned out." I'm having trouble wrapping my head around the number of people who understand this motivation of Microsoft but fail to realize that by pulling the rug from their customers' feet Microsoft is risking exodus to competing products. Change is not inevitable when your product is a less developed version of what the competition offers. I think Microsoft of the 90s was scared that despite all their work that Windows 95 still might not be convincing over Macintosh and/or the previous interfaces (DOS and/or Windows 3), which while loathed by many was still profitable. This Microsoft is pretending competition doesn't exist, even though it is far more established in the target market. The story about people willingly using DOS for years is disingenuous. Almost everybody converted instantly because Windows 95 was such an upgrade. They had to because the Internet didn't really work with DOS, and even if the Internet wasn't of interest, Windows 95's ad-hoc networking was still superior to the unaffordable Netware on DOS. The problem was that it took years for new industry-specific software to be written so people were forced to stick with DOS for a keystone program, which ran in a real-mode window within Windows 95-98. People hated this at worst and tolerated it at best. Though Progman.exe and Fileman.exe were still around, no one used them and accepted Explorer as an upgrade over Windows 3. Yep. That meme about "same thing happening in Windows 95" is complete utter bullcrap. Even the most unintelligent person should be able to see the contradictory nature of stating it because If that meme were true we would have rejected Win95 and stayed with DOS and WinDOS v3.xx. Yet here we are. As you stated, people ran as fast as they could to the new and more stable multithreaded and multitasking paradigm, and the GUI was a tiny part of the transition. There were very few people wedded to the WinDOS ProgMan interface, it had only existed about 5 years in total but aside from us long-timers, most people had perhaps a year or two experience in it tops. Now contrast that to the Start Menu when it was removed by Sinofsky and Jensen Harris, it had a minimum 17-year pedigree already, thus the meme fails yet again on the basis of comparing apples and oranges. And to satisfy those very very few people that might want the Win3x interface, ProgMan was included along with FileMan. This whole notion of resistance to Win95 is nothing more than a Big Lie and is meant to tamp down the real resistance to Windows 8 Playskool Edition. All those things you listed are true, and more. Although we no longer think of Win9x as crashproof compared to NT/2K/XP and later, it was an order of magnitude more stable than any earlier attempts at running multiple programs simultaneously. I still marvel at the thought of successfully running Win95 with 8 MB RAM and on a few hundred MB HDD at 66 MHz. Because of paging, any size programs would run if you had the patience to wait for the disk thrashing. Networking, Printing, WYSIWYG, etc, it all came together at once ( PnP growing pains and other caveats notwithstanding ). Of course no sooner than they had a winner than Microsoft already began unraveling things by mismanaging the code and feature growth by fattening things up in Win98, but I digress. It really just reinforces what I have long thought, we are not dealing with logical or even rational people here. We are dealing with children who comprise Generation Xbox or Generation ReTard ( you pick ). The question is, can both camps, normal folks and Generation ReTard co-exist under the same roof? I think not. We could in the past because Microsoft provided many different products to satisfy different customers. But then some genius decided that one size fits all, and here we are. To use yet another auto analogy, it is as if during a trend towards small compact high-mileage cars ( phones and tablets with long battery life ) the automakers decided to forget large transportation rather than scale to accommodate the alleged new trend. There will always be more cars than trucks ... but ... there still will always be trucks. It is as simple as that. And in a nutshell, this highlights Microsoft's craziness. Using cars instead of trucks or school buses ( like Thurrott replacing his workstation with Surface ) is irrational. Making trucks look and operate like cars ( shoehorning Metro and other crap into the desktop ) is equally stoopid. And it's not like Microsoft operates custom assembly lines created for each particular product form factor which need to be physically re-tooled at great expense to switch over. Their product is bits and bytes, and they all live in the same virtual space. The cries of "it's more efficient to unify the code" is complete utter self-serving garbage that only benefits Microsoft, like everything we are hearing from them these days. Technology is meant to adapt to customer demands, NOT vice versa. When the customer adapts to the technology they are merely slaves to the whims of the company, in this case the monopolist Microsoft. Devolving the already evolved technology down to the lowest common denominator is the worst possible idea of them all. EDIT: clarity
  11. After a little research I have figured out that the program I was trying to recall was/is called Fast Explorer by Alex Yakovlev and Serge Kolesnikov. It was hosted at http://thesoftpro.tripod.com/downloads/fe/index.htm but appears to have vanished. I located a page in Wayback here ... http://web.archive.org/web/20100125014241/http://thesoftpro.tripod.com/downloads/fe/index.htm The last dated page seems to be 2008-08-24 but I have all the files and pages saved from their website as of 2010-01-26. Not sure when they went offline though. Screencap of the top of the first page ... If you want to see the middle and bottom of that page open these images: part-2, part-3 ( it was too large for a single bitmap ). P.S. I still cannot find the MSFN thread where we had discussed it. EDIT: typo
  12. It is especially fun when the text editor uses them also like PFE. So when you are searching for file path errors with 4 backslashes \\\\ in an export, the find string is literally 8 of them \\\\\\\\. It is a pain in the eyes! UltraEdit uses a caret ^ for the control character so searching for \\\\ is just that, \\\\ ( amazingly, searching for carets, is also simple ). Anyone old enough to remember ANSI codes in DOS might recall how difficult it was to handle escape codes in most text editors. Perhaps they decided to avoid that and stick with a character that appears on every keyboard since the IBM PC era. Still, they could have picked something else specifically for REGEDIT importing and exporting, because as I mentioned there are times that 2 backslashes \\ are legitimate.But there is so little chance that they were going to nail all the details correctly since they botched a couple of gigantic things along the way. For example, they should have completely isolated a separate machine hardware hive only containing information unique to that system with no other entries allowed. Allowing everything to co-mingle is at the root of most problems. A better scenario would have been a 1st party Windows utility that can easily rebuild a theoretical independent hardware hive without messing up anything else. This could have been handled in the registry API by blocking write access to this protected hive except by this hardware tool and CfgMgr and other official tools. Repairing a machine would be simple and the saved costs would be in the many billions of dollars to Microsoft and all of us. So compared to the major screwups that were made almost 20 years ago, the escape character seems to pale in comparison.
  13. Lenovo: Windows 8 is so good, everyone wants Windows 7. We'll just leave Redmond's latest OS on this DVD, over here. ( UK Register 2013-03-18 ) Lenovo ditches Windows 8 for 7 for the enterprise ( NeoWin 2013-03-19 ) Save that link for the fanboys who like Moonie cultists or Stepford Wives reflexively throw up the alleged success of Lenovo as a sign of promise ( and really it is just Nokia and Lenovo at this point that anyone will ever point to! ). The only reason there are any Windows 8 systems is that Microsoft is using its highly developed monopoly to leverage this abomination into the user space. Unfortunately for Microsoft and her zealots and enablers, this story shows that when it comes to self-preservation, the OEMs are beginning to grow a spine and show some signs of intelligence. EDIT: added another article
  14. Since you mentioned displaying an icon I think you might be referring to "the other kind" of context menu entry. The two main methods that I know are ... Context Menu using "Shell" ... [HKEY_LOCAL_MACHINE\Software\Classes\xxx\Shell\yyy] [HKEY_LOCAL_MACHINE\Software\Classes\xxx\Shell\yyy\Shell] [HKEY_LOCAL_MACHINE\Software\Classes\xxx\Shell\yyy\Shell\Open] [HKEY_LOCAL_MACHINE\Software\Classes\xxx\Shell\yyy\Shell\Open\Command] @="Drive:\\Directory\\Filename.exe < parameters >" <--- requires careful escaping of parameters and quotes Context Menu using "ShellEx" ... [HKEY_LOCAL_MACHINE\Software\Classes\xxx\ShellEx\ContextMenuHandlers\yyy] @="zzz" <--- usually a {CLSID}, this is a direct pointer to another registry key ... [HKEY_LOCAL_MACHINE\Software\Classes\CLSID\zzz] @="Some Description" [HKEY_LOCAL_MACHINE\Software\Classes\CLSID\zzz\InProcServer32] @="Drive:\\Directory\\Filename.dll" "ThreadingModel"="Apartment" xxx is a well-known shell object. This list is from the link mentioned below, but might not be complete ... * ...................... All files AllFileSystemObjects ... All files and file folders Folder ................. All folders Directory .............. File folders Directory\Background ... File folder background Drive .................. All drives in MyComputer, such as "C:\" Network ................ Entire network (under My Network Places) Network\Type\# ......... All objects of type # NetShare ............... All network shares NetServer .............. All network servers network_provider_name .. All objects provided by network provider "network_provider_name" Printers ............... All printers AudioCD ................ Audio CD in CD drive DVD .................... DVD drive (Windows 2000) yyy of course is merely an arbitrary label sometimes ( ) used to help determine what this handler does. The "Shell" method is a really simple way from the GUI to pass the target ( the object right-clicked ) to an external program with some rudimentary ability to define some parameters for the external program and then launch it. I think of it as roughly equivalent to a batch file. This method does not allow icons to appear. The "ShellEx" method is complicated in that a handler DLL needs to exist. By using a canned set of code in a DLL they can offer many more procedures at runtime, including displaying of icons and sub-flyout menus, etc. Note that ShellEx itself has a variety of methods of interacting with the shell, "ContextMenuHandlers" is only one of them. There are others like "DragDropHandlers" or "PropertySheetHandlers". I don't have complete list at the moment. From what you say it sounds like you have a Shell handler. So it will not be able to have an icon. However if this program "Delete It" includes a context menu DLL, it very well may have an icon embedded and merely needs to be registered. Creating Shell Extension Handlers (Windows) ( MSDN ) P.S. I can't find it but there is a thread in the Win9x forum that explores a particular 3rd party ShellEx launched DLL that allows someone to define icons and a variety of other features in the context menu. Some of these things I mention above I also mentioned in that thread..
  15. One of the commenters a few above that one is really stuck on stupid ... So what this genius is doing is once again looking at Apple as his phantom competitor, no doubt green with envy. Nevermind the fact that Microsoft is simply milking its unethical monopoly of 90+% of 1.3 billion or more prisoners. Nevermind the fact that Windows 8 only actual competitor, Windows 7 has all but been removed from as an option while Vista, XP and everything else were long ago yanked from contention. iOS comes only installed on completely different devices that people must intentionally purchase. Like OS X it is not available as an option on anything for sale, let alone on anything where a customer can select it over Windows. Classic apples and oranges. But that is the Microsoft way. It is exactly like someone at the Post Office crowing that they have a larger user base than UPS or Fedex. Microsoft has played this game of lying about sales for so long that it is ingrained in the brains of these bozos. I have to hand it to them really. Like the pea shell game, they had almost everybody looking at Apple as an anti-trust foil while they built an iron-fisted OEM back-channel monopoly. This particular MicroZealot is but one example of it. I wish that Apple would now let their Mac OS loose into the wild either free for a small fee as an alternative OS. All they need to do is undercut the Microsoft tax and OEMs will begin offering systems with an actual 2nd choice. That will teach Microsoft a lesson for making believe they are competing with Apple and nurturing this crowd of fanboys that eagerly swallow it all.
  16. Welcome! Great user name
  17. You also correctly predicted the ability of MetroTards to change stripes when convenient ( see Post #2188 ) ...
  18. Thanks GL. Please feel free to throw these keys into a comment here so other people can check for the same errors in their own registries.
  19. I believe it. They really had their act together in the Cutler days and stayed tight all the way up to Win2k. When they merged everything at WinXP they introduced many avenues of breakage and IMHO never really caught up to all the bugs ever since. Now it would appear they intend to simply wash their hands of the whole matter, service the children and fanboys and win by attrition. Of course the Uber-Fanboy at Thurrott's site won't believe what you say. And even if he did he would just label you a resistor of change. You will buy MicroToys if you know what's good for you.
  20. Glad you have it sorted out. You should consider posting it here in its final form for others that might want to use PrintDir from the context menu. Perhaps you can also test it on a Hidden and System folder as well. P.S. You might want to carefully audit your registry for other instances of double backslashes. If they exist they can stop other programs from working. I just started a separate thread about such things over here.
  21. Length of Win9x Uninstall Key Name and String Value This is an old one. The problem was that sometimes programs went missing in the Add/Remove Programs list even though it had a valid entry in the HKLM\...\Uninstall section. Microsoft still has the MSKB article up here. It lists Win98 and Win98se and NT4 as the affected operating systems. The problem was determined to be the overall length of a particular key name and/or string value. Note that although it looks similar, this problem is different than the previous case of overall Key Name Length. This is effectively a further limitation of the previous case which I believe involves a function utilized by Add/Remove rather than a limitation of the Registry API itself. I would guess that it lies in a procedure that parses the key name and data and throws them into an array to populate that always extremely slow displaying list of installed programs. The absolute limitation here means that the key can never exceed 134 characters in total length, well short of the aforementioned absolute 255 character limit. Here are the two things to check for ... [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\xxx] "DisplayName"="yyy" Where both xxx and yyy are 63 characters or less. Here is how to check the registry Key Name Length ... .......................................................................1........10........20........30........40........50........60.63 |----------------------------------------------------------------------|--------|---------|---------|---------|---------|---------|--| HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\This Registry Key Name is perfectly fine at 63 characters Total HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\This Registry Key Name is a bit long because it is 64 characters |----------------------------------------------------------------------|--------|---------|---------|---------|---------|---------|---| .......................................................................1........10........20........30........40........50........60..64 Here is how to check the length of the String Value Length ... [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Acme Software Program] ...............1........10........20........30........40........50........60.63 |--------------|--------|---------|---------|---------|---------|---------|--| "DisplayName"="This Value String Length is perfectly OK at 63 characters Total "DisplayName"="This Value String Length is too long because it is 64 characters |--------------|--------|---------|---------|---------|---------|---------|---| ...............1........10........20........30........40........50........60..64 +++ Originally Posted on 2013-03-14
  22. Very Long Data Values While auditing for extra backslashes I stumbled across that infamous FUBAR key from Real Player, which apparently gets automagically re-inserted whenever the thing is run ... [HKEY_CURRENT_USER\Software\RealNetworks\RealMediaSDK\6.0\Preferences\PluginHandlerData\PluginInfo0] @="xxx" ... where "xxx" is an astonishing 8,441 ASCII characters of nonsense. It of course is too long to display on a single line in most text editors so it will span several. This thing really must cause problems in Win9x and perhaps other versions and I wouldn't be surprised if it stops registry defragging from working successfully. Real Player has truly always been the epitome of suckiness. I decided not to display the actual data not for brevity, but because Real Player had a history of transmitting user data so I cannot be sure what the data actually decrypts to. Anyway, here is a really quick fix ... [HKEY_CURRENT_USER\Software\RealNetworks\RealMediaSDK\6.0\Preferences\PluginHandlerData\PluginInfo0] @="" ... which just sets the default to empty. I added that solution to my personal REG fixer that gets imported automatically from time to time to reset many common registry changes. Will it affect Real Player? I have no idea. I have not installed it on purpose in years, it apparently comes as a value-added payload with AOL and other 3rd party software. If it breaks, I just couldn't care less. Registry Limits Using that MSDN reference in the first post I snipped this table of alleged registry limits ... ... I say alleged because that page does not even mention what Windows versions they are talking about. I suspect we are seeing a table for Windows NT operating systems in general. I have much doubt that these apply to Win9x, especially Win95 prior to OSR when they corrected various mistakes in REGEDIT. If there is a problem at all, it will probably be one of those registry corruption issues. In other words, perhaps the registry API can successfully read or write 1 MB of characters contained in a registry value field. I suspect that in Win9x simply entering such data via a script or deleting such a value is very dangerous to the hive structure. And it certainly might cause problems with registry defragging. If anyone turns up more specific information please mention it and I will add them as references to the top post. To see an actual example on WinXP have a look at this key ... [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify] ... which has three values: "BalloonTip", "IconStreams" and "PastIconsStream". The first one is of no consequence but the latter two contain lots of data in the value field. "IconStreams" ....... exports to 0,114,534 ASCI characters and contains 0,035,792 hex bytes "PastIconsStream" ... exports to 3,346,344 ASCI characters and contains 1,081,522 hex bytes Note that the difference in the ASCII size is that it contains commas and escapes and spaces as well as utilizing two characters to display a single byte. Historical Examples I haven't got anything except for older notes about these, but I can say they were noted by me over the years and may still exist to this day on various Win9x or WinXP+ computer systems. ;;; xxx = 5,966 ASCI characters ( Microsoft .NET Framework 2.0 Service Pack 1 ) [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1F3B805BA42A0C233B0158879691FE82\Features] "URTM_STD_ENU_X86_IXP"="xxx" ;;; xxx = 5,981 ASCI characters ( Seagate DiscWizard ) [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\31A06A18D42273642830E3CA301B124A\Features] "TrueImageClient"="xxx" ;;; xxx = 5,012 ASCI characters ( Microsoft SQL Server Desktop Engine ) ... WinXP verified 5,000 actual ASCII characters [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\5B84B90E141EA724BAC03D06157222A4\Features] "SqlRun"="xxx" ;;; xxx = 4,380 ASCI characters ( Microsoft .NET Framework 1.1 ) ... WinXP verified 4,360 actual ASCII characters [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\DDE7F2BCF1D91C3409CFF425AE1E271A\Features] "Redist_Package"="xxx" ;;; xxx = 2,504 ASCI characters ( needs research ) [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\68AB67CA7DA73301B7448A0000000020\Features] "ReaderProgramFiles"="xxx" Very Long Registry Key Names If you look at that table of limitations again, clearly the easiest one to bump into is registry key name which is "255 characters. The key name includes the absolute path of the key in the registry, always starting at a base key, for example, HKEY_LOCAL_MACHINE". This is a very easy limit to hit. For example, just looking at one of those historical keys just above ... [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1F3B805BA42A0C233B0158879691FE82\Features] ... that adds up to 141 characters as it is. If we hang that off a full user SID it would clock in at 179 characters. Add a subkey or two and we're right up against the limit. Sometime in the future I will get back to this subject and scan some registries for long keys and see what turns up. Here is a guide for Total Key Name Length ( I had to shrink the font size to not run off the screen ) ... 1........10........20........30........40........50........60........70........80........90.......100.......110.......120.......130.......140.......150.......160.......170.......180.......190.......200.......210.......220.......230.......240.......250..255 |--------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|----| HKEY_LOCAL_MACHINE\aaaaaaaaaaaaaaaaaaaaaaaa\bbbbbbbbbbbbbbbbbbbbbbbb\ccccccccccccccccccccccccc\dddddddddddddddddddddddddd\eeeeeeeeeeeeeeeeeeeeeeeee\ffffffffffffffffffffffff\Total.Length.of.this.Registry.Key.Name.is.perfectly.fine.at.exactly.255.characters HKEY_LOCAL_MACHINE\aaaaaaaaaaaaaaaaaaaaaaaa\bbbbbbbbbbbbbbbbbbbbbbbb\ccccccccccccccccccccccccc\dddddddddddddddddddddddddd\eeeeeeeeeeeeeeeeeeeeeeeee\ffffffffffffffffffffffff\This.Registry.Key.Name.is.NOT.GOOD.because.the.Length.Totals.exactly.256.characters |--------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|-----| 1........10........20........30........40........50........60........70........80........90.......100.......110.......120.......130.......140.......150.......160.......170.......180.......190.......200.......210.......220.......230.......240.......250...256 BTW, in certain editors like UltraEdit, you can set vertical line column markers. I find it helpful to set one at column 257 which accounts for the leading open square bracket in [HKEY_LOCAL_MACHINE, consequently the vertical line points to the 256th character position where no registry key names should touch. Historical Examples This is quite amazing. Here is my list of 192 illegal SoundBlaster Live Software keys which exceeded the limit. The shortest one here is 257 characters. These caused quite a mess ... +++ Originally Posted on 2013-03-14
  23. Multiple Backslashes in File Paths. This one was inspired by a problem seen here and IMHO is very much worth checking for in your own registry. I suggest a careful audit of your exported registry in a text editor to accomplish this. You need to pay attention to the convention that a text editor uses for searching particular characters. For example, PFE32 ( Programmer's File Editor ) itself uses the backslash character as a control code which makes searching for backslashes double the fun. Escaping REGEDIT Backslashes ( \ ) are historically used to demark directories in DOS are obviously also used in the registry to demark keys and in string values for file paths plus other things. The backslashes used in file paths are exported to registry text files doubled up ( \\ ). This is so that when they are re-imported into REGEDIT they get interpreted correctly. It can be very confusing since the same character serves two purposes, but is understandable if you just think of ( \\ ) as not really being two backslashes, but in actuality an "escape" character followed by a backslash, which means to REGEDIT ( or any other program using the same convention ) that when it sees an "escape" to enter the following character literally. This escape function is active for data being entered as strings which are signified by surrounding quotes. Both "quotes" and "backslashes" that are to be used within a string should be preceded with an "escape character". Therefore ( \" ) simply means escape quote and ( \\ ) means escape backslash. What happens literally is that when REGEDIT is importing or exporting the registry, and it encounters a quote ( " ) it slips into "string mode" and stays there until it sees the next non-escaped quote ( " ). All the quotes and backslashes that it encounters in between those two bookends get escaped when exporting, and require escapes when importing. The main rule to remember is that when processing registry values through the REGEDIT interface via dialog boxes, you need to always enter them exactly as intended with single backslahes, but NO doubles. When editing an ASCII or Unicode registry text file you DO need to double them up and also pay careful attention to quotes since that is the single most powerful delimiter character and is treated in pairs ( open and close ). Everything in between the pair is a text string that requires careful escaping of its own quotes and backslashes. Note that within the open and close quotes that there is no requirement for an even number of quotes, but they must be escaped correctly. Here is an actual example string taken from that referenced link above ... @="\"C:\\Windows\\Printdir.bat\" \"%1\"" ... what gets fed into REGEDIT from a REG script @="\"C:\\Windows\\Printdir.bat\" \"%1\"" ... escaped quote chars shown in red, backslashes in blue "C:\Windows\Printdir.bat" "%1" ............. this is what is actually inserted in the registry Be Careful with Text Editors Quotes can cause havoc with text editors that provide colors and highlighting through syntax recognition, especially when browsing registry text files. The algorithm that identifies strings is rarely as smart as REGEDIT and merely counts the quotes up and highlights them according to pairing. So in the case of an open and close quote that contains an odd number of quotes within it, the editor syntax highlighting breaks down and it gets ugly ( at least until another case of odd number of quotes is encountered ). The point here is that any out-of-sync syntax highlighting you see does NOT necessarily indicate an error in the data strings. This will roughly approximate how they go out of sync, but keep in mind that there are no errors here at all ... |----------------------------------------------| " String Value with \" 1 ...interior ...quotes " Here is some following data. " String Value with \" 2 \" interior ...quotes " Here is some following data. " String Value with \" 3 \" interior \" quotes " Here is some following data. Bogus REGEDIT Backslashes If everything is done properly within REGEDIT you will never see a case of a file path within a string utilizing double ( or more ) backslashes. But things can go awry via several avenues. The most common way to mess this up is in the situation of entering string data directly into a REGEDIT dialog box using the escaped formatting designed a REG text file. As mentioned above, this is incorrect! When entering string data into a dialog box it is NOT escaped, it requires the single backslash for paths. This error happens when someone finds a registry patch ( meant for a REG text file ) on the Internet and they jump into REGEDIT and paste it in. Here is the problem: now you will have doubled backslashes and backslashed quotes that are sitting in the registry and when a program reads that registry value, the registry API supplies the contents literally as doubled backslashes and backslashed quotes and the program most likely will throw up an error ( if you're lucky ) or do nothing at all. The error that you encounter might be of absolutely no value to debugging either. It could say File Not Found or Path Not Found or almost anything else, and none of these will likely send you into REGEDIT to delete a single extra character. Another error method occurs because of setup programs that have mistakes in their programming or perhaps in an associated INF file. This is something I find all the time as I'll show a few actual examples below. Finding Errors So it makes pretty good sense to periodically search for four consecutive backslashes \\\\ in a registry export, or two \\ if you are using the FIND function in REGEDIT. I'm doing the former here. However there is a very important caveat ... remember that many times it is perfectly normal for multiple backslashes to appear in the registry in data values. For example in UNC path URLs like "uNCName"="\\\\ComputerName\\etc ( this is literally \\ComputerName\etc ). These are commonly used in the PnP section for USB and other devices, for example "SymbolicLink"="\\\\?\\. These must be skipped over when you search for anomalies ( except if for some strange reason it had 6 or 8 backslashes for example ). Anyway, the trick is to zero in on actual paths into the file system because these can have immediate consequences to a program that reads that data. After completing an audit on a WinXP machine here are actual errors I found. I suspect others will also see these or similar entries. Note that I case-corrected everything here for better legibility but it has no consequence to registry operation as these are case insensitive ... ;;; Java ( Web Start Launcher ) [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{26a24ae4-039d-4ca4-87b4-2f83216030ff}] "DisplayIcon"="C:\\Program Files\\Java\\Jre6\\\\Bin\\Javaws.exe" ;;; Real Player [HKEY_LOCAL_MACHINE\Software\Classes\Software\RealNetworks\RealMediaSDK\6.0\Preferences\ExternalResourcesDirectory] @="C:\\Program Files\\Common Files\\Real\\Plugins\\\\ExtResources" [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\RealPlayer 6.0] "UninstallString"="C:\\Program Files\\Common Files\\Real\\Update\\\\Rnuninst.exe RealNetworks|RealPlayer|6.0" ;;; Shockwave Flash [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Shockwave] "QuietUninstallString"="RunDll32 Advpack.dll,LaunchInfSection C:\\Windows\\\\Inf\\\\Swdir.inf,DefaultUninstall,5" ;;; seen on WinXP from unknown installer, WbemSnmp.log currently is blank! [HKEY_LOCAL_MACHINE\Software\Microsoft\Wbem\Providers\Logging\WbemSnmp] "File"="C:\\Windows\\System32\\Wbem\\Logs\\\\WbemSnmp.log" ;;; VBA ( Visual Basic for Applications ) installs with certain suites like Corel [HKEY_LOCAL_MACHINE\Software\Classes\AWfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\ELMfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFAfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFLfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFTfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFXfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\OPCfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\STFfile\DefaultIcon] @="C:\\Windows\\Installer\\\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" NOTES: Many of these look like they will effectively disable those commands from ever executing, so they are errors of consequence. Both the Real Player and Flash Player screwups look like their UNINSTALLER cannot ever execute. That empty WBEM log file is almost certainly a consequence of that messed up registry entry. That set of keys from VBA means no icon will ever show for those filetypes ( thanks to its overly complicated MSI installer procedure ). All of these are manufacturer mistakes, their programmers messed it up in the installer most likely. Fortunately it is easily fixed. Here is the simple "correcter" I ran to clean these up ... ;;; correcter [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{26a24ae4-039d-4ca4-87b4-2f83216030ff}] "DisplayIcon"="C:\\Program Files\\Java\\Jre6\\Bin\\Javaws.exe" [HKEY_LOCAL_MACHINE\Software\Classes\Software\RealNetworks\REalMediaSDK\6.0\Preferences\ExternalResourcesDirectory] @="C:\\Program Files\\Common Files\\Real\\Plugins\\ExtResources" [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\RealPlayer 6.0] "UninstallString"="C:\\Program Files\\Common Files\\Real\\Update\\Rnuninst.exe RealNetworks|RealPlayer|6.0" [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Shockwave] "QuietUninstallString"="RunDll32 Advpack.dll,LaunchInfSection C:\\Windows\\Inf\\Swdir.inf,DefaultUninstall,5" [HKEY_LOCAL_MACHINE\Software\Microsoft\Wbem\Providers\Logging\WbemSnmp] "File"="C:\\Windows\\System32\\Wbem\\Logs\\WbemSnmp.log" [HKEY_LOCAL_MACHINE\Software\Classes\AWfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\ELMfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFAfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFLfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFTfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\FFXfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\OPCfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" [HKEY_LOCAL_MACHINE\Software\Classes\STFfile\DefaultIcon] @="C:\\Windows\\Installer\\{db81779e-7cc5-4630-bcfc-754004956444}\\Misc.exe,6" +++ Originally Posted on 2013-03-14
  24. Registry Peculiarities and Solutions I am creating this thread to pool together the many interesting registry anomalies and their solutions into one place. This should be useful to help others check out their own registry to determine if any of the problems exist and whether they are something to worry about. It will probably take some time to dig through the vast array of discussions of the past and collect them here. I will edit this first post which will serve as an index into this and other threads with useful content. If anyone comes upon something that fits into this category make a comment below! Index Multiple Backslashes in File Paths ( Post #2 below ) Very Long Data Values ( Post #3 below ) Very Long Registry Key Names ( Post #3 below ) Compacting the Win9x Registry ( external MSFN thread ) Failure Creating the Win9x Registry ( external MSFN thread ) Length of Win9x Uninstall Key Name and String Value [MSKB] ( Post #4 below ) Execution Order of Registry Values ( external MSFN thread ) Context Menu entries using "Shell" and "ShellEx" ( external MSFN thread ) References MSDN :: Registry Element Size Limits (Windows) +++ Originally Posted on 2013-03-14
×
×
  • Create New...