Windows Update Error Code 80243004

The Problem

In an attempt to update my Windows Server 2008 R2 server with Microsoft Visual Studio Team Foundation Server 2010 Service Pack 1 I received the error code:

Some updates were not installed
Failed: 1 update
Error(s) found:
Code 80243004 Windows Update encountered an unknown error.

The Fix

  1. Open the Taskbar Properties (Right-click the Taskbar, then select Properties)
    WindowsUpdate-Error-80243004
  2. From within the Taskbar tab, click the “Customize…” button
    WindowsTaskbarProperties
  3. The “Notification Area Icons” window will open. In this window, change the state of the “Always show all icons and notifications on the taskbar” checkbox. In other words, if your checkbox is already selected, then deselect it – likewise, if your checkbox is NOT already selected, then select it. I know this sounds like a weird fix, but I’ve witnessed this fix with my own eyes.
    AlwaysShowAllIconsAndNotificationsOnTheTaskbar
  4. Click the “OK” button
  5. In Windows Update, try to install the update(s) again.
    WindowsUpdate-Error-80243004-Fixed

Constant Special Item ID List (Windows Special Folders)

CSIDL

The CSIDL variables are useful for deploying to embedded applications such as Windows CE. A typical scenario where you would implement the CSIDL variable is when you define the Deployment Options of your project – i.e. In Visual Studio, right-click your project, then go to Properties > Devices. You will notice the “Output file folder:” option which specifies the directory path that your project will be deployed to. The example screenshot below shows the “Output file folder” option set using the CSIDL_STARTUP (the Windows Startup directory).

CSIDL

Note As of Windows Vista, these values have been replaced by KNOWNFOLDERID values. See that topic for a list of the new constants and their corresponding CSIDL values. For convenience, corresponding KNOWNFOLDERID values are also noted here for each CSIDL value.

The CSIDL system is supported under Windows Vista for compatibility reasons. However, new development should use KNOWNFOLDERID values rather than CSIDL values.

CSIDL (constant special item ID list) values provide a unique system-independent way to identify special folders used frequently by applications, but which may not have the same name or location on any given system. For example, the system folder may be “C:\Windows” on one system and “C:\Winnt” on another. These constants are defined in Shlobj.h. A subset of them is also defined in Shfolder.h.

Constant/value Description

CSIDL_ADMINTOOLS
FOLDERID_AdminTools
Version 5.0. The file system directory that is used to store administrative tools for an individual user. The MMC will save customized consoles to this directory, and it will roam with the user.

CSIDL_ALTSTARTUP
FOLDERID_Startup
The file system directory that corresponds to the user’s nonlocalized Startup program group. This value is recognized in Windows Vista for backward compatibility, but the folder itself no longer exists.

CSIDL_APPDATA
FOLDERID_RoamingAppData
Version 4.71. The file system directory that serves as a common repository for application-specific data. A typical path is C:\Documents and Settings\username\Application Data. This CSIDL is supported by the redistributable Shfolder.dll for systems that do not have the Microsoft Internet Explorer 4.0 integrated Shell installed.

CSIDL_BITBUCKET
FOLDERID_RecycleBinFolder
The virtual folder that contains the objects in the user’s Recycle Bin.

CSIDL_CDBURN_AREA
FOLDERID_CDBurning
Version 6.0. The file system directory that acts as a staging area for files waiting to be written to a CD. A typical path is C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\CD Burning.

CSIDL_COMMON_ADMINTOOLS
FOLDERID_CommonAdminTools
Version 5.0. The file system directory that contains administrative tools for all users of the computer.

CSIDL_COMMON_ALTSTARTUP
FOLDERID_CommonStartup
The file system directory that corresponds to the nonlocalized Startup program group for all users. This value is recognized in Windows Vista for backward compatibility, but the folder itself no longer exists.

CSIDL_COMMON_APPDATA
FOLDERID_ProgramData
Version 5.0. The file system directory that contains application data for all users. A typical path is C:\Documents and Settings\All Users\Application Data. This folder is used for application data that is not user specific. For example, an application can store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. This information will not roam and is available to anyone using the computer.

CSIDL_COMMON_DESKTOPDIRECTORY
FOLDERID_PublicDesktop
The file system directory that contains files and folders that appear on the desktop for all users. A typical path is C:\Documents and Settings\All Users\Desktop.

CSIDL_COMMON_DOCUMENTS
FOLDERID_PublicDocuments
The file system directory that contains documents that are common to all users. A typical path is C:\Documents and Settings\All Users\Documents.

