what happened to these features Results

Page 3 of 4.
Results 41...60 of 72

Sponsored Links:

First time poster, I hope this topic isn't covered somewhere where I couldn't find it.

I created a WORD document that contains links to an Excel spreadsheet. I open the Excel file first, put in a bunch of numbers, then Excel performs some calculations to come up with other numbers I need. I also use macros in Excel to create charts.

I then open up the WORD file and use links to grab the numbers I need from the Excel file. This set-up has saved a lot of time, since we use it to create several hundred WORD documents each year.

When I created these 2 files, they started out pretty small. As I added features, they grew to about 5 or 6 MB each. That wasn't too bad. I've heard from my team members that they'll often have problems with the WORD file growing very large >10MB. Yesterday, it happened to me. After several times opening and editing the same copy, the WORD file grew to 28MB!

What's even starnger is that after my last edit, the WORD file shrunk to less than 700KB (yes, I mean "KB", not "MB")!

My question is: is there a way for me to get WORD to minimize its file size? I am familiar with ACCESS's utility to "Compact and Repair database...". Is there something similar for WORD?


Win2k came before XP, and was technically Windows 5.0 XP came along, incorporated some of the features of Win95, and was Windows 5.1. If I look at the first two fingers of either hand, standing next to each other, the first finger represents Win2k and the middle or second finger represents WinXP. That's how close I think they are.

Now here is the thing. Neither Win2K or WinXP will install on a number of modern PCs.
It may look like it does (with XP anyway), but it won't run. Whether it is the huge hard
drives or whatever, I've tried this repeatedly, on different PCs, and it is a no-go.

But there is a way around this. I install and use a recent version of Ubuntu (a Linux
distro), and then add VirtualBox on top of that. Then I have no problem installing or
loading Win2k or WinXP as a VirtualBox client. Runs just fine, and I don't need to add
a ton of protection software to keep it safe, either. I made up my mind that I was not
going past XP, and in fact was sticking to Windows 2000 as long as possible, because
I do not like the authentication and verification processes that began with XP.

So what's my story then? Well, Microsoft has dropped support for Windows 2000, and
a number of applications that I run under it, such as FireFox, advise me to upgrade to
a later OS. That is not my intent. FlashPlayer tries to upgrade, but there is a process
in the XP kernel that is missing in 2k, so it fails. I imagine the number of separations
will increase over time. And I don't want to mess with trying to install and get XP
registered on a virtual machine. Too many related factors that might be changed in
the future that could cause it to refuse to run.

I'm not going to Vista, Win7, Win8, or Win9. Microsoft has soaked enough cash out of
me over the years, and I am not going to keep feeding it more and more money. When
Win2k gives out, it will be Linux for me from then on.

To help keep Win2k going, I was contemplating putting XP's kernel.dll in place of the one that goes with 2k. I may try that yet. But I thought it would be worth asking in case anyone else has tried it, and see what results they got. The problem with messing
with Windows in such a case, is that system files and some others can't be read or
written to while Windows is running. That can be gotten around with three images of
Windows installed, one to run, one to read from, and one to copy to. Unfortunately,
Linux and VirtualBox do not provide ways to read and write directly to VDI folders and files of the clients that get installed using tools that they provide. The read and writes
are by having a suitable child of VirtualBox running, with the other images chained in
as shared folders.

I tried a google search to see anybody had tried something like this, and the closest I
got was a post to these forums about could an XP kernel be copied over itself, likely from another source. Like I said, it takes three images to make this happen, but the
answer to his problem was something else entirely. Now let's see what sort of
answers my question inspires.

Saying Thanks in advance is considered poor taste, so let's just say I appreciate your
possible efforts to answer my question.

Oh, about 95% of WinXP applications run on Windows 2000. Most of the patches and
such for XP came out for Win2k as well. Win2k takes no registration beyond the code
needed when installing it, and I have found that it is still for sale at different prices
from different sources. One source was $36, and another had it at about $160. Might
be worth looking into. The big challenge might be getting SP1 to SP4, but a way
around this is to go for USP5.1, which was an inclusive set of patches, not all of which
came from Mocrosoft.


After doing a Detect & Repair on Office 2000, as well as some "adjustments" using TweakUI, I now find that my update facilities are broken. The message below is what appears for Office Update, and a similar thing happened for Windows Update. I suspect the "tweak" that might have contributed was pointing my program files "special folder" to the I: partition, while Office had already been installed on C: partition. I changed this back to C:, where all the WindowsUpdate and OfficeUpdate11 folders live, but to no avail - still no joy.

I found a tip (for XP) suggesting deleting the contents of these folders and rebuilding them with some .zip file or other... but no indication as to what this might be. Any tips on how to reinstate these features, please. Do I need to reinstall an "updater" perhaps?


P.S. Windows Update error number is (0x80070052).

Ok, I get it....table styles are typical of most new Microsoft Word features, in that they don't work too well in the first implementation (or 2, or 3...). But does anybody know how they're supposed to work, and what's causing the problems we're running into?

We're compiling a document, and many of the tables are pulled from documents originally written using Word 97. Many of these tables are suddenly having table styles applied to them. But it's random--not all the tables have this problem.

Here are my questions:

1. I know all tables created in Word XP have a table style applied to them. I would assume that when a table is brought in from Word 97, it too would automatically have a table style applied, but that's not happening. For many of the Word 97 tables we've brought in, there is no table style at all. So....what determines whether a table brought in from an earlier version of Word gets a table style or not? Look at the second table in the attachment, do "Reveal Formatting" and "Distinguish style source". Notice there's no table style.

