QuickBooks Error 2738: Windows Cannot Run VBScript During Install
QuickBooks Error 2738 stops an install because Windows cannot run the VBScript engine the setup needs; this page explains the triggers and the fix.
Error 2738 halts a QuickBooks Desktop installation or repair partway through setup. It is a Windows Installer failure, not damage inside your company file. The setup program runs small scripts as it works, and this error means Windows refused to start the engine those scripts need. Our engineers clear it regularly, and the cause is almost always something you can fix yourself.
What does the error message say?
The message appears in a dialog from the installer, usually early in setup. It reads:
Error 2738. Could not access VBScript run time for custom action.
Some builds show a slightly different prefix, such as "Internal Error 2738". The mention of VBScript run time is the constant part. After you close the dialog, the installation rolls back.
What does error 2738 mean?
Code 2738 comes from the Windows Installer service, not from QuickBooks itself, and it can affect any product that installs through that service. An installer package can carry custom actions: small jobs that run mid-setup to configure the machine. Many of those actions are written in VBScript.
When Windows Installer reaches a scripted action, it hands the script to vbscript.dll, the VBScript engine. If that engine is present but not correctly registered, the handoff fails, the action cannot run, and the installation aborts.
One detail matters on modern hardware. QuickBooks Desktop is a 32-bit program, so on a 64-bit edition of Windows it depends on the 32-bit engine copy stored in the SysWOW64 folder. A registration pointing at the wrong copy, or at nothing at all, produces this exact error.
What triggers error 2738?
Four situations account for nearly all the cases our engineers see:
- The engine is not registered. A registry cleanup utility, a failed Windows update, or an aggressive antivirus quarantine can strip the registration while leaving the file in place.
- A per-user registration shadows the machine-wide one. This follows installs that were run under different Windows accounts on the same computer over time.
- Scripting is switched off. Some security policies and endpoint protection suites disable Windows Script Host completely, which blocks scripted actions even when the engine is registered.
- System files are damaged. A corrupted component store can leave vbscript.dll in a state that no registration command can rescue.
How do you fix error 2738?
Work through the scenarios below in order. We have listed the most common fix first.
Register the VBScript engine
- Sign in to Windows with an administrator account.
- Press the Windows key, type cmd, right-click Command Prompt, and choose Run as administrator.
- On 64-bit Windows, run:
regsvr32 "%systemroot%\SysWOW64\vbscript.dll" - On 32-bit Windows, run:
regsvr32 "%systemroot%\System32\vbscript.dll" - A dialog should report that DllRegisterServer succeeded. Restart the computer, then run the QuickBooks installer again as administrator.
Remove a conflicting per-user registration
- Create a system restore point first, so the change can be undone.
- Press the Windows key, type regedit, and open Registry Editor as administrator.
- Navigate to
HKEY_CURRENT_USER\Software\Classes\CLSIDand look for this subkey:{B54F3741-5B07-11cf-A4B0-00AA004A55E8} - If it exists, export it to a file as a backup, then delete it.
- Close Registry Editor, repeat the registration steps above, and rerun the installer.
That subkey holds a per-user copy of the script engine registration. When it is present, the installer uses it in place of the correct machine-wide entry, and the scripted action fails.
Confirm that scripting is allowed
- In Registry Editor, go to
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings. If a value named Enabled is set to 0, change it to 1. Repeat the check under HKEY_CURRENT_USER. - In your antivirus or endpoint protection console, allow the QuickBooks installer and its temporary extraction folder to run without script blocking.
- Restart and run setup again.
Repair Windows system files
- Open Command Prompt as administrator and run:
sfc /scannow - When the scan finishes, restart, repeat the registration steps, and rerun the installer.
System File Checker replaces damaged system files with intact copies. The scan is slow, and an elevated prompt is required.
How can you keep error 2738 from coming back?
Install and update QuickBooks from an administrator account, so the engine registration stays machine-wide rather than per-user. Keep Windows Script Host enabled where your security posture allows; if policy demands it off, lift the block just long enough to install. Avoid registry cleanup utilities, which remove far more than they repair. Keep the folder you download the installer into on your antivirus whitelist as well.