Code:
if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, pathToKey, 0, KEY_ALL_ACCESS, &hAppKey) == ERROR_SUCCESS){
						DWORD dwType = REG_SZ;
						DWORD buffSize = 255;
						
						DWORD dwTypeDW = REG_DWORD;
						DWORD buffSizeDW = sizeof(DWORD);
						
						//MessageBox(NULL, "Setting Listview Item", szTitle, MB_ICONINFORMATION | MB_OK);
						if (RegQueryValueEx(hAppKey, "mask",    0,	&dwTypeDW, (BYTE *) &rgFileInfo[item].masked, &buffSizeDW) != ERROR_SUCCESS){ 
							MessageBox(NULL, pathToKey, "Unable to open value", MB_OK);
						}
						if (rgFileInfo[item].masked){
							break;
						}
						if (RegQueryValueEx(hAppKey, "name",    0,	&dwType, (BYTE *) rgFileInfo[item].szName, &buffSize) != ERROR_SUCCESS){ 
							MessageBox(NULL, pathToKey, "Unable to open value", MB_OK);
						}
						
						if (strcmp(rgFileInfo[item].szRegName, "VUC") == 0){
							int isError = 0;						
							if (majorVersion != rgFileInfo[item].majorVersion){
								rgFileInfo[item].majorVersion = majorVersion;
								if (RegSetValueEx(hAppKey, "major", 0, dwTypeDW, (BYTE *) majorVersion, buffSizeDW) !=  ERROR_SUCCESS){
									isError = 1;
								}
							}
							if (minorVersion != rgFileInfo[item].minorVersion){
								rgFileInfo[item].minorVersion = minorVersion;
								if (RegSetValueEx(hAppKey, "minor", 0, dwTypeDW, (BYTE *) minorVersion, buffSizeDW) !=  ERROR_SUCCESS){
									isError = 1;
								}
							}
							if (releaseVersion != rgFileInfo[item].releaseVersion){
								rgFileInfo[item].releaseVersion = releaseVersion;
								if (RegSetValueEx(hAppKey, "release", 0, dwTypeDW, (BYTE *) releaseVersion, buffSizeDW) !=  ERROR_SUCCESS){
									isError = 1;
								}
							}
							if (buildVersion != rgFileInfo[item].buildVersion){
								rgFileInfo[item].buildVersion = buildVersion;
								if (RegSetValueEx(hAppKey, "build", 0, dwTypeDW, (BYTE *) buildVersion, buffSizeDW) !=  ERROR_SUCCESS){
									DisplayError("RegSetValueEx", __LINE__);
									isError = 1;
								}
							}
							_snprintf(rgFileInfo[item].szVer, sizeof(rgFileInfo[item].szVer) - 1, "%d.%d.%d", majorVersion, minorVersion, releaseVersion);
							if (isError){
								MessageBox(NULL, "Unable to set new versioning information", szTitle, MB_OK | MB_ICONERROR);
							}
						}else{
							RegQueryValueEx(hAppKey, "version", 0,	&dwType, (BYTE *) rgFileInfo[item].szVer, &buffSize); 
						}
I get:
---------------------------
Vectec Update Client (VUC)
---------------------------
RegSetValueEx (Release) failed with error 6 on line 321:

The handle is invalid.


---------------------------
OK
---------------------------