CSIDL_COMMON_FAVORITES
FOLDERID_Favorites
The file system directory that serves as a common repository for favorite items common to all users.

CSIDL_COMMON_MUSIC
FOLDERID_PublicMusic
Version 6.0. The file system directory that serves as a repository for music files common to all users. A typical path is C:\Documents and Settings\All Users\Documents\My Music.

CSIDL_COMMON_OEM_LINKS
FOLDERID_CommonOEMLinks
This value is recognized in Windows Vista for backward compatibility, but the folder itself is no longer used.

CSIDL_COMMON_PICTURES
FOLDERID_PublicPictures
Version 6.0. The file system directory that serves as a repository for image files common to all users. A typical path is C:\Documents and Settings\All Users\Documents\My Pictures.

CSIDL_COMMON_PROGRAMS
FOLDERID_CommonPrograms
The file system directory that contains the directories for the common program groups that appear on the Start menu for all users. A typical path is C:\Documents and Settings\All Users\Start Menu\Programs.

CSIDL_COMMON_STARTMENU
FOLDERID_CommonStartMenu
The file system directory that contains the programs and folders that appear on the Start menu for all users. A typical path is C:\Documents and Settings\All Users\Start Menu.

CSIDL_COMMON_STARTUP
FOLDERID_CommonStartup
The file system directory that contains the programs that appear in the Startup folder for all users. A typical path is C:\Documents and Settings\All Users\Start Menu\Programs\Startup.

CSIDL_COMMON_TEMPLATES
FOLDERID_CommonTemplates
The file system directory that contains the templates that are available to all users. A typical path is C:\Documents and Settings\All Users\Templates.

CSIDL_COMMON_VIDEO
FOLDERID_PublicVideos
Version 6.0. The file system directory that serves as a repository for video files common to all users. A typical path is C:\Documents and Settings\All Users\Documents\My Videos.

CSIDL_COMPUTERSNEARME
FOLDERID_NetworkFolder
The folder that represents other computers in your workgroup.

CSIDL_CONNECTIONS
FOLDERID_ConnectionsFolder
The virtual folder that represents Network Connections, that contains network and dial-up connections.

CSIDL_CONTROLS
FOLDERID_ControlPanelFolder
The virtual folder that contains icons for the Control Panel applications.

CSIDL_COOKIES
FOLDERID_Cookies
The file system directory that serves as a common repository for Internet cookies. A typical path is C:\Documents and Settings\username\Cookies.

CSIDL_DESKTOP
FOLDERID_Desktop
The virtual folder that represents the Windows desktop, the root of the namespace.

CSIDL_DESKTOPDIRECTORY
FOLDERID_Desktop
The file system directory used to physically store file objects on the desktop (not to be confused with the desktop folder itself). A typical path is C:\Documents and Settings\username\Desktop.

CSIDL_DRIVES
FOLDERID_ComputerFolder
The virtual folder that represents My Computer, containing everything on the local computer: storage devices, printers, and Control Panel. The folder can also contain mapped network drives.

CSIDL_FAVORITES
FOLDERID_Favorites
The file system directory that serves as a common repository for the user’s favorite items. A typical path is C:\Documents and Settings\username\Favorites.

CSIDL_FONTS
FOLDERID_Fonts
A virtual folder that contains fonts. A typical path is C:\Windows\Fonts.

CSIDL_HISTORY
FOLDERID_History
The file system directory that serves as a common repository for Internet history items.

CSIDL_INTERNET
FOLDERID_InternetFolder
A virtual folder for Internet Explorer.

CSIDL_INTERNET_CACHE
FOLDERID_InternetCache
Version 4.72. The file system directory that serves as a common repository for temporary Internet files. A typical path is C:\Documents and Settings\username\Local Settings\Temporary Internet Files.

CSIDL_LOCAL_APPDATA
FOLDERID_LocalAppData
Version 5.0. The file system directory that serves as a data repository for local (nonroaming) applications. A typical path is C:\Documents and Settings\username\Local Settings\Application Data.

CSIDL_MYDOCUMENTS
FOLDERID_Documents
Version 6.0. The virtual folder that represents the My Documents desktop item. This value is equivalent to CSIDL_PERSONAL.

CSIDL_MYMUSIC
FOLDERID_Music
The file system directory that serves as a common repository for music files. A typical path is C:\Documents and Settings\User\My Documents\My Music.

CSIDL_MYPICTURES
FOLDERID_Pictures
Version 5.0. The file system directory that serves as a common repository for image files. A typical path is C:\Documents and Settings\username\My Documents\My Pictures.

