Hi
I have an application which can be installed on English, French, Japanese and German OS.
I have to identify non-Ascii characters in installation path. If installation path contains non-Ascii characters then application cannot be installed in that path. The problem is I have written a code which identifies if installation path contains non-Ascii characters.
Code:
LONG WINAPI CheckInstallDir4Unicode(MSIHANDLE hMsi)
{

	TCHAR szInstallDir[MAX_PATH];
	DWORD dwSize = MAX_PATH;
	
	
	// Get Installation directory STRING from msi
	MsiGetProperty(hMsi, _T("INSTALLDIR"),szInstallDir, &dwSize);

		
	//check for each character if it is ASCII.
	UINT i,val;
	



	for(i=0; szInstallDir[i];  i++)
	{ 
		
		val = (unsigned int )szInstallDir[i]; // ascii value of character at position i
		
		if(val <0 || val >127)   // CHECKING FOR ASCII VAL.
		{
			
			// POP A MESG THAT INSTALLATION PATH  CONTAINS
                        // NON-ASCII CHARACTER  AND BREAK
			break;
			
		}
		
	}
	
	return 1;


}

I test this code by giving non-Ascii characters in the installation path
such as: 奉孬艳昼臻哥棘

the code unicode checking code works fine when I run it on japanese XP VMware. but it does not work when I run this code on English xp VMware. I want the code should run in all platforms similarly. I dont know what I am missing in this code.