Partilhar via


How I resolved Windows Installer error code 2738 on Vista while running light.exe from WiX v3.0

Recently, while attempting to build a Japanese MSI using WiX v3.0, I received an error message that looked like the following:

light.exe : error LGHT0217 : An unexpected external UI message was received: ????????????????????????????????????????????????????????????? ???? 2738 ???

I wanted to see the full text of this error message, so I temporarily changed the product language setting in my WXS file from 1041 (the LCID for Japanese) to 1033 (the LCID for English) and re-ran the build.  When I did that, the error message was more readable:

light.exe : error LGHT0217 : An unexpected external UI message was received: The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2738.

This message made more sense to me, so from there, I looked at the Windows Installer Error Messages reference for error code 2738 and found the following:

Could not access VBScript run time for custom action [2].

While attempting to narrow down this error further, I found a couple of useful blog posts.  As described in this blog post by Heath Stewart, error code 2738 can occur on Windows Vista systems (like the one I was using in the above scenario) if an MSI contains a script-based custom action and the VBScript runtime is registered in the HKEY_CURRENT_USER hive instead of or in addition to the HKEY_LOCAL_MACHINE hive.  Also, as described in this blog post by Bob Arnson, four of the Windows Installer Internal Consistency Evaluators (ICEs) are implemented in VBScript.  The offending ICEs are ICE08, ICE09, ICE32 and ICE61.

In my build output, I noticed that light.exe had reported some warnings for ICE03 before displaying this 2738 error.  From this, I made an educated guess that it was probably failing while running one of these four ICEs.  Then, I used some of the advice that I listed in one of my previous blog posts to unregister vbscript.dll and jscript.dll from HKEY_CURRENT_USER to resolve this error:

  1. Click on the Start menu, choose Run, type cmd and click OK
  2. To unregister the VBScript engine, run this command:  reg delete "HKCU\SOFTWARE\Classes\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}" /f
  3. To unregister the VBScript engine on a 64-bit OS, run this command:  reg delete "HKCU\SOFTWARE\Classes\Wow6432Node\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}" /f
  4. To unregister the JScript engine, run this command: reg delete "HKCU\SOFTWARE\Classes\CLSID\{F414C260-6AC0-11CF-B6D1-00AA00BBBB58}" /f
  5. To unregister the JScript engine on a 64-bit OS, run this command: reg delete "HKCU\SOFTWARE\Classes\Wow6432Node\CLSID\{F414C260-6AC0-11CF-B6D1-00AA00BBBB58}" /f

Once I did that, my build started working as expected.  I still do not know how this information ended up in HKEY_CURRENT_USER on my system, particularly because the same build worked correctly on the same machine a couple of days ago.  However, I am now back into a state where I can build successfully, and I know of a possible workaround to try if I end up with similar build issues in the future.

<update date="12/19/2011"> Added steps to unregister the VBScript and JScript engines on 64-bit OS's. </update>

Comments

  • Anonymous
    April 02, 2008
    Visual Studio 2005 running as a normal user writes it when certain packages are loaded as one offender. Visual Studio 2008 handles the scenario a bit differently and doesn't cause this issue.

  • Anonymous
    August 26, 2011
    Error code 2738 on Windows XP... can you please help me. Naleen naleen_bh@yahoo.co.in

  • Anonymous
    August 26, 2011
    Hi Naleen - On Windows XP, you can usually re-register vbscript.dll to solve this type of error.  To do that, you can run this command: regsvr32 vbscript.dll

  • Anonymous
    December 18, 2011
    Error code 2738 on Windows 7 with command: regsvr32 vbscript.dll ican't repair it ngoctho.info@gmail.com

  • Anonymous
    December 18, 2011
    Hi Ngoc Tho - Can you please try the unregistration commands listed in this blog post to see if they help in this scenario?  If this 2738 error still happens after runing those commands, then this could be a bug in the program you're trying to install, and you may need to contact the technical support team for the manufacturer of the program for further assistance.

  • Anonymous
    May 10, 2012
    Error code 2738on Vista 64 and I don't even have a camera and cannot get rid of all of these Facebook Sype Video Calling  items in my program list.

  • Anonymous
    November 22, 2013
    any guesses as to what could cause this installer error (in vista homeprem 32bit) to come up from some of microsoft's "fixit" tools, if the above keys are not present (inasmuch as regedit's search function can discern)? seems like I have something unknown (that doesn't show up in malware scans, either) interfering with vbscript and jscript somehow; my calender and stocks sidebar gadgets are also kaput, which I've seen linked to problems with those dlls.

  • Anonymous
    November 22, 2013
    The comment has been removed

  • Anonymous
    April 02, 2014
    You are the man sir!

  • Anonymous
    May 29, 2014
    when i installed WBS modeler in my computer ,it told me that something wrong and the code is 2738.so would you help me about this?thank you .

  • Anonymous
    May 29, 2014
    Hi i got an error 2738 while i installed WBS modeler - I'd suggest trying the workarounds listed at blogs.msdn.com/.../3151752.aspx and social.technet.microsoft.com/.../error-code-2738 to see if they help solve this problem.

  • Anonymous
    June 12, 2014
    Hey I had the same issue with my computer. I wasted my time on it for many days but finally I got a solution from this link www.microsoftliveassist.com

  • Anonymous
    September 17, 2014
    Hi i have faced the same error code working with office 365 after lots of try lastly got the solution from this link microsoftprosupport.com/office-2013-office-365-installation-troubleshooting-fix

  • Anonymous
    April 22, 2015
    Very useful .. Thanks a bunch you saved me a day. Some of the keys you mentioned I did not have it on my machine but found one of the key in HKCU and my build started working after deleted them.

  • Anonymous
    September 30, 2015
    Thanks Aaron!! It's brilliant. Now issue gets resolved for me. Thanks once again