CSIDL_MYVIDEO
FOLDERID_Videos
Version 6.0. The file system directory that serves as a common repository for video files. A typical path is C:\Documents and Settings\username\My Documents\My Videos.

CSIDL_NETHOOD
FOLDERID_NetHood
A file system directory that contains the link objects that may exist in the My Network Places virtual folder. It is not the same as CSIDL_NETWORK, which represents the network namespace root. A typical path is C:\Documents and Settings\username\NetHood.

CSIDL_NETWORK
FOLDERID_NetworkFolder
A virtual folder that represents Network Neighborhood, the root of the network namespace hierarchy.

CSIDL_PERSONAL
FOLDERID_Documents
Version 6.0. The virtual folder that represents the My Documents desktop item. This is equivalent to CSIDL_MYDOCUMENTS

Previous to Version 6.0. The file system directory used to physically store a user’s common repository of documents. A typical path is C:\Documents and Settings\username\My Documents. This should be distinguished from the virtual My Documents folder in the namespace. To access that virtual folder, use SHGetFolderLocation, which returns theITEMIDLIST for the virtual location, or refer to the technique described in Managing the File System.

CSIDL_PRINTERS
FOLDERID_PrintersFolder
The virtual folder that contains installed printers.

CSIDL_PRINTHOOD
FOLDERID_PrintHood
The file system directory that contains the link objects that can exist in the Printers virtual folder. A typical path is C:\Documents and Settings\username\PrintHood.

CSIDL_PROFILE
FOLDERID_Profile
Version 5.0. The user’s profile folder. A typical path is C:\Users\username. Applications should not create files or folders at this level; they should put their data under the locations referred to by CSIDL_APPDATA or CSIDL_LOCAL_APPDATA. However, if you are creating a new Known Folder the profile root referred to by CSIDL_PROFILE is appropriate.

CSIDL_PROGRAM_FILES
FOLDERID_ProgramFiles
Version 5.0. The Program Files folder. A typical path is C:\Program Files.

CSIDL_PROGRAM_FILESX86
FOLDERID_ProgramFilesX86

CSIDL_PROGRAM_FILES_COMMON
FOLDERID_ProgramFilesCommon
Version 5.0. A folder for components that are shared across applications. A typical path is C:\Program Files\Common. Valid only for Windows XP.

CSIDL_PROGRAM_FILES_COMMONX86
FOLDERID_ProgramFilesCommonX86

CSIDL_PROGRAMS
FOLDERID_Programs
The file system directory that contains the user’s program groups (which are themselves file system directories). A typical path is C:\Documents and Settings\username\Start Menu\Programs.

CSIDL_RECENT
FOLDERID_Recent
The file system directory that contains shortcuts to the user’s most recently used documents. A typical path is C:\Documents and Settings\username\My Recent Documents. To create a shortcut in this folder, use SHAddToRecentDocs. In addition to creating the shortcut, this function updates the Shell’s list of recent documents and adds the shortcut to the My Recent Documents submenu of the Start menu.

CSIDL_RESOURCES
FOLDERID_ResourceDir
Windows Vista. The file system directory that contains resource data. A typical path is C:\Windows\Resources.

CSIDL_RESOURCES_LOCALIZED
FOLDERID_LocalizedResourcesDir

CSIDL_SENDTO
FOLDERID_SendTo
The file system directory that contains Send To menu items. A typical path is C:\Documents and Settings\username\SendTo.

CSIDL_STARTMENU
FOLDERID_StartMenu
The file system directory that contains Start menu items. A typical path is C:\Documents and Settings\username\Start Menu.

CSIDL_STARTUP
FOLDERID_Startup
The file system directory that corresponds to the user’s Startup program group. The system starts these programs whenever any user logs on. A typical path is C:\Documents and Settings\username\Start Menu\Programs\Startup.

CSIDL_SYSTEM
FOLDERID_System
Version 5.0. The Windows System folder. A typical path is C:\Windows\System32.

CSIDL_SYSTEMX86
FOLDERID_SystemX86

CSIDL_TEMPLATES
FOLDERID_Templates
The file system directory that serves as a common repository for document templates. A typical path is C:\Documents and Settings\username\Templates.

CSIDL_WINDOWS
FOLDERID_Windows
Version 5.0. The Windows directory or SYSROOT. This corresponds to the %windir% or %SYSTEMROOT% environment variables. A typical path is C:\Windows.

Flags

CSIDL_FLAG_CREATE
KF_FLAG_CREATE
Version 5.0. Combine with another CSIDL to force the creation of the associated folder if it does not exist.

