Bad Kernel, COMDLG32.DLL file is linked to missing export kernel32.dll

I recently recieved an email from someone who had downloaded my software.  She said that she had recieved the following errors:
"Error Starting Program....The COMDLG32.DLL file is linked to missing export kernel32.dll GetSystemDefaultUILanguage"
"RUNDLL    Error loading powerprof.dll"
"RUNDLL   Error loading mmsys.cpl"
"Error occurred loading  c:\program files\outlook express\wabimp.dll  file not installed or corrupted"

She did not mention her system specs so I assume she is running Windows 98 (common Windows, I guess).  I didn't know what to do, so i told her to try sfc.exe.  I know my application overwrites older ocx and dll files, which includes the comdlg32.dll file, but it does not touch the kernel.  If you need to know, the software is at

Please help, this is urgent!
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

This article here describes the wabimp.dll as having been moved to the directory specified in your question.  Previously the file was somewhere else (Windows\System or Winnt\System32), so this gives an insight into the problem being to do with version control.

There are numerous questions that need to be asked to troubleshoot further.  What version of Windows she has, etc. which will pinpoint whether your software is taking her system back in time, or whether you are moving her too far forward without refreshing files.  I take it all files installed by you are registered by the installation utility, or by regservr32??

You have a serious problem with the installer routine.  I see that it is a freeware version, and I'm not sure what version checking this does to determine the opertating system before blindly overwriting system files without backing them up, but it installs a Windows XP SP1 version of the system file c:\windows\system\comdlg32.dll without noticing that a system is running windows 98 se.  This is the sole root of the problem experienced by your user.  Here's a progress report:

1. Installed your program and hoped to monitor it with "InstallWatch"
2. Rebooted when prompted and was hit with the following errors that indicated that my startup items from the registry "run" and "runservices" keys were not loading:

c:\program files\installwatch_pro_2.5\installwatch.exe
A device attached to the system is not functioning

Same for my Epson Status Monitor 3 background monitoring startup exe.

Same for powrprof.dll (Note: this is the correct file, not powerprof.dll as you stated)

Error starting program
The comdlg32.dll file is linked to missing export kernel32.dll: GetSystemDefaultUILanguage

3. Behind all those error messages, you have a dialog to enter the user name.  Cancelling out of this shows

Runtime error 339:
Component mscomctl.ocx or one of its dependencies is not correctly registered:
a file is missing or invalid.

4. Clicking "OK" closes screen to 2nd powrprof.dll rundll error.

6. MSCONFIG's startup entries remain unaffected

7. Unable to run Regedit from Start > Run or other means gives the comdlg32.dll error.  The same happens when double-clicking a .txt file, and a whole load of other standard functions.

8. Unable to inspect VCMUI (Version conflict manager) to see what file versions were backed up, that is IF any WERE backed up.  Same error.

9. Same error when trying to run regsvr32 to see if something has failed to register comdlg32.dll.

10. Attempting to run your installed program results in the Runtime error 339 again.

11. Uninstalled program from Add/Remove programs.
Chose to remove shared system files when asked:
c:\windows\system\SmartMenuXP.dl, SmartMenuXP.ocx, SmartNetButton.ocx, and SmartSubClass.dll.

12. Uninstall correctly removed program folder and shortcuts created.

13. Reboot after uninstall produces same errors.  In other words, none of the original files seem to have been backed up, or the uninstaller fails to restore the backed up files.

14. Unable to merge my backup .reg file to the registry due to same errors.

15. Restart in MS-DOS mode fails to restart.  System hangs, where I never had shutdown problems before.

16. Restored backup .reg file from DOS and restarted.  Same errors.

17. Looked at the versions of system files present.

rundll32.exe is the correct windows version
mscomctl.ocx shows version 6.01.9545 dated 24 April 2002
comdlg32.dll is version 6.00.2800.1106 (xpsp1.020828-19201)

18. Extracted version 4.72.3510.2300 from of my win98se cd on another computer.  Copied it to c:\windows\system in dos on the affected computer.

19. Windows starts properly with no errors, although there was a small glitch with my broadband dialup which may be unassociated.

I will have to look and see whether any ot the following may have previously updated this file to a more recent version, but the system seems to be functional for now:

Internet Explorer
Office 2000
Frontpage 2002

So, in summary, your program (or the installer) seems to be doing the following:

1. Failing to do a version check on the operating system
2. Installing and registering an alien .dll file that won't work in other windows versions
3. Failing to back up system files before overwriting existing ones.

I advise you to break the download link until you have corrected these issues, or you will receive more irate emails from users.



Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial

ee should do a AA+ grading with an answer as comprehensive as that.
Thank you, Dan.

Just one more possibly related issue that wasn't present prior to installing the program.

Internet Explorer 5.01.  Edit > "Find on this page" shows the following error message:

Microsoft Internet Explorer
An error has ocurred in this dialog
Error: 34
Incompatible version of the RPC Stub.

The "Find" dialog peeps out from behind the error msg, but closes when "OK" is clicked.

Possible cause, if this affects any users AND your program installs the specified file, is that it has installed another version of OLEAUT32.dll in c:\windows\system.

Possible solution:
Extract the original OLEAUT32.dll from the Win98 CD in DOS or run SFC in Windows to extract the named file and replace it.  Reboot required.

Alternatively, download Dcom98.exe.  Shut down and reboot to command prompt.  Rename OLEAUT32.dll to OLEAUT32.OLD.  Shut down and restart, ignoring the error about file not found.  Install Dcom98 and then reboot.

DCOM98.EXE Version 1.3 (1201 KB) 9/1/2004

Cause of problem:

The version off the Win98SE CD is 2.40.4275.  I currently have version 3.50.5016.0 which appears to have been installed by your program.  This is a Windows XP version of that file that is incompatible with Win98.  It wasn't introduced by any other installations that I can determine.

I look forward to finding more Windows XP file versions on my system when related errors pop up :-)

I hate being critical Dan, because I am NOT a software developer, but I have created my own installer packages and self-extracting distributions using a variety of programs.  In all of them I have used, there are options to enable "condition checking" and then select the files to install from a specified source according to the findings.  The simplest way to verify the operating system would be to retrieve the following values from the registry key:


"ProductName"  (eg. Microsoft Windows 98)
"VersionNumber" (eg. 4.10.2222)
"SubVersionNumber" (eg.  A )

Did you actually test this application in a Windows 98 environment?

Dan_FraserAuthor Commented:
This answer comes late, but yes, I tried it on Windows 98, with just the software, and it worked flawlessly.  I suppose that it was my installer, so that will be fixed.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows OS

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.