2. Some Word 97 tables are getting styles applied. Ok, I can deal with that. What determines the style Word XP chooses? In the attachment, the table style for the first table is "list:indent bull". That's not a table style, it's a paragraph style (if I try the Table AutoFormat command, that style isn't listed). Why would Word XP apply a paragraph style to these tables? Even better--in this same document, Word XP chose to apply the "Document Map" style to some of the tables. Boy, that was fun. [img]/forums/images/smilies/sad.gif[/img]

3. As noted in question 1, some of my Word 97 tables don't have a table style applied at all. Is there any way I can do that too?

4. One more thing we've noticed. The tables that are getting these random styles applied will look fine through many revisions, and then suddenly get the style applied. Does anyone know what the trigger is??

If anyone can answer these questions, I'd really appreciate it!



the last thing i want to do is install windows vista when it comes out the door and get stuck for 6 hours trying to find drivers for everything. yes this happened with my XP install. yes this happened with my 2K install.. ME.. 98...

ive been looking for the features list on this thing trying to figure out what i need it for

one of my gripes this is as significant as windows 95. windows vista is not going to run some new 128-bit programs or something... as a regular old pc user what is it going to do for me. if it is going to do something amazing besides display a fancy GUI wheres the facts?

i dont need a $200 upgrade to search my files in a few seconds. i can download that for free these days

and this isnt a flame. im actually hoping im wrong about all this

I require assistance with a recurring, yet strangely sporadic and random BSOD problem. Seems to only happen when just browsing the web, as there have been instances where I have played online games such as World of Tanks with it for hours at a time with teamspeak running as well and had 0 problems.

In particularly- it seems to always seems to happen just after a "button" or link is clicked I guess boils down to a command being executed from the mouse. BUT there was once in particular when the system BSOD'ed while dealing with the finnicky "VZAccess Manager" program that verizon uses to big-brother your internet usage.

I'm using a Novatel usb 3G/4G modem the 551 model, from what I can tell from looking at their sites and comparing to the one I have looking to see if they have drivers for it to download... I got it from Verizon Wireless. My computer sits more insular in the house, I have the modem placed relatively far away near a window where it gets great reception. it is connected to a USB cable in-lime amplifier as to extend past 15 feet. This is the cable plugged into the USB port, are these known to cause problems?

I have the minidump file attached.

Thank you for your time. Attached Files 111811-14632-01.rar (32.3 KB, 19 views) Share Share this post on Digg Del.icio.us Technorati Twitter
Reply With Quote .postbitlegacy .postfoot .textcontrols a.post_info_button, .postbit .postfoot .textcontrols a.post_info_button { background: url(/images/post_infobox.png) no-repeat transparent left; padding-left: 20px; } .postbitlegacy .postfoot .textcontrols a.post_info_button:hover, .postbit .postfoot .textcontrols a.post_info_button:hover { background: url(/images/post_infobox-hover.png) no-repeat transparent left;   JavaScript must be enabled 11-19-2011 #2 Wasson Junior Member  Thread Starter Enjoys Windows 7 Forums  
Join Date Nov 2011 Posts 3 Re: Need Help - suspect USB modem causing BSODS More BSODS...one seemed to happened after I woke it from sleep mode but I had walked away and did something else.

Help would be appreciated. Attached Files minidumps.rar (69.7 KB, 15 views) Share Share this post on Digg Del.icio.us Technorati Twitter
Reply With Quote .postbitlegacy .postfoot .textcontrols a.post_info_button, .postbit .postfoot .textcontrols a.post_info_button { background: url(/images/post_infobox.png) no-repeat transparent left; padding-left: 20px; } .postbitlegacy .postfoot .textcontrols a.post_info_button:hover, .postbit .postfoot .textcontrols a.post_info_button:hover { background: url(/images/post_infobox-hover.png) no-repeat transparent left;   JavaScript must be enabled 11-20-2011 #3 Elmer Tier 2 Moderator Resident eejit  
Join Date Mar 2010 Posts 1,946 Re: Need Help - suspect USB modem causing BSODS Hi Wasson and Welcome to The Forum

Sometimes posts slip through a time warp black hole. Yours appears to have been one of those.......

You're getting a Stop Error Code 116
(Link) "It's not a true crash, in the sense that the bluescreen was initiated only because the combination of video driver and video hardware was being unresponsive, and not because of any synchronous processing exception.

Since Vista, the "Timeout Detection and Recovery" (TDR) components of the OS video subsystem have been capable of doing some truly impressive things to try to recover from issues which would have caused earlier OSs like XP to crash. As a last resort, the TDR subsystem sends the video driver a "please restart yourself now!" command and waits a few seconds. If there's no response, the OS concludes that the video driver/hardware combo has truly collapsed in a heap, and it fires off that stop 0x116 BSOD.

If playing with video driver versions hasn't helped, make sure the box is not overheating. Try removing a side panel and aiming a big mains fan straight at the motherboard and GPU. Run it like that for a few hours or days - long enough to ascertain whether cooler temperatures make a difference. If so, it might be as simple as dust buildup and subsequently inadequate cooling." - H2SO4 nVidia Graphics Drivers.

Download and install Driver Sweeper.Uninstall your current Graphics setup through Programs and FeaturesBoot to and run (preferably) Driver Sweeper in Safe Mode to clean up the remnants of your current Graphics set up.Reboot to Normal Mode.Install your new Graphics set up.

Hi guys,
I come back to you after some time away in a happy place where tech support is never needed, once again humbly requesting your expertise.

When my laptop hinge busted, I salvaged the HDD and decided to mount it in my next desktop build and use it until I bought another HDD to sell it with. This drive was partitioned with a dual boot of Win7pro64 and Backtrack 5r1 64, both were pretty well maintained, no foreseeable issues with swapping the drive, right?

Well, we seem to be having some technical difficulty, on both fronts. As this is sevenforums, Ill restrict this to my Windows 7 issues, but for any bilingual folks out there that are interested, I'm posting the other half of the dilemma on linuxquestions, sparing them the windows part of it lol. Ill add a link to it once its up.

Okay so here is the hardware setup I am working with.

Asus M5A97 mobo, amd970/sb950 chipset, is rated to support all components
AMD FX-8120 CPU Black Edition
16 GB G-Skill Sniper pc3-12800 ram
XFX nVidia GeForce 6800GT 256MB GDDR3 (I can hear your snickering )
Raidmax 630w PSU
Samsung Supermulti Optical
WD Scorpio Black Laptop SATA HDD

Everything listed is brand new, purchased online, save for the HDD of course. The video card was purchased used at the local computer shop, last-minute.

So just let me explain the nvidia card real fast I planned this build assuming my old HD3870 would work just fine, but it went out on me almost right away. I had it hookup up to a coby tv with a 1366x768 resolution, which is what the nvidia card is powering now as well, via DVI-I output to a DVI to HDMI adapter, then through an HDMI-HDMI cable to the tv, same as the HD3870 was (in case any of that proves relevant). My original intention was to leave this setup open for crossfire if I found another 3800 series. I should note that while the HD 3870 was working, I had booted it up alright and gotten to the boot animation for Windows 7 once. It then proceeded to reboot, after which my video card was toast and I could not get a successful POST. Now that the card is changed, here is what I am experiencing.

When I boot up, I get a POST beep, I go into the BIOS, everything is looking tip top. I select the HDD, everythings still going fine. Since I am running a dual-boot configuration, GRUB is my boot manager. I select the Windows 7 Boot Loader, and I have the option to run startup repair or try to boot normally. I tried the startup repair a few times. The first time it said attempting repairs, then said it would reboot and either boot successfully or continue startup repair. It does not boot up fine, in fact, I get a BSOD. I try the startup repair again, only for it to tell me the problem couldnt be fixed automatically. Well it gives me two options, to either view advanced details in a log file of some sort, or to log in to a user account to run some diagnostic utilities.

The log shows no errors of any kind - I went through each instance of startup repair and they were all negative for each category. There was one "root cause" listed for each attemp which said that 'a recent hardware change' may have caused this to happen. I was told by my college professor who holds an advanced certification for Windows 7 that you could swap a Windows HDD to another computer, and all that would happen is most hardware would default to Windows generic drivers, and you would have some short window of time to reactivate Windows within, due to some sort of built in anti-piracy feature throwing up red flags at the substantial hardware change. Have I been ill-informed, or do I have bigger problems than that?

I logged into my administrative account and the options provided are as follows: Startup Repair, System Restore, System Image Recovery, Windows Memory Diagnostic, and the Command Prompt.
Startup Repair just fails and loops me back, System Restore can't find any restore points (very odd), and System Image Recovery is unusable for me since I never made a backup image. I ran the memory diagnostic as well as chkdsk /f, as advised, and neither found any errors. Selecting the Commant Prompt option, my working directiory is x:windowssystem32. I can switch over to c:, and I can access all of my files, personal, applications, and system alike, which appear to be intact (much of this I have verified via examination from my Backtrack/Linux partition).

Well, I've taken the Windows 7 course, and I don't want to screw around with finding the perpetrator behind my misfortune if I don't have to - I'll just do a side by side install, throw everything on c: into the "Windows.Old" folder, and get the ball rolling on re-crafting my setup, followed by some housecleaning. I have my original product key, all I have to do is pop in that install disc, right? Save the day? I could not have been more wrong.

I actually get a blue screen error while booting from the install disc. This is burnt with an iso obtained from MSDNAA, a legitimate copy of Windows 7 Professional 64 bit, the SP1 Debug Rollup. It's what I used to install the Windows 7 that is currently failing that I'd used for well over a year, and the Windows 7 on another machine I'd built. The serial is registered to me and it was all free through my college. When I did my second install, upon activation I asked if I would need to request a new serial since this one had been used, and was told NO, that my serial is MSDNAA specific, usable as many times as I'd like for academic purposes. You cannot even retrieve these from the system using means that would otherwise produce the correct key - it will come back as five sets of five B's. These are the only two times it has been used and this most definitely does not count as a third since it is the same OS, HDD, owner, serial, and disc even.

Circling back to the BSOD, the interesting thing to me is that the exact same blue screen error comes up while booting my Windwos partition as while attempting to boot from CD to reinstall. Is that significant? I know the terminology sort of clumps them all into the same category, but surely there is a correlation, no? I thought perhaps I was going crazy, and Windows had set some bit switch on the HDD that says "Help, I'm supposed to be in a laptop!" but this does not explain the CD.

I have tried to boot into safe mode, have tried Automatic System Recovery (which im given to understand is the same as Startup Repair), but no cigar. ASR behaves as startup repair did and safe mode = bsod. I have attached a picture of the error screen for reference. I have a copy of Ultimate Boot CD for Windows on my USB drive, but there is a plethora of utils and I dont know how to use most of them. If there is a specific tool that could remedy the issue or shed some light on the situation, I can certainly collect info and report back.


Thanks in advance, all you guys!

Hi folks, Happy Thanksgiving.
Win 7 RC (build 7100)
I have an Acer notebook with bluetooth (see my sig for specs).
It has a switch on the front right of the machine to turn the bluetooth on and off.
Because I don't use bluetooth I have it turned off and also have no drivers installed for it.

Now here is the strange part, I have both Ubuntu 9.04 and Ubuntu 9.10 installed on a USB external HDD.
These latest versions have a nasty feature/bug that turns on the bluetooth module even if the switch is turned off in Win 7.
If I forget to shut off bluetooth using the hardware switch when shutting down these two distros the module will be on when Win 7 boots.

If the module is on in Win 7 and I plug in a USB Flash device or USB HDD I find that the "safely remove icon" in the system tray is unresponsive. Clicking on it doesn't do anything until I turn off the bluetooth module with the hardware switch and then reboot.
On reboot the safely remove utility works just fine as long as the bluetooth module isn't powered on.
Strange eh.
Not really a problem but more an observation, although it kinda drove me nuts until I figured out what was happening.

Hope this helps anyone having the same issue.

I'm new here so sorry if there's information I leave out. The title basically describes the issue I'm having. Every single blue screen that has happened this past week and a half have been STOP: 0x00000116 atikmpag.sys.

I'm pretty sure everyone here knows the game League of Legends. Well I'm addicted to that game and was able to play it for hours straight with no lag, issues or anything on the highest settings. Well one day, after playing several games already, I started a new game and roughly 10 minutes into the game my display froze, so did my mouse, the signal that my monitor was falling asleep came up then the BSOD appeared. I thought at first it was a glitch so I tried again and the same BSOD appeared again roughly 10 minutes into the same game. Well I went to bed, woke up the next morning, turned on my computer and tried playing League of Legends, same thing happened. Contacted a friend and he suggested I run MSI Afterburner, GPU-z, and CoreTemp. I ran all three of these at once and fired up Mass Effect 3. I was able to play an entire match with no problem at all. Once the match was over I closed Mass Effect 3 and my GPU temperature never went above 65C and my CPU never went past 50C on high graphics with lots of explosions. I thought the problem had gone away so I started up League of Legends and again the BSOD came up. Researched into this issue and unfortunately this BSOD can be caused by lots of things, drivers, faulty GPU, faulty ram, bad motherboard, bad PSU. I've tried uninstalling drivers through (Start > Control Panel > Programs and Features > AMD Install Manager), then rebooting my PC and re installing the drivers. Well for some reason the Catalyst was showing that it wasn't even making an effort to re install the display driver so I did a fresh re install of Windows. Well some how my computer became extremely slow after doing this so I did a format of my hard drive, which in return made my computer fast once again, but it didn't get rid of the BSOD. I've tried both the 12.4 and 12.6 Beta Catalyst drivers and they didn't help at all. I've tried uninstalling drivers, booting into safe mode then running driver sweeper to remove all the display drivers, then booting into normal mode and re installing fresh drivers. I installed and started up Diablo 3 (which I just bought the day before), and before even making a character I got the same BSOD. I started it again and I was able to play 10-20 minutes before getting the BSOD again.

Today I removed one stick of ram and started up Diablo 3 and was able to play for a surprisingly long time before getting the BSOD. So I switched out the ram sticks in the same slot and my computer wouldn't even start up. So I switched the sticks but in a different ram slot and once again got the BSOD, so I switched the sticks again in the different slot and my computer was able to start up and same thing, BSOD while playing Diablo. I removed my graphics card, tried running onboard graphics and when I started up Diablo, I clicked launch on the launcher and nothing came up on my screen but it showed Diablo was running. This friday I'm hopefully purchasing some new Corsair Vengeance 8GB Ram.

My current spec's are:
XFX Radeon HD 6850 1GB Black Edition
AMD Phenom II X4 965 3.4Ghz Black Edition
G.SKILL Ripjaw 4GB (2x2) Ram
Corsair 750W PSU
Asus M4A89GTD Pro Motherboard

I'm losing my mind over this and it seems like no matter what I do it's not fixing the issue. Please somebody help me!

jQuery is so easy to use and thankfully abstracts many of the cross-browser concerns we used to labor over years ago. However, as with any library there are a common set of bugs that tend to crop up the more you use it. This session aims to help equip developers with the appropriate knowledge and tools to exterminate many common bugs seen in jQuery code. For each topic that is covered we will start with a piece of code that has a jQuery bug, then identify what the bug is, explain why it is happening, and then proceed to explore various techniques to exterminate the bug. Some bugs have a simple fix, whereas other bugs have numerous ways you could look at solving the problem. These solutions can range from simple to advanced concepts. By exterminating bugs in multiple ways it will help expose some of the newer and more advanced features of jQuery that aren't as widely known. Some of the bugs that we will address involve dealing with synchronous and asynchronous code, uncovering some possibly confusing aspects of the $.each method, explaining why and how you might have killed event delegation, looking into weird formatting issues when dealing with JSON and object literals, discussing the confusion of the jQuery wrapper versus the native DOM element, explaining the difference between commonly confused jQuery methods, uncovering why some animations have a mind of their own, determining when several ajax calls have finished, and much more. As you might have noticed some of the examples listed above aren't necessarily jQuery specific, but since the library is JavaScript there are many core concepts of JavaScript that are necessary to understand when using jQuery.


Hey guys, have some bsods that happen quite often.
Do I have memory problems? Should I try memtest? Attached Files 022511-40841-01.dmp (140.6 KB, 239 views) 051611-31496-01.dmp (140.6 KB, 245 views) 052911-58749-01.dmp (140.6 KB, 240 views) 052911-60044-01.dmp (140.6 KB, 237 views) 070411-22557-01.dmp (140.6 KB, 238 views) 070411-28329-01.dmp (140.6 KB, 236 views) 070511-23805-01.dmp (140.6 KB, 238 views) 070511-24148-01.dmp (140.6 KB, 231 views) 070611-22183-01.dmp (140.6 KB, 241 views) 070611-24866-01.dmp (140.6 KB, 245 views) 070811-19843-01.dmp (140.6 KB, 236 views) 070811-21153-01.dmp (140.6 KB, 236 views) 070911-20108-01.dmp (140.7 KB, 235 views) 070911-22495-01.dmp (140.7 KB, 234 views) 070911-22822-01.dmp (140.7 KB, 235 views) 070911-23025-01.dmp (140.7 KB, 233 views) 070911-23181-01.dmp (140.7 KB, 230 views) 070911-23212-01.dmp (140.7 KB, 231 views) 070911-38079-01.dmp (140.7 KB, 228 views) 071011-30232-01.dmp (140.7 KB, 242 views) 071211-71526-01.dmp (140.7 KB, 238 views) 071411-25131-01.dmp (140.7 KB, 236 views) 071511-18907-01.dmp (140.7 KB, 230 views) 071511-21262-01.dmp (140.7 KB, 240 views) 071511-25006-01.dmp (140.7 KB, 237 views) 071511-25599-01.dmp (140.7 KB, 239 views) 071611-19531-01.dmp (140.7 KB, 235 views) Share Share this post on Digg Del.icio.us Technorati Twitter
Reply With Quote .postbitlegacy .postfoot .textcontrols a.post_info_button, .postbit .postfoot .textcontrols a.post_info_button { background: url(/images/post_infobox.png) no-repeat transparent left; padding-left: 20px; } .postbitlegacy .postfoot .textcontrols a.post_info_button:hover, .postbit .postfoot .textcontrols a.post_info_button:hover { background: url(/images/post_infobox-hover.png) no-repeat transparent left;   JavaScript must be enabled 07-16-2011 #2 zigzag3143 Senior Member Wanikiya  
Join Date Jun 2009 Posts 402 Blog Entries1 Re: Tried updating drivers and uninstalling some known bsod causing programs. still having bsods spcimnaerx Hi and welcome.

These were virtually identical and blamed on memory corruption. Please run the following tests.

Download a copy of Memtest86 and burn the ISO to a CD using Iso Recorder or another ISO burning program.

Boot from the CD, and leave it running for at least 5 or 6 passes.

Just remember, any time Memtest reports errors, it can be either bad RAM or a bad motherboard slot.

Test the sticks individually, and if you find a good one, test it in all slots.

Driver verifier

I'd suggest that you first backup your stuff and then make sure you've got access to another computer so you can contact us if problems arise. Then make a System Restore point (so you can restore the system using the Vista/Win7 Startup Repair feature).

In Windows 7 you can make a Startup Repair disk by going to Start....All Programs...Maintenance...Create a System Repair Disc - with Windows Vista you'll have to use your installation disk or the "Repair your computer" option at the top of the Safe Mode menu .

Then, here's the procedure:
- Go to Start and type in "verifier" (without the quotes) and press Enter
- Select "Create custom settings (for code developers)" and click "Next"
- Select "Select individual settings from a full list" and click "Next"
- Select everything EXCEPT FOR "Low Resource Simulation" and click "Next"
- Select "Select driver names from a list" and click "Next"
Then select all drivers NOT provided by Microsoft and click "Next"
- Select "Finish" on the next page.

Reboot the system and wait for it to crash to the Blue Screen. Continue to use your system normally, and if you know what causes the crash, do that repeatedly. The objective here is to get the system to crash because Driver Verifier is stressing the drivers out. If it doesn't crash for you, then let it run for at least 36 hours of continuous operation (an estimate on my part).

If you can't get into Windows because it crashes too soon, try it in Safe Mode.
If you can't get into Safe Mode, try using System Restore from your installation DVD to set the system back to the previous restore point that you created.

C9 Netduino Shield Series - Using Arduino Shields with a Netduino - Part II

In our previous article, we examined what an Arduino shield is, how to build a simple custom shield and discussed how to quickly identify shields that are good candidates for a Netduino adaptation versus shields that may not be.
In this article, we’ll take a popular Arduino Logger Shield produced by Adafruit and we’ll interface it with a Netduino / Plus microcontroller

The Arduino Logger Shield is an excellent one to start with because it offers immediate benefits to a Netduino / Plus user:

Time-keepingSD card storageTwo user-controllable LEDsA small prototyping areaAn onboard 3.3v voltage regulator for clean analog readings and power decoupling
In our C# data logging application, we'll interact with the time keeper, the SD card storage and its 'card detect' pin, the two LEDs as well as a temperature sensor (not included with the shield).
Before diving into the details associated with the hardware, you may want to take a look at the C# objects representing the hardware:

public static readonly string SdMountPoint = "SD";public static OutputPort LedRed = new OutputPort(Pins.GPIO_PIN_D0, false);public static OutputPort LedGreen = new OutputPort(Pins.GPIO_PIN_D1, false);public static InputPort CardDetect = new InputPort(Pins.GPIO_PIN_D3, true, Port.ResistorMode.PullUp);public static readonly Cpu.Pin ThermoCoupleChipSelect = Pins.GPIO_PIN_D2;public static DS1307 Clock;public static Max6675 ThermoCouple;and their initialization:

public static void InitializePeripherals() { LedGreen.Write(true); Clock = new DS1307(); ThermoCouple = new Max6675(); InitializeStorage(true); InitializeClock(new DateTime(2012, 06, 14, 17, 00, 00)); ThermoCouple.Initialize(ThermoCoupleChipSelect); TemperatureSampler = new Timer(new TimerCallback(LogTemperature), null, 250, TemperatureLoggerPeriod); LedGreen.Write(false);}The SD card, represented by the SdMountPoint string, communicates with the application over SPI. The presence of the SD card in the reader is determined through the CardDetect input pin.
The LEDs are simple outputs that we'll turn ON / OFF as the peripherals gets initialized and file I/Os take place with the SD card.
The clock communicates with the application over the I2C protocol. The clock's most important functions are accessed through the Set() and Get() methods respectively used to set the time once and to get updated time stamps afterward.
The thermocouple communicates over SPI with the application. It exposes a Read() method which caches a raw temperature sample accessed through the Celsius and Fahrenheit properties.
Note: the Netduino Plus already features a built-in microSD card reader, in which case, having another one on the shield is not really needed. Except for this hardware difference, everything else discussed within this article applies equally to the regular Netduino and the Netduino Plus.
Interfacing with the Arduino Logger shield’s hardware

Adafruit is pretty good about making usable products and generally provides Arduino libraries to use with their hardware. Indeed, the Arduino Logger Shield is well documented and comes with two C++ libraries: SD which implements a FAT file system and supporting low-level SD card I/O functions. RTCLib which wraps the I2C interface required to communicate with the DS1307 real time clock.
The SD Card Interface

Let’s deal with the SD card reader and the file system first: a quick review of SD.h reveals two C++ classes:

class File : public Stream {} exposing standard read, write, seek, flush file access functions.class SDClass {} exposing storage management such as file and directory operations.
This is good news because the .NET Micro Framework on the Netduino already supports file streams and directory management through the use of the .NET MF System.IO assembly. This assembly comes with the .NET MF SDK port to the Netduino.

By the same token, interfacing with an SD card is provided by an assembly built by Secret Labs named SecretLabs.NETMF.IO which comes with the Netduino SDK.

SecretLabs.NETMF.IO provides two functions for 'mounting' and 'un-mounting' an SD card device and the associated FAT file system so that it can be made usable by the .NET MF through assemblies such as System.IO.
It's important to note that the SecretLabs.NETMF.IO assembly must not be deployed with an application targeting the Netduino Plus: on boot, the .NET Micro Framework implementation specific to the Netduino Plus automatically detects and mounts the SD card if one is present in its microSD card reader. This functionality is redundant with the MountSD / Unmount functions provided by the SecretLabs.NETMF.IO assembly which is only needed on Netduino SKUs without a built-in SD card reader.
How does the .NET MF interact with the SD card through the shield?

At this point, it's a good time to review the Arduino Logger Shield's pin-out and the shield's schematics:

As we know from our previous article, pins D10-D13 map to the SPI interface and pins A4-A5 map to the I2C interface of the Netduino. On the shield's schematics, the SPI interface leads us to the SD & MMC section of the diagram, connected through a 74HC125N logic-level shifter chip indicated as IC3A-D.
The role of the logic-level shifter is to ensure that logic voltages supplied to the SD card do not exceed 3.3v, even if they come from a microcontroller using 5v logic levels, such as the Arduino. When using an SD card with a Netduino, a level-shifter is not required since all logic levels run at 3.3v on the AT91SAM7x chip but it doesn't interfere with any I/O operations either when the voltage is already 3.3v.

The SD card reader in itself is just a passive connector, giving access to the controller built into the SD card. It also provides a mechanical means (i.e. switches) of detecting the presence of a card in the reader (see JP14 pin 1) as well as detecting if the card is write-protected (see JP14 pin 2). We'll make use of the card detection pin in the sample temperature logging application later on.
For background on how SD cards work, the following application note "Secure Digital Card Interface for the MSP430" is excellent and much easier to digest than the extensive 'simplified' SD card protocol specifications provided on the SD Card Association site. The following table taken from the "Secure Digital Card Interface for the MSP430" shows the pin out of an SD card and the corresponding SPI connections:

An SD standard-compliant card can support 3 distinct access modes, each one providing different performance characteristics:

SD 1-bit protocol: synchronous serial protocol with one data line, one clock line and one line for commands. The full SD card protocol command set is supported in 1-bit mode.SD 4-bit protocol: this mode is nearly identical to the SD 1-bit mode, except that the data is multiplexed over 4 data lines, yielding up to 4x the performance of SD 1-bit mode. The full SD card protocol command set is supported in 4-bit mode.SPI mode: provide a standard SPI bus interface (/SS, MOSI, MISO, SCK). In SPI mode, the SD card only supports a subset of the full SD card protocol but it is sufficient for implementing a fully functional storage mechanism with a file system.
As you might have guessed, the .NET Micro Framework on the Netduino makes use of the SD card in SPI mode (see DeviceCodeDriversBlockStorageSDSD_BL_driver.cpp). The block-oriented SD card I/Os are abstracted thanks to the FAT file system provided by the System.IO assembly (see DeviceCodeDriversFSFATFAT_FileHandle.cpp and FAT_LogicDisk.cpp).
The role of the SecretLabs.NETMF.IO assembly on the Netduino (or its built-in equivalent on the Netduino Plus) is to initialize the SD card in SPI mode during the 'mounting' process by sending the proper set of commands as defined in the SD Card protocol.
In the C# code of the AdafruitNetduinoLogger sample application, which we will review as a whole later on in the code walkthrough section, the following function takes care of the SD card initialization:

public static void InitializeStorage(bool mount) { try { if (mount == true) { StorageDevice.MountSD(SdMountPoint, SPI.SPI_module.SPI1, Pins.GPIO_PIN_D10); } else { StorageDevice.Unmount(SdMountPoint); } } catch (Exception e) { LogLine("InitializeStorage: " + e.Message); SignalCriticalError(); }}Once mounted, the file system is accessed through System.IO calls such as this:

using (var tempLogFile = new StreamWriter(filename, true)) { tempLogFile.WriteLine(latestRecord); tempLogFile.Flush();}Using the StreamWriter class in this context made sense for writing strings as used in the sample application:

However, there are many other file I/O classes available in System.IO that may be better suited depending on the scenario.
The DS1307 real time clock

Our next step is to examine the interface with the DS1307 real time clock (RTC). We'll start by extracting the most important parts of the DS1307 datasheet and reviewing how it's wired up on the shield's schematics.
DS1307 features

Real-Time Clock (RTC) Counts Seconds, Minutes, Hours, Date of the Month, Month, Day of the week, and Year with Leap-Year Compensation Valid Up to 210056-Byte, Battery-Backed, General-Purpose RAM with Unlimited WritesI2C Serial InterfaceProgrammable Square-Wave Output SignalAutomatic Power-Fail Detect and Switch CircuitryConsumes Less than 500nA in Battery-Backup Mode with Oscillator Running
Note: If you need to measure the time something takes in milliseconds, a time granularity that the DS1307 clock does not provide, you can use the Utility functions provided by the .NET Micro Framework like this:

var tickStart = Utility.GetMachineTime().Ticks;// var elapsedMs = (int)((Utility.GetMachineTime().Ticks - tickStart) / TimeSpan.TicksPerMillisecond);This timing method relies on the CPU's internal tick counter and is not 100% accurate due to the overhead of the .NET MF itself but may be sufficient in most scenarios. In addition, the internal tick counter rolls over every so often, something that should be taken into account in production code.
DS1307 register map

Accessing the clock's features comes down reading and writing to and from a set of registers as described on page 8 of the datasheet.

Page 9 of the DS1307 datasheet provides more details about the square wave generation function of the clock, which we will not be using here. The generated square wave signal is available on the shield through connector JP14 on pin 3 as you can see on the schematics below and can be used to provide a slow but reliable external clock signal to another device such as a microcontroller.

DS1307 I2C bus address

The final piece of the puzzle needed before we can use the DS1307 is the device's address on the I2C data bus and its maximum speed (specified at 100 KHz on page 10 of the datasheet). The device address is revealed on page 12 as being 1101000 binary (0x68) along with the two operations modes (Slave Receiver and Slave Transmitter) of the clock. The 8th bit of the address is used by the protocol to indicate whether a 'read' or a 'write' operation is requested.
Note: I2C devices sometime make use of 10-bit addresses. If you aren't familiar with the I2C data bus, you should read the section of the datasheet starting on page 10 which provides a good foundation for understanding how I2C generally works.
It can be summarized as follows:

I2C is a 2-wire serial protocol with one bidirectional data line referred to as SDA and one clock line, referred to as SCL.The I2C bus is an open-drain bus (i.e. devices pull the bus low to create a '0' and let go of the bus to create a '1'). To achieve this, I2C requires a pull-up resistor on the SCL and SDA lines between 1.8K ohms and 10K ohms. I2C devices do not need to provide pull-ups themselves if the bus already has them.The I2C master (i.e. the Netduino microcontroller) always provides the clock signal, generally between 100 KHz (or lower) for standard speed devices or 400 KHz for high-speed devices. There's also a 'Fast Mode Plus' allowing for speeds up to 1MHz on devices supporting it. There can be more than one master on the bus even though this is uncommon.An I2C device can have a 7-bit or 10-bit address, allowing for multiple I2C devices to be used on the same bus.I2C read and write operations are transactions initiated by the I2C master targeting a specific device by address. Some I2C slave devices can notify their master that they need to communicate using a bus interrupt.A transaction is framed by 'start' and 'stop signals, with each byte transferred requiring an acknowledgement signal.

At this point, we have all the pieces needed to communicate with the RTC using I2C transactions.
Using the I2C protocol with the .NET Micro Framework

On the Arduino, the library used with the shield to communicate with the DS1307 is a C++ library called RTClib. The header of the library declares a DateTime class, similar in functionality to the standard .NET Micro Framework DateTime class provided by System in the mscorlib assembly. We'll use the standard .NET MF data type to work with the clock instead.
The next declared class is RTC_DS1307 which implements the driver for the DS1307 chip using the Wire library to wrap the I2C protocol. The .NET Micro Framework also supports the I2C protocol through to the Microsoft.SPOT.Hardware assembly. Here again, we'll use the .NET MF implementation of I2C in order to communicate with the clock. However, the I2C transaction patterns implemented by the C++ driver can still provide a useful guide for writing a C# driver for the DS1307 when you don't know where to begin just based on the datasheet.
For instance, the following functions taken from RTClib.cpp shows the call sequence used with the Wiring API to address the date and time registers of the clock:

int i = 0; //The new wire library needs to take an int when you are sending for the zero registervoid RTC_DS1307::adjust(const DateTime& dt) { Wire.beginTransmission(DS1307_ADDRESS); Wire.write(i); Wire.write(bin2bcd(dt.second())); Wire.write(bin2bcd(dt.minute())); Wire.write(bin2bcd(dt.hour())); Wire.write(bin2bcd(0)); Wire.write(bin2bcd(dt.day())); Wire.write(bin2bcd(dt.month())); Wire.write(bin2bcd(dt.year() - 2000)); Wire.write(i); Wire.endTransmission();}DateTime RTC_DS1307::now() { Wire.beginTransmission(DS1307_ADDRESS); Wire.write(i); Wire.endTransmission(); Wire.requestFrom(DS1307_ADDRESS, 7); uint8_t ss = bcd2bin(Wire.read() & 0x7F); uint8_t mm = bcd2bin(Wire.read()); uint8_t hh = bcd2bin(Wire.read()); Wire.read(); uint8_t d = bcd2bin(Wire.read()); uint8_t m = bcd2bin(Wire.read()); uint16_t y = bcd2bin(Wire.read()) + 2000; return DateTime (y, m, d, hh, mm, ss);}The final class is RTC_Millis, a utility class converting time data into milliseconds, effectively providing the functionality of the DateTime.Millisecond property on the .NET MF.
Having assessed that the functionality of RTClib only handles date and time registers and knowing the role of the other clock registers, we can proceed with implementing a complete DS1307 C# driver, supporting the square wave and RAM functions, using the native I2C protocol support of the .NET Micro Framework.
The driver starts by defining key constants matching the clock registers according to the datasheet:

[Flags]// Defines the frequency of the signal on the SQW interrupt pin on the clock when enabledpublic enum SQWFreq { SQW_1Hz, SQW_4kHz, SQW_8kHz, SQW_32kHz, SQW_OFF };[Flags]// Defines the logic level on the SQW pin when the frequency is disabledpublic enum SQWDisabledOutputControl { Zero, One };// Real time clock I2C addresspublic const int DS1307_I2C_ADDRESS = 0x68;// Start / End addresses of the date/time registerspublic const byte DS1307_RTC_START_ADDRESS = 0x00;public const byte DS1307_RTC_END_ADDRESS = 0x06;// Start / End addresses of the user RAM registerspublic const byte DS1307_RAM_START_ADDRESS = 0x08;public const byte DS1307_RAM_END_ADDRESS = 0x3f;// Square wave frequency generator register addresspublic const byte DS1307_SQUARE_WAVE_CTRL_REGISTER_ADDRESS = 0x07;// Start / End addresses of the user RAM registerspublic const byte DS1307_RAM_START_ADDRESS = 0x08;public const byte DS1307_RAM_END_ADDRESS = 0x3f;// Total size of the user RAM blockpublic const byte DS1307_RAM_SIZE = 56;Next the driver defines an I2C device object representing the clock:

// Instance of the I2C clockprotected I2CDevice Clock;In the class constructor, the I2C clock device is initialized, specifying its address and speed in KHz:

public DS1307(int timeoutMs = 30, int clockRateKHz = 50) { TimeOutMs = timeoutMs; ClockRateKHz = clockRateKHz; Clock = new I2CDevice(new I2CDevice.Configuration(DS1307_I2C_ADDRESS, ClockRateKHz));}The driver retrieves the date and time from the clock through a Get function returning a DateTime object.

public DateTime Get() { byte[] clockData = new byte [7]; // Read time registers (7 bytes from DS1307_RTC_START_ADDRESS) var transaction = new I2CDevice.I2CTransaction[] { I2CDevice.CreateWriteTransaction(new byte[] {DS1307_RTC_START_ADDRESS}), I2CDevice.CreateReadTransaction(clockData) }; if (Clock.Execute(transaction, TimeOutMs) == 0) { throw new Exception("I2C transaction failed"); } return new DateTime( BcdToDec(clockData[6]) + 2000, // year BcdToDec(clockData[5]), // month BcdToDec(clockData[4]), // day BcdToDec(clockData[2] & 0x3f), // hours over 24 hours BcdToDec(clockData[1]), // minutes BcdToDec(clockData[0] & 0x7f) // seconds );}Let's break it down:

A 7-byte array is allocated which will receive the raw date and time data registers, starting at address DS1307_RTC_START_ADDRESS (0x00) and ending at DS1307_RTC_END_ADDRESS (0x06).An I2C transaction object is allocated, comprising two parameters:
A 'write' transaction object telling the DS1307 device which register address to start reading data from. In this case, this is DS1307_RTC_START_ADDRESS (0x00), the very first time-keeping register.A 'read' transaction object specifying where the clock's time-keeping data registers will be stored, implicitly defining the total number of bytes to be read and acknowledged.
Clock.Execute is the function calling into the .NET MF I2C interface to run the prepared transactions. The second parameter specifies a time out value expressed in milliseconds before the transaction fails, resulting in a generic exception being thrown.When the transactions succeed, a DateTime object is instantiated with the 7 time-keeping registers returned by the 'read' transaction. Each register is converted from Binary Coded Decimal form to decimal form using a custom utility function:

protected int BcdToDec(int val) { return ((val / 16 * 10) + (val % 16));}Conversely, the driver provides a Set function to update the clock's time-keeping registers. Because the driver doesn't expect a response from the DS1307 in this scenario, the I2C transaction is write-only. The fields of the DateTime parameter corresponding to the time -keeping registers are converted from decimal form to BCD form and stuffed in a 7-byte array before executing the transaction.

public void Set(DateTime dt) { var transaction = new I2CDevice.I2CWriteTransaction[] { I2CDevice.CreateWriteTransaction(new byte[] { DS1307_RTC_START_ADDRESS, DecToBcd(dt.Second), DecToBcd(dt.Minute), DecToBcd(dt.Hour), DecToBcd((int)dt.DayOfWeek), DecToBcd(dt.Day), DecToBcd(dt.Month), DecToBcd(dt.Year - 2000)} ) }; if (Clock.Execute(transaction, TimeOutMs) == 0) { throw new Exception("I2C write transaction failed"); }}The rest of the functions provided by the C# driver implement the other DS1307 features, such as

SetSquareWaveHaltSetRAMGetRAMThe [] operator used to access a specific clock registerWriteRegister
In all case, these functions are wrappers around the 'read' and 'write' I2C transaction model, involving the appropriate DS1307 registers as defined in the datasheet.
Using the Adafruit Arduino Logger Shield as a temperature logger

To illustrate the points discussed so far, we'll use the Adafruit Arduino Logger shield with a Netduino and a MAX6675 thermocouple amplifier for the purpose of recording ambient temperature samples at ten second intervals.
Each record includes a date, a time and the temperature expressed in Celsius and Fahrenheit. The records are written to daily files in CSV format for easy export to a spreadsheet, making the application easily adaptable for acquiring data from different sensors:
Date Time Celsius Fahrenheit 6/14/2012 15:35:00:05 18.75 65.75 6/14/2012 15:35:10:05 18 64.4 6/14/2012 15:35:20:05 18.5 65.29 6/14/2012 15:35:30:05 18 64.4 6/14/2012 15:35:40:05 18 64.4 6/14/2012 15:35:50:05 18.75 65.75
Device Connections

Instead of permanently soldering the temperature sensor to the prototyping area of the shield, female / female jumper wires were used to make connections between the shield's own pin headers as well as the thermocouple's male pin headers.

The following table enumerates these connections:
Shield Pin Destination Pin 3v (Power header) Max6675 VCC GND (Power or Digital I/O header) Max6675 GND D13 (Digital I/O header, SPI CLK) Max6675 CLK (SPI CLK) D12 (Digital I/O header, SPI MISO) Max6675 DO (SPI MISO) D2 (Digital I/O header, used as SPI /SS) Max6675 CS (SPI /SS) L1 (LEDS header) D1 (Digital I/O header) L2 (LEDS header) D0 (Digital I/O header) CD (SD card detect) D3 (Digital I/O header) Reading temperature using an Adafruit Max6675 Thermocouple amplifier breakout board

The Max6675 thermocouple amplifier chip on the breakout board is a read-only SPI device. When the CS pin (SPI /SS) of the device is asserted with a 1ms delay before reading, the chip returns a 12-bit value on its DO pin (SPI MISO) corresponding to the temperature measured by a K-type Thermocouple wire. The resulting C# driver for the Max6675 is short:

using System;using Microsoft.SPOT;using Microsoft.SPOT.Hardware;namespace Maxim.Temperature{ public class Max6675 : IDisposable { protected SPI Spi; public void Initialize(Cpu.Pin chipSelect) { Spi = new SPI( new SPI.Configuration( chipSelect, false, 1, 0, false, true, 2000, SPI.SPI_module.SPI1) ); } public double Celsius { get { return RawSensorValue * 0.25; } } public double Farenheit { get { return ((Celsius * 9.0) / 5.0) + 32; } } protected UInt16 RawSensorValue; protected byte[] ReadBuffer = new byte[2]; protected byte[] WriteBuffer = new byte[2]; public void Read() { RawSensorValue = 0; Spi.WriteRead(WriteBuffer, ReadBuffer); RawSensorValue |= ReadBuffer[0]; RawSensorValue = 3; } public void Dispose() { Spi.Dispose(); } ~Max6675() { Dispose(); } }}Temperature logger application walkthrough

Let's review the key parts of the temperature logging application code and how it interacts with the devices connected to the shield.

public static readonly string SdMountPoint = "SD";Defines an arbitrary string used to refer to the SD card when using StorageDevice.MountSD and StorageDevice.Unmount functions.

public static readonly int TemperatureLoggerPeriod = 10 * 1000; // millisecondsDefines the interval between temperature samples.

public static OutputPort LedRed = new OutputPort(Pins.GPIO_PIN_D0, false);Defines an output connected to pin D0 controlling the state of the red LED on the shield.

public static OutputPort LedGreen = new OutputPort(Pins.GPIO_PIN_D1, false);Defines an output connected to pin D1 controlling the state of the green LED on the shield.

public static InputPort CardDetect = new InputPort( Pins.GPIO_PIN_D3, true, Port.ResistorMode.PullUp);Defines an input connected to pin D3 used to determine if an SD card is inserted in the SD socket.

public static ManualResetEvent ResetPeripherals = new ManualResetEvent(false);Defines a manual reset event object that will be used in the main application loop to determine when to re-initialize the shield's peripherals.

public static readonly Cpu.Pin ThermoCoupleChipSelect = Pins.GPIO_PIN_D2;Defines D2 as the SPI chip select pin connected to the Max6675 Thermocouple board.

public static Timer TemperatureSampler;Defines an instance of a timer object which will drive temperature sampling.

public static DS1307 Clock;Defines an instance of the DS1307 real time clock driver.

public static Max6675 ThermoCouple;Defines an instance of the Max6675 thermocouple driver.

public static ArrayList Buffer = new ArrayList();Defines an array list instance which will be used as a temporary buffer when the SD card is removed from its socket.
The application's main loop is only concerned about the state of the peripherals:

It initializes the devices connected to the shieldIt waits indefinitely for a signal indicating that a hardware error occurredIt disposes of the current device instances and starts over

public static void Main() { while (true) { InitializePeripherals(); ResetPeripherals.WaitOne(); ResetPeripherals.Reset(); DeInitializePeripherals(); }}InitializePeripherals indicates that it is working by controlling the green LED on the shield. Its role is focused on object creation and initialization.

public static void InitializePeripherals() { LedGreen.Write(true); Clock = new DS1307(); ThermoCouple = new Max6675(); InitializeStorage(true); InitializeClock(new DateTime(2012, 06, 14, 17, 00, 00)); ThermoCouple.Initialize(ThermoCoupleChipSelect); TemperatureSampler = new Timer( new TimerCallback(LogTemperature), null, 250, TemperatureLoggerPeriod); LedGreen.Write(false);}If the initialization of a peripheral fails, the shield will quickly blink its LEDs, indefinitely:

public static void SignalCriticalError() { while (true) { LedRed.Write(true); LedGreen.Write(true); Thread.Sleep(100); LedRed.Write(false); LedGreen.Write(false); Thread.Sleep(100); }}The clock initialization function only sets the clock date and time when it is unable to find a file named 'clockSet.txt' on the SD card, ensuring that the initialization of the DS1307 only happens once in the InitializePeripherals function or until the file is deleted.

public static void InitializeClock(DateTime dateTime) { var clockSetIndicator = SdMountPoint + @"clockSet.txt"; try { if (File.Exists(clockSetIndicator) == false) { Clock.Set(dateTime); Clock.Halt(false); File.Create(clockSetIndicator); } } catch (Exception e) { LogLine("InitializeClock: " + e.Message); SignalCriticalError(); }}The LogTemperature function is the callback invoked by the Timer object every 10 seconds. The function indicates that it is working by turning the red LED on the shield ON and OFF.

public static void LogTemperature(object obj) { LedRed.Write(true);}The function reads the current time from the clock with Clock.Get() and takes a temperature sample with ThermoCouple.Read().

var tickStart = Utility.GetMachineTime().Ticks;var now = Clock.Get();ThermoCouple.Read();var elapsedMs = (int)((Utility.GetMachineTime().Ticks - tickStart) / TimeSpan.TicksPerMillisecond);Then, it concatenates a string containing the date, time and temperature expressed in Celsius and Fahrenheit, with each field separated by commas.

var date = AddZeroPrefix(now.Year) + "/" + AddZeroPrefix(now.Month) + "/" + AddZeroPrefix(now.Day);var time = AddZeroPrefix(now.Hour) + ":" + AddZeroPrefix(now.Minute) + ":" + AddZeroPrefix(now.Second) + ":" + AddZeroPrefix(elapsedMs);var celsius = Shorten(ThermoCouple.Celsius.ToString());var farenheit = Shorten(ThermoCouple.Farenheit.ToString());var latestRecord = date + "," + time + "," + celsius + "," + farenheit;To make the data more manageable, daily temperature files are created as needed, each one starting with the column headers expected for parsing the values in CSV format.

var filename = SdMountPoint + BuildTemperatureLogFilename(now);if (File.Exists(filename) == false) { using (var tempLogFile = new StreamWriter(filename, true)) { tempLogFile.WriteLine("date,time,celsius,fahrenheit"); }}The temperature sampling application lets the user remove the SD card from its socket so that the CSV files can be moved over to a PC for processing without losing data in the meantime. In order to do this, the application checks the state of the 'Card Detect' pin before attempting file system I/Os.
When the SD card is not present, the latest temperature record is preserved in the array list buffer until the SD card is put back in its socket. The array list data is then flushed to storage.

if (CardDetect.Read() == false) { using (var tempLogFile = new StreamWriter(filename, true)) { if (Buffer.Count != 0) { foreach (var bufferedLine in Buffer) { tempLogFile.WriteLine(bufferedLine); } Buffer.Clear(); } tempLogFile.WriteLine(latestRecord); tempLogFile.Flush(); }} else { LogLine("No card in reader. Buffering record."); Buffer.Add(latestRecord);}The temperature logging function expects to run out of memory if the array list buffer grows too large, in which case, all the records get purged. Other memory management strategies could be used to mitigate data loss in this case. However, this depends entirely on the requirements of the data logging application and is out of scope for this discussion.

catch (OutOfMemoryException e) { LogLine("Memory full. Clearing buffer."); Buffer.Clear();}The temperature logging function also handles file system exceptions caused by the removal of the SD card and reacts by signaling the ResetPeripherals event. In turn, this lets the application's main loop know that the peripherals, and most specifically the SD card, need to be recycled and initialized again in order to recover from the error.

catch (IOException e) { LogLine("IO error. Resetting peripherals."); Buffer.Add(latestRecord); ResetPeripherals.Set();}Conclusion

In this article, we took a shield designed for the Arduino and learned how to critically review the Arduino code libraries supporting it, drawing parallels with features offered by the .NET Micro Framework. This process allowed us to identify areas in the Arduino code which were not necessary to port over to C# such as SD card and file system handlers. It also allowed us to see the similarities in the way the Arduino and the Netduino handle I2C communications.
Most importantly, we also learned the importance of reviewing a device's schematics and component datasheets to ensure that important features have not been omitted and potentially incorrectly implemented when considering using an unknown library: in the case of RTClib, we saw that the implementation was limited to the basic date and time functions of the DS1307, leaving out other useful features such as the clock's built-in RAM and the square wave generation functions.
In our next article, we'll take on a much more complex shield and we will learn how to analyze Arduino libraries in depth before porting them from C/C++ to C#.

Fabien is the Chief Hacker and co-founder of Nwazet, a start-up company located in Redmond WA, specializing in Open Source software and embedded hardware design. Fabien's passion for technology started 30 years ago, creating video games for fun and for profit. He went on working on mainframes, industrial manufacturing systems, mobile and web applications. Before Nwazet, Fabien worked at MSFT for eight years in Windows Core Security, Windows Core Networking and Xbox. During downtime, Fabien enjoys shooting zombies and watching sci-fi.


Hello, I am new to this forum. I came here because I have spent over six hours googling for solutions to my problem, and no solutions have yet been found.

I have Windows 7 Ultimate installed and need help fixing a problem. I hope my description of the problem is clear and understandable and does not get anyone confused. I will also attach a screenshot at the end of this post. The taskbar on the bottom of my screen keeps randomly displaying textbox tooltips which remain forcibly visible for 5-10 seconds. It happens even when my cursor is nowhere near the taskbar, sometimes when I'm not even touching the touchpad. I have a very small screen resolution on my laptop so these random pop-ups appearing and sticking to the screen are incredibly distracting.

I would like to know how to disable taskbar tooltips completely. I am not having any issues with thumbnails or other tooltips, and I have already disabled explorer tooltips in folder options.

The tooltips I need to disable are the text boxes that pop up when the mouse cursor is placed over application buttons on the taskbar (they appear even when I don't place the cursor near the taskbar) which describe what the application is. This feature is extremely obtrusive, especially on a smaller screen. I know enough about computers to identify a program based upon the icon in the taskbar, I don't need and don't want invasive yellow text boxes popping up all over the place distracting me from my work and telling me what I already know.

I have searched google and microsoft's website, but no solutions were provided. I have already tried every search query possible ("disable taskbar tooltips", "remove taskbar tooltips", etc.) and looked through every result I could, to no avail. I tried editing my registry several times (see list below) but nothing worked. The only halfway solution I could find was a program called taskbar eliminator which completely hides the taskbar, thus preventing the dreadful text boxes from spamming up my screen. The problem with this is I like the taskbar, and it is very useful. The tooltips which display for running applications however, are a severe hindrance.

I would really appreciate a solution or fix which allows me to disable these taskbar textbox tooltips. I enjoy using windows 7 except when it comes to those specific tooltips, and I am sorry but if you do not have a solution for me I will be forced to uninstall microsoft windows from my laptop in place of an O.S. that does allow for disabling of taskbar tooltips.

Taskbar tooltips - major annoyance
This thread identifies the problem, but the only solutions are for removing thumbnails. I have clearly stated that thumbnails are not the problem here, so I hope people are not going to misunderstand my question and provide solutions to problems I'm not having (which is 90% of what I saw on google).

Things I tried that do NOT work:
- Registry Edits
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced: EnableBalloonTips to 0, ExtendedUIHoverTime to 60000, ShowInfoTip to 0
HKEY_CURRENT_USERControl PanelMouse: MouseHoverTime to 4000
- TweakUI (installed/ran using XP compatibility mode)
- Ultimate Windows Tweaker

Possible solutions I don't know enough about to test:
- Create a replacement shell for explorer.exe
- Resource hacker

Please help! If you don't know a solution but know of an operating system that allows disabling of taskbar tooltips please tell me. I am not very familiar with Linux (I read somewhere that Ubuntu has an option to remove them), but I will literally do ANYTHING to get rid of these, even if it requires reformatting my PC (but only as a last resort).
- John

A lot of people here asking what is the best way to secure ones windows PC, what is the best antivirus out there etc. There is no best for a single person, since we are all different and so are our needs. There have been many threads just showing you different security products, but i haven't seen any of them explaining why or which one should you pick and use.
Software provided here is all freeware

User Levels

There are different kind of users out there, so the security solution varies to each and every one of them. I'll categorise and make 3 groups of users and then explain the security solutions under every one of them. Here i am describing application layer security. This means how to secure your windows PC with applications. There are of course numerous other ways to secure your windows by configuring it with Group Policy options for example, but this here is an application layer security.

Nr 1: Regular User - Users who use their windows PC for activities such as using web browser, mail applications, listening to music, watching movies, etc.
Nr 2: Advanced User - Users who use their windows PC for activities like Regular User, but also using P2P software, installing various other software, tweaking windows etc.
Nr 3: Power User - Users who use their windows PC for activites like Regular User and Advanced User, but also using the PC for software development, deploying servers and all other things you can do with your windows PC.

Security Solutions

Security Software:
Antivirus - Microsoft Security Essentials or Avast
Anti-Malware - Malwarebytes

Regular Users are using minimal amount of applications in their everyday life, thus making the attack vector minimal as well (meaning, if you only turn your PC on and off, it is hard to infiltrate it, so if a person uses his/her PC only to listen music or watch movies then it's also hard to get anything malicious in the PC). So using a good antivirus software with default settings is good enough for them. (Very small changes to configuration might be needed)
Anti-Malware is needed to regularly scan system for potential threats antivirus might have missed.

Advanced User
Security Software:
Antivirus - Avast or Avira
Firewall - COMODO firewall
Anti-Malware - Malwarebytes
Software Startup Monitors - WinPatrol

Advanced Users know more about their PC's and thus using more applications, so the potential attack vector is bigger, especially using P2P software.
A good antivirus software is a must, Avast or Avira have good heuristics and work very well. The antivirus solution should be configured to more advanced levels as well.
A good firewall is needed to prevent intrusions or monitor incoming or outgoing internet activity for malicious software.
Anti-Malware is needed to regularly scan system for potential threats antivirus might have missed.
Software startup monitor is needed to see what applications are starting with windows and disabling some which are suspicious or troublesome.

Power Users
Security Software:
COMODO Internet Security Suit (Antivirus, Firewall, Defence+)
Software Startup Monitor - WinPatrol
Anti-Malware - Malwarebytes (is not important to have)

Power Users are doing a lot of things with their windows PC's so the attack vector is at it's highest. A normal antivirus wont help Power Users anymore since detections can be bypassed, something more advanced is needed. COMODO Internet Security Suit has it all.
COMODO Antivirus with heuristics - Antivirus alone does not really matter anymore, it is just here to make life a little easier. This antivirus comes with cloud based heuristics as well, offering 0-day exploits protection.
COMODO Firewall - An advanced firewall which can be configured to monitor all connections coming in or going out from your PC, see ports which are listening connections etc.
COMODO Defence+ - This is the key feature. It includes HIPS, Registry Protection, Memory Firewall, COMODO's Self-Defence, Sandboxing, Prevents Buffer Overflows and so much more.

A true Power User knows how applications behave whether it's known or unknown, now with Defence+ you can monitor these activities and to allow or disallow some or all of them. That leaves malware very little chance to start in your system. It is nearly impossible to bypass Defence+ as it works in deep kernel level.

Another great thing is COMODO Sandbox. All unknown software outside the Trusted Software list will get executed in sandbox (you can choose settings for your sandbox and how hardcore you want it to be). This means if you start or through some magical exploit a malicious software gets executed, like a RAT for example, then nothing happens. The RAT might reach a connection to the Client if you allow it (i don't know why you should) then nothing can be done in your system since the RAT is running in the sandbox, where everything is limited. After reboot, the file wont get started or will be deleted. No keylogging, screen viewing or anything else can be started. So simplifying even more, COMODO Sandbox breaks malware.

The Defence+ and all other COMODO parts are highly configurable, for example you can even add your own files under Defence+ which you want to protect, add your own protection to some registry or COM elements etc. There is a lot you can do with COMODO.

Some of you might think why not use Avira or any other AV with COMODO, but having COMODO's AV disabled or removed. Simple answer, as i said before, firstly AV's can be bypassed and secondly, this would eat up a lot of computer resources.
-Deja Vu

I'm naturally dissappointed that Windows 7 has several issues that no operating system should have. One of the first problems I had was Wordpad, Notepad Windows Explorer and Internet Explorer would get exe has stopped working messages. I found Kodak drivers on my system and deleted them. I still get these. I typed two full pages in notepad last night and went to save it, when the explorer dialog came up as to where to save it it said Notepad has stopped working and I lost everything I typed. No excuse for that. Every time I open a pdf in IE it says Internet Explorer has stopped working over and over. At least I have found two fixes for this. It still happens, but only once per document. I can click on save after the recovering tab message pops up and before the document does. I also got it to load the second time by turning off Windows Experience Indexing in group policies. If any one wants to know how, I read it in a forum, but I'll try to describe what I did. Are there any other advanced features I can turn off in Windows 7 Ultimate 32 that will reduce the number of exe has stopped working errors? I have updated everything and scan for viruses and malware regularly. So many people are having these problems (documented online) that I think it's nothing more or less than too much stuff in Windows 7 conflicting with itself. It would be nice to think that Microsoft will fix this one day, but I'm not holding my breath. paj692

I have broken many rules in terms of computing and will probably continue to do so. For example on Windows computers you are not supposed to remove Internet Explorer web browser.Because if you do,Windows could stop working,but I have removed Internet Explorer and this has not effected my computer at all.

A few months ago I wrote of how I successfully managed to uninstall Internet Explorer 8 from both my Windows 7 laptops. Now I have removed Windows Media player also from my laptops both Windows 7. Windows Media player like IE cannot be uninstalled in updates or programs menu as it is not listed there. And there is no way to change this,so that it shows in the uninstall a program menu. So,the only way to remove Windows Media player is like removing Internet Explorer browser,and that is to delete the file in programs on,C/drive.

But there is one problem,because the Windows Media player program file is owned by Trusted Installer,it won't let you delete it. Unless you take ownership of the file and change it to your computer user name. Or use a tool called UNLOCKER,which unlocks and removes any kind of file.

I have got nothing against Windows Media player but I already have VLC Media Player,Gom Media player and Miro video player,which I use to download my own videos from the web and put onto my other sites. So I don't need what would be 4 video players on my Netbook. And what is the point in keeping Windows Media player when I am not using it. Windows Media player is a good player and it is very user friendly.And there are some media players that I have tried,KM player and Songbird and Quick Time,which are terrible. But Windows Media player has never given me any trouble,but it is just that I have got VLC player. Which does everything that Windows Media does but has some additional features and plays videos in wide screen and high definition.

So this is how I uninstalled Windows Media player and replaced it with VLC player as my default program. For Windows XP and Windows Vista it is Windows Media player 11 and for Windows 7 it is Windows Media player 12.

First of all you have to edit the Windows Media player file in programs which is on C/Drive so that you can delete it. If you delete the file this is another way to remove the program from you computer.So you can either take ownership of the file and change the ownership from trusted Installer to your name.Or,like I did use a tool called Unlocker which I downloaded from the Internet,to unlock the file and it will then delete the file when you restart your computer. After you have restarted your computer,the Windows Media program file will be in the recycle bin,which you just empty. And that is all there is to it. Now go to turn off Windows features and un tick Windows Media player from the box. This will turn off the program and true, although now Windows Media player is off your computer. Windows update may try to install it back on during the updates,so turning it off prevents this. Then you have to restart your computer again and some times Windows puts the Windows Media file back on your computer after you have turned it off as it updates what you have done. But if this happens,just delete the file again and now that it has been turned off Windows update will not try to install it again.

Now the good thing about Windows Media player is, that it is based on what I have read,not so tied up with Windows as Internet Explorer is. So you can now go one step further like I did and delete the Windows Media player registry keys. But do not do this if you do not know what you are doing in case you delete the wrong key as there are several programs,listed as Windows Media in the registry. But they are not the player some are network files and Windows photo viewer which you don't want to touch.

I deleted both the Internet Explorer and Windows Media player registry keys because I did not want Windows to install updates for both IE or Windows Media player back on my computer. As installing the update some times puts the program file back on and then I have had to delete it again. Which I don't want to do.

But having said that, now that I have removed both the Internet Explorer files and Windows Media player files from my computer,these programs will never work again on my computer. Not even if I download them,I just get blank files. So be warned,this method will permanently remove the program and you will not be able to install it again as Windows will not let you do it.

Now Windows media player is off of my computer and VLC player has taken over as my default player. I have a webcam so VLC plays those videos I make and save with it, and it plays all of the audo files and voice messages from Google Talk, and of course,video files. In short VLC player does all that Windows Media player used to do, when I had it, only better. VLC player is also listed and set in the default programs menu.

I chose VLC player as the replacement for Windows Media because it is most compatible with Windows. But if you do not want VLC player you can choose another media placer to replace Windows Media player instead.

I have 2 laptops both Netbooks and I have uninstalled Windows Media player from both of them. On one laptop I have got VLC player only as my replacement for Windows Media. And on the other one I have Gom Media player only instead of VLC player as Windows Media players replacement.

So if you do not want to replace Windows Media player with VLC player,you can use Gom Media player instead.Gom player like VLC is another media player that plays well with Windows and will list and set as the deault program and do all that Windows Media player did,just like VLC player does.

But if you are going to remove Windows Media player from your computer,you MUST have another player,such as VLC player or Gom player or other installed or you will not be able to play video or audio files.

So it IS possible to completely uninstall Windows Media player and replace it with anther player of your choice. And both my computers now have better media players than what they had before. It can be done. Andrea Borman.

New desktop users can make plenty of mistakes (as can anyone). But knowing which mistakes to avoid, from the start, helps prevent a LOT of frustration. I’ve handled the topic of mistakes new Linux admins make, but never those of desktop users. Here are some of the most common Linux desktop mistakes I see new users make.

Note: This article is also available as a PDF download.

1: Assuming they are using Windows
Although this might seem way too obvious, it’s not. The average user has no idea there are even different operating systems to be had. In fact, most average users couldn’t discern Windows XP from Vista from 7 (unless they are certain Windows 7 was “their idea”). Because of this, new users might believe that everything works (or doesn’t work, as the case may be) as it does in Windows. Make your end users aware that they are using a different operating system — and that it works differently.

2: Trying to make exe files work
Unless you have done your homework and installed WINE, double-clicking those .exe files simply won’t do anything. And when that happens, your end users are going to be upset. I have seen many an end user download an app made for Windows assuming that it will work for Linux. Make it clear to users that Linux, like Windows, will only run applications made for that operating system. This, of course, is tossed out the window when WINE is involved. But new users won’t be using WINE anyway.

3: Choosing the wrong distribution
One of the biggest problems for users is choosing the wrong distribution. Imagine being a new user and selecting Gentoo or Slackware or Fedora! Yes those are all good distributions, but any of them would send a new user running away in fear. If you are in the initial stages of helping a new user out, do yourselves both a favor and choose the distribution carefully. Consider the user’s ability, needs, and hardware before you make that selection. Don’t just jump on board Ubuntu because everyone says you should. A lot of distributions out there are made specifically for new users. Give them all a close examination before making the choice.

4: Not finding software
Because so many new Linux users are migrating from Windows, they think software can be had from the same channels. Most of the time, this is not the case. The new user needs to become familiar with their package management tools right away - especially tools like Synaptic, Packagekit, and Ubuntu Software Center. Each of those tools is a mecca of software where users can most likely find all the applications they need.

5: Sending OpenOffice dobadwordents to Microsoft Office users in the default format
I see this so often. New Linux users are proud of the strides they have made but dumbfounded (and sometimes turned back to Windows) because the people they share files with can’t read their formats. Remember, Microsoft products are not good at getting along with other operating systems and other applications. Make sure your new users are saving in file formats that are readable by the Microsoft equivalents.

6: Avoiding the command line
I can’t, for the life of me, figure out why people completely avoid the command line as if it is the most complex tool there is. I know people who can work absolute magic with Photoshop but can’t seem to type a simple rm command at the command line. Why this is I will never know. New users shouldn’t shy away from the command line. Knowing the command line isn’t essential anymore, but it will make them more capable users.

7: Giving up too quickly
Here’s another issue I see all too often. After a few hours (or a couple of days) working with Linux, new users will give up for one reason or another. I understand giving up when they realize something simply doesn’t work (such as when they MUST use a proprietary application or file format). But seeing Linux not work under average demands is rare these days. If you see new Linux users getting frustrated, try to give them a little extra guidance. Sometimes getting over that initial hump is the biggest challenge they will face.

8: Thinking the Windows directory hierarchy translates to Linux
There is no C: in Linux. Nor do you use the “” character. Nor should you use spaces in filenames. These are common mistakes new users make. Trying to map out Windows to Linux, directory for directory, is impossible. You can get as far as C: = / and maybe Default User = ~/, but beyond that you’re out of luck. Make sure new users understand that everything starts at / and their most important directory is their home directory (aka ~/ aka /home/USERNAME/).

9: Skipping updates
I have been burned with Windows updates many times. Need I bother mentioning the update from Explorer 7 to Explorer 8? Very rarely has a Linux update fubar’d a system of mine. In fact, I can’t remember the last time it has. So I am always up to date on my systems… and with good reason. Those updates bring new security patches and features to software and should be applied. Having an installation with a security hole is not what your users need, especially on a machine that houses important information.

10: Logging in as root
I really shouldn’t have to say this. But just in case, be sure to tell your users DON’T LOG IN AS ROOT! But… just in case they must… DON’T LOG IN AS ROOT! Instead, have them open up a terminal window and either “su” to root or use “sudo”. And just in case you didn’t hear me the first time, DON’T LOG IN AS ROOT!

11: Losing windows to the pager
The pager is one of the handiest features of the Linux desktops. But over and over, I’ve seen that new users don’t quite understand what the pager is for and what it does. Because of this, they will “lose” their windows from the desktop. Where did it go? It was there a moment ago! I guess it crashed. No. More than likely, they moved it to another desktop. Another desktop? You see where this is going? Help the new user understand what the pager is and how useful it can be.

12: Ignoring security because it’s Linux
A big part of me still wants to boast and say, “In the 12 years I have used Linux, I have never once had a virus or worm or been hacked.” Although that is true, it doesn’t mean I should ignore security. I have witnessed the effects of a rootkit on a Linux machine. They aren’t pretty and data will be lost. Tell your users that they can’t ignore security just because they’re using Linux. Security is crucial, regardless of the OS.

Does anyone know if I can expect a repair installation according to KB
315341 to solve the problem I am having with Accessibility features (as I've
described below?) Using Add or Remove Programs in Control Panel doesn't
appear to be available to fix this component. Or, because of the hassle
factor, am I better off living with the problem?

No go. When I open Accessibility Options I am presented with just two tasks:
Adjust the contrast for text and colors on your screen (nothing happens when
I click on it) and Configure Windows to work for your vision, hearing and
mobility needs. The first time I clicked on the 2nd task I got an error
message which led me to Help where I found instructions to reinstall a
corrupted Accessibility Wizard, which I did and that's what I used to
specify turning them off after 5 minutes (they turn off after five minutes
whether or not the computer is idle, even while I'm keyboarding.) There are
no tabs to be found; that's why I believe the module is missing or

Any help for me?

"M. Rajesh" wrote in message

In Control panel, open accessibilty options and then turn off all the
see the tab for display and there is the option to turn off high contrast.

what hapens when u uncheck these check boxes.

M. Rajesh
.Net and Windows Shell MVP

"Jan Works" wrote:

After much trial and error I have figured out that the Accessibility
Options of Win XP Prof are corrupted and not working correctly. I don't
use them so I have no idea how they got "set" but they interfere with
IE, OE, Acrobat 5, and a few other programs look and work. I found
instructions for reinstalling the Accessibility Wizard which I can use
set an option that they "turn off" or time out after the computer has
idle for 5 minutes, but I am not able to "Adjust the contrast for text
colors on your screen" Nothing happens when I click on that. ....
What I would really like to do is disable them completely so they don't
launch and I don't have to wait 5 minutes for everything to return to
"normal." Anyone have any clues how to do that without having to do a
installation of the OS?

The store may be corrupt. Type regedit in Start Run and delete all these =
keys. Then read the last section carefully (Apply to All).

Delete these keys or values from the registry. This will reset many =
things like saved folder settings.
Type Regedit in Start - Run
Click Start - Turn Off Computer (or maybe Shutdown) - Ctrl + Alt + Shift =
+ click Cancel (or Close) (your Desktop and Start Menu now disappear). =
This is a clean shutdown unlike using Task Manager.

In Regedit navigate to each of these keys and delete them
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre ntVersionExplorer and =
delete the value

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre ntVersionExplorerCabi=
netState and delete the value

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre ntVersionExplorerStre=
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre ntVersionExplorerStre=
amsMRU (may not exist)
HKEY_CURRENT_USERSoftwareMicrosoftWindowsShell BagMRU
HKEY_CURRENT_USERSoftwareMicrosoftWindowsShell Bags
HKEY_CURRENT_USERSoftwareMicrosoftWindowsShell NoRoamBagMRU
HKEY_CURRENT_USERSoftwareMicrosoftWindowsShell NoRoamBags
[the above one is what reset deletes, 90% of the time it is sufficient =
but 10% of the time the BagMRU needs to be deleted too. If you know what =
cross linked files are the same thing is happening here - the BagMRU =
point to the wrong Bag or serveral BagMRU point to the same bag]

Then in Task Manager, File - Run type explorer. (Start menu and Desktop =
come back).

You then need to reconfigure explorer and the desktop.

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D

Understanding Saved Views and Browsing Folders
In Windows 2000 Professional, the view you use is not always permanently =
saved in Windows Explorer. You can control whether the views you use are =
saved permanently or temporarily by using the Remember each folder's =
view settings check box on the View tab of the Folder Options dialog box =
(see figure 9.3).=20

By default the Remember each folder's view settings option is enabled. =
When you choose to leave this setting enabled, the following happens:=20

a.. The changes you make to a folder's view is automatically saved =
when you close the folder.=20
b.. The view you use to view one folder is not applied to other =
c.. When you open a folder, it opens in the view you used when you =
last viewed it.=20
When you clear the check box for Remember each folder's view settings, =
the following happens:=20

a.. When you start Windows Explorer, the first folder you view =
displays in the folder's saved view. Windows Explorer holds that view in =
temporary memory and applies it to all the folders that you visit while =
Windows Explorer remains open unless you manually alter the view.=20
b.. As you browse to other folders (after the initial folder is =
opened), the saved view for each folder is ignored, and when you quit =
Windows Explorer, the folder view that you have been using to view =
multiple folders is deleted from temporary memory.=20
c.. The next time you open Windows Explorer, once again, it is the =
saved view of the first folder you open that determines how you view =
multiple folders.=20
Setting All Folders to the Same View
Some users want to have all their Windows Explorer folders set to the =
same view. In Windows 2000 Professional, the default setting is that any =
change made to a folder's view is automatically saved when you close the =
folder and is not applied to other folders. However, you can set all =
folders to the same view by using the Folder Options command as =
described in the following procedure.=20

To set all folders to the same view=20
1.. In My Computer or Windows Explorer, set the view to your =
2.. On the Tools menu, click Folder Options.=20
3.. In the Folder Options dialog box, click the View tab.=20
4.. Under Folder Views, click Like Current Folder.=20
Important The Remember each folder's view settings check box on the View =
tab of the Folder Options dialog box (see Figure 9.3) affects how the =
view settings of individual folders are applied and saved. For more =
information about the impact of clearing this check box, see =
"Understanding Saved Views and Browsing Folders" earlier in this =

Windows 2000 Resource Kit

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D

And check

HKCUSoftwareMicrosoftWindowsCurrentVersionPol iciesExplorer=20
Data type Range Default value=20
REG_DWORD 0 | 1 0 =20

Prevents users from saving certain changes to the=20
desktop. Users can change the desktop, but some changes,=20
such as the positions of open windows and the size and=20
position of the taskbar, are not saved when users log=20
off. Shortcuts placed on the desktop are always saved.

This entry stores the setting of the Don't save settings=20
at exit Group Policy. Group Policy adds this entry to the=20
registry with a value of 1 when you enable the policy. If=20
you disable the policy or set it to Not configured, Group=20
Policy deletes the entry from the registry and the system=20
behaves as though the value is 0.

Value Meaning=20
0 (or not in registry) The policy is disabled or=20
not configured. Changes to the desktop are saved.=20
1 The policy is enabled. Some changes to the desktop are not saved.=20

Windows 2000 Resource Kit Reference

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3 D=3D=3D=3D=3D=3D=3D=3D=3D=

Saved folder settings are stored in BagMRU. Defaults and =
network/removable drives are stored in Streams key (as everything was in =
earlier versions).=20

You have to do Apply To All while in a file folder.=20
For each type of object (File Folder, Control Panel, My Computer, etc) =
that you do an Apply to All in it's clsid and the settings are =
created/updated at=20
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre ntVersionExplorerStre=

{F3364BA0-65B9-11CE-A9BA-00AA004AE837} is ordinary folders, and other =
numbers are what ever they are (My Comp, Control Panel, etc - note My =
Docs is an ordinary folder). They only appear IF you do an apply to all =
in that type of object.

as well as a higher set of defaults at=20
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre ntVersionExplorerStre=

So the point being in the order that you do things. You want to do your =
overall default setting last. This is how I advised someone who asked

Can someone please tell me how to force Windows to keep=20
the seperate folder view settings I choose? I have=20
checked and rechecked the box in folder options for it to=20
remember, but it has no memory for that issue. To be more=20
specific; I want to always have the thumbnail view in My=20
Pictures and also in the Control Panel Dialog, but every=20
time I open them I have to manually set that view.

Set Control Panel how you want then Tools - View - Apply To All Folders. =
This sets the global default and the Control Panel type of objects =
defaults (but the system default remains the same - it can't be changed =
but all other defaults/settings override it). Then go to an ordinary =
folder (as My Pics is for this feature) and set it how you want all =
folders but CP. Then Tools - View - Apply To All Folders. This sets the =
global default and the file folder type of object defaults (CP's default =
settings will still override the global). Then set My Pics how you want =
it and do nothing else as we are saving it by the checkbox Remember =

DesktopMy CompC:Documents & Settingsuser nameMy DocsMy Pics
is a different setting to
DesktopMy CompMy DocsMy Pics

There is some searching for similar settings but the path used, if too =
different, means it won't find the settings for similar named folders.

The system defaults (and saved settings for individual folders already =
opened) are the only setting unless you've done an Apply To All, eg no =
global or type defaults.

Plus if you hold down control and click close while in a file folder it =
also updates=20
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre ntVersionExplorer=20

This is mainly setting irrelevent things except it holds the global =
sort, which all the others override. But File Open dialog boxes only use =
this setting, so it basically only affects sorting in File Open dialogs. =
But it seems that sometimes an earlier windows versions setting get =
written here and other settings then aren't saved

War on the Pachyderms Terrorists
"Maerko" wrote in message =
If Win Explorer can't remember the view of individual folders then=20
the sual fix is to delete some registry keys and raise the value in=20
a couple of other related keys.
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsShell NoRoamBagMRU]
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsShell NoRoamBags]
The entries on my taskbar menus forget their sequence. Kelly's=20
taskbar tool doesn't help. I have found only one registry key with=20
my taskbar menu's name in it. And it seems very similar to the=20
other two keys I mentioned above.=20
1003SoftwareMicrosoftWindowsShellNoRoamBagMRU 1113
Does anyone know if I can I delete something in this key and=20
"restart" the sort order of this taskbar menu's entries?
I am a bit reluctant to delete it because when I look at the=20
registry then this key is very deeply nested amongst all sorts of=20
keys with names of only 1 and 2 and 3 as their name! Theer must be=20
about 80 or 100.
Also, what is that long number near the beginning of the key?

I''m glad it works for you Sky. But that update relies on Live Update
working. They are refusing to deliver it any other way. And there have
been a lot of Norton KB 1806 errors with a broken LU and SP2.

Chad Harris

"Sky KIng" wrote in message
In article t,

Page 3 of 4.
Results 41...60 of 72