CSIDL_FLAG_DONT_UNEXPAND
KF_FLAG_DONT_UNEXPAND
Combine with another CSIDL constant to ensure the expansion of environment variables.

CSIDL_FLAG_DONT_VERIFY
KF_FLAG_DONT_VERIFY
Combine with another CSIDL constant, except for CSIDL_FLAG_CREATE, to return an unverified folder path with no attempt to create or initialize the folder.

CSIDL_FLAG_NO_ALIAS
KF_FLAG_NO_ALIAS
Combine with another CSIDL constant to ensure the retrieval of the true system path for the folder, free of any aliased placeholders such as %USERPROFILE%, returned by SHGetFolderLocation. This flag has no effect on paths returned by SHGetFolderPath.

CSIDL_FLAG_PER_USER_INIT

CSIDL_FLAG_MASK
A mask for any valid CSIDL flag value.

Go here for the original Microsoft Post on this topic.

Windows Shortcut Commands

The list below contains commands that you can enter into a “Run” window to quickly open applets.

This list is shortened version of Kioskea Network’s “Command prompts for Windows” list.

Control Panel
CONTROL: opens the control panel window
CONTROL ADMINTOOLS: opens the administrative tools
CONTROL FOLDERS: opens folder options
CONTROL INTERNATIONAL or INTL.CPL: opens Regional and Language option
CONTROL PRINTERS: opens faxes and printers available
APPWIZ.CPL: opens Add or Remove programs utility tool
MMSYS.CPL: opens Sound and Audio device Properties. Volume tab
SYSDM.CPL: opens System properties
TELEPHON.CPL: Opens phone and Modem options
CERTMGR.MSC: opens certificate management tool
COMPMGMT.MSC: opens the Computer management tool
DEVMGMT.MSC: opens Device Manager
EVENTVWR or EVENTVWR.MSC: opens Event Viewer
SERVICES.MSC: opens Service manager
GPEDIT.MSC: opens Group Policy utility tool
LUSRMGR.MSC: opens Local Users and Groups
SECPOL.MSC: opens local security settings
PERFMON or PERFMON.MSC: opens the Performance monitor
MDSCHED: opens memory diagnostics tools
REGEDIT or REGEDT32: opens Registry Editor
CLICONFG: opens SQL Server Client Network Utility
MSCONFIG: opens System Configuration Utility

Windows utility and applications
CHARMAP: opens Character Map
NOTEPAD: opens Notepad
CALC: opens Calculator
MSINFO32: Opens the System Information
Taskmgr : Opens the Windows Task Manager
CMD: opens a command prompt
Winver : Opens the window for your Windows version
Mstsc : opens the tool connection Remote Desktop

Disk management
DISKMGMT.MSC: opens disk management utility
CLEANMGR: opens disk drive clean up utility
DFRG.MSC: opens disk defragmenter
CHKDSK: complete analysis of disk partition
DISKPART: disk partitioning tool

Connection management
IPCONFIG (Requires a console window): list the configuration of IP addresses on your PC (for more information type IPCONFIG/? in the CMD menu)
INETCPL.CPL: opens internet properties
FIREWALL.CPL: opens windows firewall
NCPA.CPL: opens the “Network Connections” window

Add NetBios Exception to Windows XP Firewall

My SonicWall TZ150W network is configured such that the wired LAN lives on 10.10.7.0 and the wireless WLAN lives on 10.10.6.0.

Due to the fact that the LAN is on a different subnet than the WLAN, Windows XP Firewall blocks (by default) NetBios – more specifically, I am unable to connect to a computer that lives on the wired LAN from a computer that lives on the wireless LAN by the name of the computer. I am forced to use the IP Address of the computer(s) in order to connect to it.

Example:
Computer1 on the wired LAN has been given (via DHCP) a LAN IP of 10.10.7.100.
Computer2 on the WLAN has been given (via DHCP) a WLAN IP of 10.10.6.100.

When Computer2 attempts to connect to Computer1 in Windows Explorer via "\\Computer1", an error message is thrown that states:

Windows cannot find \\Computer1. Check the spelling and try again, or try searching for the item by clicking the Start button and then clicking Search.

The cause behind the error message is due to the Windows Firewall on Computer2 blocking NetBios. Since the firewall is blocking NetBios, Computer2 is unable to receive the broadcast of Computer1’s name.

