MSIexec.exe returns code 1638

I am trying to install an MSI package that contains 3 merge modules, installed initially by "Visual Studio .net 2003" into "C:\Program files\common files\merge modules\" directory. These modules together install these DLLs:

mfc71.dll
mfc71u.dll
msvcr71.dll
msvcp71.dll

On one VMware system containing Japanese Windows 2000 server OS MSI returns error code 1638 when trying to re-install this package.

Per MSDN, this return code means that the same product of another version is already installed on OS. I see only one instance of MSI ProductCode for this package.

Has anybody encountered this MSI error code? What does it really mean?

I know that MSI applies fairly complex logic to file versioning, but what is product versioning?
[793 byte] By [eug_prog] at [2007-11-20 1:17:48]
# 1 Re: MSIexec.exe returns code 1638
Check your registry for some traces of it. You can always download a registry cleaner to see if that helps.
PeejAvery at 2007-11-10 3:40:08 >
# 2 Re: MSIexec.exe returns code 1638
... Check for traces of what? ProductCode? I scanned registry for this ProductCode, and I didn't find any "extra" products with this code.

Is there a way to check (e.g., in registry) whether some DLL was installed as part of another MSI package?
eug_prog at 2007-11-10 3:41:08 >
# 3 Re: MSIexec.exe returns code 1638
Well, you can search for the DLL name.
PeejAvery at 2007-11-10 3:42:06 >
# 4 Re: MSIexec.exe returns code 1638
Per registry, the DLLs I am trying to re-install are also referenced in another product, which has the following keys defined:

NoModify ~ 1
NoRemove ~ 1
NoRepair ~ 1

Thus, I can't remove that other product from the system at all. Is it possible that MSI installer erroneously looks at the other product instead of my product (that I try to re-install)?

Still, per MSI log, correct product is cached. What is product caching in MSI, by the way?
eug_prog at 2007-11-10 3:43:13 >
# 5 Re: MSIexec.exe returns code 1638
"Product caching" doesn't have a name, it is simply the temp files that Windows creates when installing files.

You can always try clearing all your temp files and running a registry cleaner.

Check FileHippo ( http://www.filehippo.com) for some utilities to do the cleaning.
PeejAvery at 2007-11-10 3:44:14 >
# 6 Re: MSIexec.exe returns code 1638
Well, I am limited by corporate standards. Our policies prohibit running even freeware, unless specifically approved by management.

Can you help with what MSI code 1638 means or, at least, where to find extensive MSI documentation on it?
eug_prog at 2007-11-10 3:45:13 >
# 7 Re: MSIexec.exe returns code 1638
Can you help with what MSI code 1638 means or, at least, where to find extensive MSI documentation on it?
You yourself already know what it means. You stated it in your first post.
Per MSDN, this return code means that the same product of another version is already installed on OS. I see only one instance of MSI ProductCode for this package.
That is exactly it. The only reason it would know this is because it searched the registry and found keys of other data.

You can go yourself searching, or you can ask your management for help, or you can ask for their permission to run freeware to check the registry.

The registry is insanely large and you searching by yourself will amount to nothing.
PeejAvery at 2007-11-10 3:46:17 >
# 8 Re: MSIexec.exe returns code 1638
Well, I have a bunch of other VMware systems, including another Japanese Windows 2000 server, and the problem doesn't happen on any of them. It is only one specific VMware that doesn't work...

OK, anyway, what utility do you recommend to run against the registry? Registry mechanic"?
eug_prog at 2007-11-10 3:47:14 >
# 9 Re: MSIexec.exe returns code 1638
Well, first off, I can't guarantee that a registry tool will find it.

I don't know what the limitations of Registry Mechanic are. I personally use RegCleaner STD. It simply cleans out keys from the registry that have invalid paths.
PeejAvery at 2007-11-10 3:48:12 >