To resolve this problem we need to add an Exception to Computer2’s firewall.

  1. Click Start > Run, type “firewall.cpl”, then hit OK.
  2. Click the Exceptions tab
  3. Enable the checkbox for “File and Printer Sharing”

    The File and Printer Sharing service uses NetBios and, therefore, includes the NetBios ports (UDP 137, UDP 138, and TCP 139).
  4. Click “File and Printer Sharing” so that it his highlighted, then click the “Edit” button.
  5. The “Edit a Service” window displays the ports that you will be allowing through the firewall – TCP 139, TCP 445, UDP 137, and UDP 138). Notice, however, that the Scope is defined as “Subnet”. This means that the firewall will only allow traffic for these ports if and only if the traffic is within the same subnet (i.e.  the WLAN on 10.10.6.0). We need to change the scope to allow for the LAN on 10.10.7.0 as well.

    Continuing on…
  6. For each port in the “Edit a Service” window you will need to do the following…
  7. Select the service Name, then click the “Change scope…” button
  8. Click the “Custom list:” radio button, then enter 10.10.6.0/23.
    This syntax resolves to 10.10.6.0/255.255.254.0 which means that the minimum IP can be 10.10.6.1 and the maximum IP can be 10.10.7.254. In other words, we are configuring the service to allow traffic through the firewall for anything that lives on the WLAN and the LAN. If your subnets are different than this example, you may find the IP Calculator to be a helpful tool for you to figure out what your custom scope is.
  9. Remember to do the above step for each port that is specified in the “Edit a Service” window.
  10. Close out of the firewall and try to connect to “Computer1” from “Computer2” by simply entering the “Computer1” name in the address bar of Windows Explorer. – Note: You may have to wait a minute or two for the broadcast from Computer1 to transmit to Computer2.

Keep in mind that if you would like to be able to connect to Computer2 from Computer1 via NetBios, you will probably need to add an exception to Computer1’s firewall as well.

Brand-new laptop battery doesn’t work!

I just received a brand-new laptop battery for my old-beater MPC Micron Transport T1200 machine.

Out of the box, I immediately installed the battery into the laptop, plugged in the power adapter, and booted up.

To my surprise, the OS read that the battery was at a 100% full charge. My initial thought was kudos to Skyline Engineering (the company that sold me the battery) – Very nice of them to go out of their way and send me a fully charged battery! Unfortunately, this was not the case.

After about 5 hours of the laptop being plugged in and turned on, I unplugged the power cable to test how much battery life I would get from this supposed 100% charged battery. As soon as I unplugged the power cable, the computer went dead – no power at all.

My sweet thoughts that I had toward Skyline quickly turned sour. I’m now thinking they sold me a defective battery which means I’ll have to go through the dreaded RMA process and what not. Ugh!

Wanting to avoid the RMA process, I first wanted to try a few things to see if I can get my battery to work. And, so I did!

In a flukey sorta way, I unplugged the power cable from the laptop, removed the battery, and held the power button down for about 30 seconds. Next, I installed the battery, then held down the laptop’s power button. With the power button still held down, I plugged in the power cable.

Immediately, the battery-charge indicator LED started blinking its amber message (denoting that the low-charged battery is charging). Strange, indeed! Prior to the flukey procedure, the LED was a solid green (indicating that the battery is fully charged). The fact that the LED was indicating that the battery was being charged, gave me hope that I won’t have to RMA that battery after all.

I continued on with booting up the machine and, sure enough, XP was reporting a 1% charge for the battery. I continued to let the battery charge up and noticed that it was steadily increasing in its charge.

It appears that the root of the problem (recall that the problem was was Brand-new laptop battery doesn’t work!) that the battery was, in fact, NOT charged at all. However, for some reason Windows XP was detecting a 100% charge which led me down the path of assuming Skyline sold me a defective battery – Not so! They simply sent me a battery with little to no battery charge.

By the way, not only was XP giving me a false report on the battery charge, it was also NOT charging the battery. Note that I had the laptop plugged in for at least 5 hours before I noticed that the battery was at a 1% charge, so I was certain that I wasn’t simply dealing with a scenario where I had to give the battery some time to charge up – After 5 hours, the battery should certainly have more than a 1% charge!

That was the long story to what could have been reduced to, simply: If you are having problems with a charge in your laptop battery, try the following procedure:

  1. Remove laptop battery
  2. Remove power cable from laptop
  3. Hold down laptop power button for 30 seconds
  4. Install laptop battery
  5. Hold down power button
  6. With power button still held down, plug in the power cable
  7. Let go of power button
  8. At this point, the Battery-Charge-Indicator light should be blinking amber (or red)
  9. Boot up computer and/or let the battery receive its full charge (i.e. Battery-Charge-Indicator should be a solid green or blue)
  10. Done!